/* 训练噜 · Workout 页面全量精修（严格参照 Home 页面设计系统与组件风格） */

@keyframes luluFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes orangeBounce {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px); }
}

/* ==========================================================================
   PART 1: 训练准备 / 未开练 / 选计划视图 (.lu .narrow)
   ========================================================================== */

.lu #app:has(.narrow) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: var(--paper, #f7f3e9) !important;
  background-image: radial-gradient(140% 280px at 85% 20px, rgba(245, 178, 82, 0.22) 0%, rgba(220, 238, 240, 0.32) 48%, transparent 72%) !important;
  background-repeat: no-repeat !important;
}

.lu .narrow {
  width: 100% !important;
  max-width: 390px !important;
  margin: 0 auto !important;
  padding: 8px 16px 112px !important;
  box-sizing: border-box !important;
  font-family: inherit;
  font-variant-numeric: tabular-nums;
}

/* 顶部品牌标头与问候区 */
.lu .narrow .hdr {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin: 6px 0 14px !important;
  position: relative !important;
  width: 100% !important;
}

.lu .narrow .hdr::before {
  content: "🌱 训练噜 ✦ 噜噜陪你练";
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 750;
  color: #41684b;
  background: #eaf1e3;
  border: 1px solid #d4e2c8;
  border-radius: 12px;
  padding: 4px 10px;
  margin-bottom: 8px;
  letter-spacing: 0.2px;
}

.lu .narrow .hdr > div {
  width: 100% !important;
  display: block !important;
}

.lu .narrow .hdr h1 {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--ink, #2a2a26) !important;
  letter-spacing: -0.6px !important;
  margin: 0 0 4px !important;
  line-height: 1.25 !important;
  display: flex !important;
  align-items: baseline !important;
}

.lu .narrow .hdr h1::after {
  content: "。";
  color: var(--orange, #ea922c);
  font-weight: 900;
  margin-left: 1px;
}

.lu .narrow .hdr .sub {
  font-size: 13px !important;
  color: var(--muted, #76736a) !important;
  margin: 2px 0 0 !important;
  font-weight: 550 !important;
}

/* 噜噜陪伴卡片（参照 Home 页面的 ticket-stub 签到卡） */
.lu .narrow .lulu-page-companion {
  background: linear-gradient(135deg, #dff0f2 0%, #e8f3ee 100%) !important;
  border: 1.5px solid #c3d8db !important;
  border-radius: 22px !important;
  box-shadow: 0 4px #c9dcde, inset 0 1.5px #ffffffd9, 0 8px 18px -8px rgba(50, 80, 80, 0.12) !important;
  padding: 12px 14px !important;
  margin: 14px 0 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.lu .narrow .lulu-page-companion > div {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.lu .narrow .lulu-page-companion .lulu-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  border: 1px solid #ffffff !important;
  box-shadow: 0 2px 6px rgba(58, 92, 96, 0.14) !important;
  color: #41684b !important;
  padding: 7px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.lu .narrow .lulu-page-companion p {
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
  color: #243d3b !important;
  margin: 0 !important;
}

.lu .narrow .lulu-page-companion img {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  animation: luluFloat 4.8s ease-in-out infinite !important;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.08)) !important;
}

/* 今日计划主卡片（严格参照 Home 页面的 .home-session） */
.lu .narrow .card {
  background: #ffffff !important;
  border: 1.5px solid #cbd8bd !important;
  border-radius: 26px !important;
  box-shadow: 0 4px #d8dfca, 0 10px 24px -10px rgba(60, 80, 50, 0.12) !important;
  padding: 16px 14px !important;
  margin: 18px 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
}

.lu .narrow .card > h2.accent {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #3f6042 !important;
  margin: 0 0 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.lu .narrow .card > h2.accent::after {
  content: "切换计划 ▾";
  font-size: 11px;
  font-weight: 650;
  color: #4c714f;
  background: #eef5e9;
  border: 1px solid #c8d9be;
  border-radius: 10px;
  padding: 3px 8px;
  white-space: nowrap;
}

/* 卡片内部渐变英雄区（参照 Home 页面的 .session-content） */
.lu .narrow .card > .row.between {
  background: linear-gradient(145deg, #d9ecee 0%, #e8efdb 60%, #d5e1b9 100%) !important;
  border: 1px solid #c6dbc0 !important;
  border-radius: 20px !important;
  padding: 18px 14px !important;
  margin-bottom: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
}

.lu .narrow .card > .row.between::before {
  content: "状态满格 · 按计划开练";
  position: absolute;
  top: 10px;
  left: 14px;
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #385b3b;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(4px);
  border: 1px solid #d0e0c8;
  border-radius: 9px;
  padding: 2px 7px;
}

.lu .narrow .card > .row.between > div {
  flex: 1 !important;
  min-width: 0 !important;
  margin-top: 18px !important;
}

.lu .narrow .card > .row.between .big {
  font-size: 24px !important;
  font-weight: 850 !important;
  color: #1e3321 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;
}

.lu .narrow .card > .row.between .muted.small {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #38593a !important;
  margin-top: 6px !important;
  background: rgba(255, 255, 255, 0.65) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  padding: 2px 8px !important;
  border-radius: 8px !important;
}

.lu .narrow .card > .row.between .lrow-i {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1px solid #d4e2c8 !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05) !important;
  display: grid !important;
  place-items: center !important;
  color: #41684b !important;
  font-size: 24px !important;
  flex-shrink: 0 !important;
  margin-top: 12px !important;
}

/* 核心行动按钮：Home 页同款蜂蜜胶囊按钮 */
.lu .narrow .card button.btn.primary {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  height: 54px !important;
  background: linear-gradient(180deg, #f8c26c 0%, #ea922c 100%) !important;
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 4px 0 #cb7217, 0 8px 22px rgba(234, 146, 44, 0.38) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px !important;
  position: relative !important;
  cursor: pointer !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .narrow .card button.btn.primary::before {
  content: "" !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 14'%3E%3Ccircle cx='10' cy='8' r='5.2' fill='%23f59329' stroke='%23bd5f0e' stroke-width='1.4'/%3E%3Ccircle cx='8.6' cy='6.4' r='1.3' fill='%23fff6e5'/%3E%3Ccircle cx='18' cy='7' r='6' fill='%23f59329' stroke='%23bd5f0e' stroke-width='1.4'/%3E%3Ccircle cx='15.2' cy='5.6' r='1.4' fill='%23fff6e5'/%3E%3Cpath d='M17.5 2.2C19.8 0.5 23.2 0.8 24.2 3.2C21.8 4.2 19.2 3.8 17.5 2.2Z' fill='%23487c4f' stroke='%232f5736' stroke-width='1'/%3E%3C/svg%3E") 50%/contain no-repeat !important;
  width: 34px !important;
  height: 14px !important;
  position: absolute !important;
  top: -10px !important;
  right: 22px !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.lu .narrow .card button.btn.primary::after {
  content: "" !important;
  pointer-events: none !important;
  border: 1.5px dashed rgba(255, 255, 255, 0.75) !important;
  border-radius: 14px !important;
  position: absolute !important;
  inset: 4px !important;
}

.lu .narrow .card button.btn.primary .icn {
  background: #ffffff !important;
  color: #ea922c !important;
  border-radius: 50% !important;
  width: 26px !important;
  height: 26px !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}

.lu .narrow .card button.btn.primary:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 2px 0 #cb7217, 0 4px 10px rgba(234, 146, 44, 0.25) !important;
}

/* 其他训练日列表 */
.lu .narrow h4.sec {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--ink, #2a2a26) !important;
  margin: 26px 0 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.lu .narrow h4.sec::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4a7a4f;
  display: inline-block;
}

.lu .narrow .list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.lu .narrow .list .item {
  background: #ffffff !important;
  border: 1.5px solid #e6dfd1 !important;
  border-radius: 20px !important;
  box-shadow: 0 3px 0 #ded7c7, 0 4px 12px rgba(60, 50, 30, 0.05) !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
  cursor: pointer !important;
}

.lu .narrow .list .item:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #ded7c7 !important;
}

.lu .narrow .list .item .lrow-i {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 14px !important;
  background: #eaf1e3 !important;
  border: 1px solid #d4e2c8 !important;
  color: #41684b !important;
  display: grid !important;
  place-items: center !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
}

.lu .narrow .list .item .grow {
  flex: 1 !important;
  min-width: 0 !important;
}

.lu .narrow .list .item .grow .tt {
  font-size: 15px !important;
  font-weight: 750 !important;
  color: #282824 !important;
  line-height: 1.3 !important;
}

.lu .narrow .list .item .grow .ss {
  font-size: 12px !important;
  color: #76736a !important;
  margin-top: 2px !important;
}

.lu .narrow .list .item .tag.acc {
  background: linear-gradient(180deg, #ffffff, #edf4e7) !important;
  border: 1.5px solid #c4d7ba !important;
  box-shadow: 0 2px 0 #b0c5a4 !important;
  color: #3e5f41 !important;
  font-weight: 750 !important;
  font-size: 12px !important;
  border-radius: 12px !important;
  padding: 6px 14px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.lu .narrow .list .item .tag.acc::after {
  content: "→";
  font-size: 12px;
  font-weight: 800;
}

/* 自由训练按钮（虚线卡片质感） */
.lu .narrow button.btn.plain {
  width: 100% !important;
  min-height: 52px !important;
  height: 52px !important;
  background: linear-gradient(135deg, #f7f9f2 0%, #edf4e7 100%) !important;
  border: 1.5px dashed #b7cba8 !important;
  border-radius: 18px !important;
  box-shadow: 0 3px 0 #cbdbbf, 0 4px 12px rgba(50, 70, 40, 0.06) !important;
  color: #3b5c3e !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 10px !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .narrow button.btn.plain .icn {
  color: #41684b !important;
  width: 18px !important;
  height: 18px !important;
}

.lu .narrow button.btn.plain:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #cbdbbf !important;
}


/* ==========================================================================
   PART 2: 专注训练执行视图 (.lu .premium-workout)
   ========================================================================== */

/* 1. 页面背景氛围感：温暖晨光与柔和草甸水色（解决：背景太空问题） */
.lu #app:has(.premium-workout),
.lu .screen.premium-workout,
.lu:has(.premium-workout) {
  background-color: var(--paper, #f7f3e9) !important;
  background-image: 
    radial-gradient(130% 280px at 85% 20px, rgba(254, 215, 145, 0.45) 0%, rgba(225, 243, 245, 0.38) 42%, rgba(247, 243, 233, 0) 70%),
    radial-gradient(90% 200px at 15% 120px, rgba(230, 245, 225, 0.35) 0%, transparent 60%) !important;
  background-repeat: no-repeat !important;
}

.lu .screen.premium-workout {
  --workout-ink: var(--ink, #25231f);
  --workout-muted: var(--muted, #767064);
  padding: 8px 18px 112px !important;
  font-variant-numeric: tabular-nums;
  max-width: 390px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* 顶部故事书浮动小光晕装饰 */
.lu .screen.premium-workout::before {
  content: "" !important;
  position: absolute !important;
  top: 12px !important;
  right: 28px !important;
  width: 96px !important;
  height: 96px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 215, 130, 0.38) 0%, rgba(255, 215, 130, 0) 70%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* 顶部导航条 */
.lu .premium-workout .workout-toolbar {
  gap: 12px !important;
  min-height: 44px !important;
  height: auto !important;
  align-items: center !important;
  position: relative !important;
  z-index: 2 !important;
}

.lu .premium-workout .workout-toolbar > span {
  flex: 1 !important;
  min-width: 0 !important;
  color: #223725 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

.lu .premium-workout .workout-toolbar small {
  display: block !important;
  color: #638268 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  margin-top: 1px !important;
}

.lu .premium-workout .workout-back {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1.5px solid #c9d8bf !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 0 #b8caa9 !important;
  color: #416044 !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .finish-session {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border: 1.5px solid #edd5b4 !important;
  border-radius: 13px !important;
  background: #fdf5e8 !important;
  box-shadow: 0 2px 0 #dfc297 !important;
  color: #9c5c20 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .workout-back:active:not(:disabled),
.lu .premium-workout .finish-session:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: none !important;
}

.lu .premium-workout .workout-back::before,
.lu .premium-workout .workout-back::after,
.lu .premium-workout .finish-session::before,
.lu .premium-workout .finish-session::after {
  display: none !important;
}

/* 动作名称与说明 */
.lu .premium-workout .premium-exercise-heading {
  margin-top: 10px !important;
  position: relative !important;
  z-index: 2 !important;
}

.lu .premium-workout .premium-exercise-heading h2 {
  margin-bottom: 2px !important;
  color: #22251f !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: anywhere !important;
}

.lu .premium-workout .premium-exercise-heading > div {
  gap: 10px !important;
  align-items: center !important;
  display: flex !important;
  justify-content: space-between !important;
}

.lu .premium-workout .premium-exercise-heading p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #767064 !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

.lu .premium-workout .exercise-guide {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border: 1px solid #c8d9be !important;
  border-radius: 12px !important;
  background: #eef5e9 !important;
  box-shadow: 0 2px 0 #bed2b2 !important;
  color: #436647 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  cursor: pointer !important;
}

/* 2. 噜噜专注焦点区（解决：设计不协调、不美观问题） */
.lu .premium-workout .workout-focus {
  margin: 10px 0 14px !important;
  border: 1.5px solid #c3d8db !important;
  border-radius: 26px !important;
  background: linear-gradient(180deg, #d8edf1 0%, #eaf3df 55%, #d5e4b9 100%) !important;
  box-shadow: 0 4px #c8dede, 0 8px 24px -8px rgba(60, 90, 80, 0.18) !important;
  padding: 12px 14px 12px !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 106px !important;
}

/* 草甸小山丘底衬 */
.lu .premium-workout .workout-focus::after {
  content: "" !important;
  position: absolute !important;
  bottom: -10px !important;
  left: -5% !important;
  right: -5% !important;
  height: 52px !important;
  background: #b8d896 !important;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

/* 精简紧凑的故事书表盘章 */
.lu .premium-workout .precision-dial {
  flex: 0 0 74px !important;
  width: 74px !important;
  height: 74px !important;
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
}

.lu .premium-workout .precision-ring {
  width: 74px !important;
  height: 74px !important;
  position: absolute !important;
  inset: 0 !important;
}

.lu .premium-workout .ring-guide {
  stroke: #c2dcdd !important;
  stroke-width: 4.5px !important;
}

.lu .premium-workout .ring-inner-guide {
  display: none !important;
}

.lu .premium-workout .ring-arc {
  stroke: #c2dcdd !important;
  stroke-width: 5px !important;
}

.lu .premium-workout .ring-arc.is-selected {
  stroke: var(--orange, #ea922c) !important;
  stroke-width: 6.5px !important;
  stroke-linecap: round !important;
}

.lu .premium-workout .ring-arc.is-done {
  stroke: var(--green, #488251) !important;
  stroke-width: 6.5px !important;
}

.lu .premium-workout .precision-center {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  z-index: 3 !important;
}

.lu .premium-workout .precision-center > span {
  color: #426b52 !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}

.lu .premium-workout .precision-center > strong {
  color: #223725 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: -1px !important;
}

.lu .premium-workout .precision-center > small {
  display: none !important;
}

/* 陪练提示气泡与吉祥物排布 */
.lu .premium-workout .workout-companion {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-left: 10px !important;
  position: relative !important;
  z-index: 2 !important;
}

.lu .premium-workout .workout-companion-copy {
  position: static !important;
  flex: 1 !important;
  min-width: 0 !important;
  transform: none !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1.5px solid #d0e2d4 !important;
  border-radius: 16px !important;
  padding: 8px 10px !important;
  box-shadow: 0 3px 8px rgba(60, 90, 70, 0.08) !important;
}

.lu .premium-workout .workout-companion-copy > strong {
  color: #223b28 !important;
  font-size: 13.5px !important;
  font-weight: 850 !important;
  display: block !important;
  margin-bottom: 2px !important;
  white-space: nowrap !important;
}

.lu .premium-workout .workout-companion-copy > span {
  color: #386054 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  display: block !important;
}

.lu .premium-workout .workout-lulu {
  position: static !important;
  flex: 0 0 68px !important;
  width: 68px !important;
  height: 76px !important;
  object-fit: contain !important;
  animation: luluFloat 4.8s ease-in-out infinite !important;
  filter: drop-shadow(0 6px 12px rgba(40, 70, 50, 0.15)) !important;
}

/* 3. 组别选择：独立卡片药丸排布（解决：不要连在一起，独立图标与动画） */
.lu .premium-workout .workout-set-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  padding: 16px 0 12px !important;
  overflow: visible !important;
}

.lu .premium-workout .set-selection {
  display: flex !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 10px 2px 4px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.lu .premium-workout .set-selection > button {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  border: 1.5px solid #dfd8cb !important;
  box-shadow: 0 3px 0 #cfc7b8, 0 4px 8px rgba(60, 50, 30, 0.04) !important;
  color: #4a5c43 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  position: relative !important;
  overflow: visible !important;
  display: grid !important;
  place-items: center !important;
  outline: none;
  cursor: pointer !important;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease !important;
}

.lu .premium-workout .set-selection > button:active:not(:disabled) {
  transform: translateY(2px) scale(0.96) !important;
  box-shadow: 0 1px 0 #cfc7b8 !important;
}

/* 当前选中组：独立蜂蜜虚线药丸 + 顶角 3D 浮动小橘子 */
.lu .premium-workout .set-selection > button.selected {
  border: 1.5px dashed #ea9d3c !important;
  background: linear-gradient(180deg, #fffdf8 0%, #fef5e6 100%) !important;
  color: #8c4c0e !important;
  font-weight: 850 !important;
  box-shadow: 0 4px 0 #dc9d48, 0 6px 14px rgba(234, 157, 60, 0.28) !important;
  transform: translateY(-2px) !important;
}

.lu .premium-workout .set-selection > button.selected::before {
  content: "🍊" !important;
  display: block !important;
  position: absolute !important;
  top: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.15)) !important;
  z-index: 10 !important;
  pointer-events: none !important;
  animation: orangeBounce 2.4s ease-in-out infinite !important;
}

.lu .premium-workout .set-selection > button.selected::after {
  display: none !important;
}

/* 已完成组：清爽薄荷药丸 + 绿色完成章 */
.lu .premium-workout .set-selection > button.is-done:not(.selected) {
  background: linear-gradient(180deg, #ffffff 0%, #e6f5e1 100%) !important;
  border: 1.5px solid #a4cca0 !important;
  box-shadow: 0 3px 0 #8ebd89 !important;
  color: #275b2e !important;
  font-weight: 750 !important;
}

.lu .premium-workout .set-selection > button.is-done:not(.selected)::before {
  content: "✓" !important;
  display: grid !important;
  place-items: center !important;
  position: absolute !important;
  top: -9px !important;
  right: -4px !important;
  width: 18px !important;
  height: 18px !important;
  background: #488251 !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

/* 独立 + 加组按钮（带幼苗顶芽与独立 3D 药丸） */
.lu .premium-workout .add-set-compact {
  flex: 0 0 auto !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f0f7ec 100%) !important;
  border: 1.5px dashed #a2c892 !important;
  box-shadow: 0 3px 0 #95b880, 0 4px 8px rgba(0, 0, 0, 0.04) !important;
  color: #385e3c !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  position: relative !important;
  overflow: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  outline: none;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .add-set-compact::before {
  content: "🌱" !important;
  display: block !important;
  position: absolute !important;
  top: -14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  z-index: 10 !important;
  pointer-events: none !important;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.12)) !important;
}

.lu .premium-workout .add-set-compact:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #95b880 !important;
}

/* 4. 重量与次数双色卡片（解决：元素太单调、加背景与重做按钮） */
.lu .premium-workout .premium-fields {
  gap: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #e2d7c5 !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 4px 0 #d9ccb6, 0 12px 28px -10px rgba(60, 45, 20, 0.1) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  position: relative !important;
  margin-bottom: 12px !important;
}

/* 重量分栏：暖杏底色 + 杠铃微水印 */
.lu .premium-workout .premium-field:first-child {
  min-width: 0 !important;
  padding: 16px 14px 18px !important;
  border: 0 !important;
  background: linear-gradient(160deg, #fffcf8 0%, #faefe0 60%, #f5e4cc 100%) !important;
  border-right: 1.5px dashed #ebd5b8 !important;
  color: #7b4e24 !important;
  position: relative !important;
  overflow: hidden !important;
}

.lu .premium-workout .premium-field:first-child::before {
  content: "⚖️" !important;
  position: absolute !important;
  bottom: 6px !important;
  right: 8px !important;
  font-size: 44px !important;
  line-height: 1 !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
  transform: rotate(-10deg) !important;
}

/* 次数分栏：晴空微水色 + 靶心微水印 */
.lu .premium-workout .premium-field:last-child {
  min-width: 0 !important;
  padding: 16px 14px 18px !important;
  border: 0 !important;
  background: linear-gradient(160deg, #f7fdfc 0%, #e5f6f4 60%, #d4eeec 100%) !important;
  border-right: 0 !important;
  color: #1f5761 !important;
  position: relative !important;
  overflow: hidden !important;
}

.lu .premium-workout .premium-field:last-child::before {
  content: "🎯" !important;
  position: absolute !important;
  bottom: 6px !important;
  right: 8px !important;
  font-size: 44px !important;
  line-height: 1 !important;
  opacity: 0.12 !important;
  pointer-events: none !important;
  transform: rotate(8deg) !important;
}

.lu .premium-workout .premium-field-label {
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative !important;
  z-index: 2 !important;
}

.lu .premium-workout .premium-field:first-child .premium-field-label::after {
  content: "✎ 编辑" !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #9c6225 !important;
  background: #fae7cd !important;
  border: 1px solid #ebd0ab !important;
  border-radius: 8px !important;
  padding: 2px 6px !important;
}

.lu .premium-workout .premium-field:last-child .premium-field-label::after {
  content: "✎ 编辑" !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #286068 !important;
  background: #d6edf0 !important;
  border: 1px solid #b7dcde !important;
  border-radius: 8px !important;
  padding: 2px 6px !important;
}

.lu .premium-workout .premium-field-label > span {
  color: inherit !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  opacity: 0.95 !important;
  background: rgba(255, 255, 255, 0.75) !important;
  padding: 1px 6px !important;
  border-radius: 6px !important;
}

.lu .premium-workout .field-value {
  width: 100% !important;
  min-height: 60px !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
  position: relative !important;
  z-index: 2 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.lu .premium-workout .premium-stepper {
  gap: 6px !important;
  margin-top: 4px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 2 !important;
}

.lu .premium-workout .premium-field:first-child .premium-stepper > span {
  color: #7b4e24 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 1px solid #e5d6be !important;
  border-radius: 9px !important;
  padding: 3px 6px !important;
  box-shadow: 0 1.5px 0 #d9c7ad !important;
}

.lu .premium-workout .premium-field:last-child .premium-stepper > span {
  color: #1f5761 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  background: #ffffff !important;
  border: 1px solid #badfe2 !important;
  border-radius: 9px !important;
  padding: 3px 6px !important;
  box-shadow: 0 1.5px 0 #a9d0d3 !important;
}

/* 萌系小熊耳 / 水豚耳步进器按钮 */
.lu .premium-workout .premium-stepper > button {
  position: relative !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 42px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  outline: none;
  font-size: 20px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  overflow: visible !important;
  display: grid !important;
  place-items: center !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .premium-field:first-child .premium-stepper > button {
  border: 1.5px solid #ddcca9 !important;
  background: linear-gradient(180deg, #ffffff 0%, #fdf5ea 100%) !important;
  color: #7b4e24 !important;
  box-shadow: 0 3px 0 #cbb792, 0 4px 8px rgba(0, 0, 0, 0.03) !important;
}

.lu .premium-workout .premium-field:first-child .premium-stepper > button::before,
.lu .premium-workout .premium-field:first-child .premium-stepper > button::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -4px !important;
  width: 8px !important;
  height: 6px !important;
  background: #ffffff !important;
  border: 1.5px solid #ddcca9 !important;
  border-bottom: none !important;
  border-radius: 6px 6px 0 0 !important;
  z-index: 1 !important;
}

.lu .premium-workout .premium-field:first-child .premium-stepper > button::before { left: 7px !important; }
.lu .premium-workout .premium-field:first-child .premium-stepper > button::after { right: 7px !important; }

.lu .premium-workout .premium-field:last-child .premium-stepper > button {
  background: linear-gradient(180deg, #ffffff 0%, #ebf7f6 100%) !important;
  border: 1.5px solid #b5d5d8 !important;
  box-shadow: 0 3px 0 #9ec6ca, 0 4px 8px rgba(0, 0, 0, 0.03) !important;
  color: #2b5e66 !important;
}

.lu .premium-workout .premium-field:last-child .premium-stepper > button::before,
.lu .premium-workout .premium-field:last-child .premium-stepper > button::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -4px !important;
  width: 8px !important;
  height: 6px !important;
  background: #ffffff !important;
  border: 1.5px solid #b5d5d8 !important;
  border-bottom: none !important;
  border-radius: 6px 6px 0 0 !important;
  z-index: 1 !important;
}

.lu .premium-workout .premium-field:last-child .premium-stepper > button::before { left: 7px !important; }
.lu .premium-workout .premium-field:last-child .premium-stepper > button::after { right: 7px !important; }

.lu .premium-workout .premium-field:first-child .premium-stepper > button:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #cbb792 !important;
}

.lu .premium-workout .premium-field:last-child .premium-stepper > button:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #9ec6ca !important;
}

/* 5. 上次参考与自动休息状态条（解决：相比之前缺了一些东西） */
#root.lu .screen.premium-workout .workout-status-strip,
.lu .premium-workout .workout-status-strip {
  margin: 4px 0 12px !important;
  padding: 10px 14px !important;
  border: 1.5px dashed #c9d8bf !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 2px 8px rgba(60, 50, 30, 0.03) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

#root.lu .screen.premium-workout .workout-status-strip .workout-reference,
.lu .premium-workout .workout-status-strip .workout-reference {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #736d5e !important;
  font-weight: 650 !important;
}

.lu .premium-workout .workout-status-strip .workout-reference::before {
  content: "📋" !important;
  font-size: 13px !important;
}

.lu .premium-workout .workout-status-strip .workout-reference strong {
  color: #2b271f !important;
  font-weight: 850 !important;
  margin-left: 2px !important;
}

#root.lu .screen.premium-workout .workout-status-strip .workout-feedback,
.lu .workout-status-strip .workout-feedback,
.lu .premium-workout .workout-status-strip .workout-feedback {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  color: #2d5d36 !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #eef6ec !important;
  border: 1px solid #cce2ca !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
}

.lu .premium-workout .workout-status-strip .workout-feedback::before {
  content: "⏱️" !important;
  font-size: 12px !important;
}

/* 6. 次级操作按钮（解决：内容太空、太素、跟主题不搭） */
.lu .premium-workout .workout-secondary-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin: 4px 0 14px !important;
}

.lu .premium-workout .workout-secondary-actions > span {
  display: none !important;
}

/* 手动休息 */
.lu .premium-workout .workout-secondary-actions > button:first-child {
  position: relative !important;
  overflow: visible !important;
  min-height: 52px !important;
  padding: 10px 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #edf6e8 100%) !important;
  border: 1.5px solid #bdd5b4 !important;
  box-shadow: 0 3px 0 #a2c297, 0 6px 14px rgba(50, 80, 40, 0.08) !important;
  color: #2b5630 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .workout-secondary-actions > button:first-child::before {
  content: "🌱" !important;
  display: block !important;
  position: absolute !important;
  top: -12px !important;
  right: 18px !important;
  font-size: 14px !important;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.15)) !important;
  pointer-events: none !important;
}

.lu .premium-workout .workout-secondary-actions > button:first-child:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #a2c297 !important;
}

/* 切换动作 */
.lu .premium-workout .workout-secondary-actions > button:last-child {
  position: relative !important;
  overflow: visible !important;
  min-height: 52px !important;
  padding: 10px 14px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fdf5e7 100%) !important;
  border: 1.5px solid #ebd4b3 !important;
  box-shadow: 0 3px 0 #d9be95, 0 6px 14px rgba(90, 60, 30, 0.08) !important;
  color: #8c4c0e !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

.lu .premium-workout .workout-secondary-actions > button:last-child::before {
  content: "🍊" !important;
  display: block !important;
  position: absolute !important;
  top: -12px !important;
  right: 18px !important;
  font-size: 14px !important;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.15)) !important;
  pointer-events: none !important;
}

.lu .premium-workout .workout-secondary-actions > button:last-child:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 1px 0 #d9be95 !important;
}

/* 7. 本次记录手账手袋与留白补全（解决：这里太空了） */
.lu .premium-workout .workout-log {
  border: 1.5px solid #ded5c4 !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 3px 0 #cfc7b8, 0 8px 20px rgba(60, 50, 30, 0.04) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  transition: box-shadow 0.2s ease !important;
}

.lu .premium-workout .workout-log summary {
  font-weight: 850 !important;
  color: #2b271f !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  cursor: pointer !important;
}

.lu .premium-workout .workout-log:not([open])::after {
  content: "✨ 每一组努力，噜噜都在手账里认真记好啦 ✦ 点击展开查看明细" !important;
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #8c826e !important;
  padding: 10px 14px 12px !important;
  background: rgba(250, 246, 237, 0.9) !important;
  border-top: 1px dashed #ebd9c0 !important;
}

/* 底部空隙填充：噜噜陪练贴士 */
.lu .screen.premium-workout::after {
  content: "🌱 噜噜陪练贴士：下放吸气感受胸肌拉伸，推起呼气顶峰收缩~" !important;
  display: block !important;
  margin-top: 8px !important;
  padding: 11px 16px !important;
  background: #fbf6ec !important;
  border: 1.5px dashed #ebd9c0 !important;
  border-radius: 16px !important;
  color: #7b6238 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: 0 2px 6px rgba(60, 50, 30, 0.03) !important;
}

/* 8. 底部主操作区与 Honey Stitch 按钮（解决：出戏不搭问题） */
.lu .training-action-dock,
.lu:has(.premium-workout) .training-action-dock,
#root.lu .training-action-dock {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  max-width: 390px !important;
  margin: 0 auto !important;
  padding: 12px 18px calc(14px + env(safe-area-inset-bottom, 18px)) !important;
  background: linear-gradient(180deg, rgba(247, 243, 233, 0) 0%, rgba(247, 243, 233, 0.92) 32%, rgba(247, 243, 233, 0.99) 100%) !important;
  border-top: none !important;
  box-shadow: none !important;
  backdrop-filter: blur(14px) !important;
  z-index: 100 !important;
  box-sizing: border-box !important;
}

.lu .training-action-dock .complete-set-button,
.lu:has(.premium-workout) .training-action-dock .complete-set-button,
#root.lu .training-action-dock .complete-set-button {
  width: 100% !important;
  min-height: 56px !important;
  height: 56px !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, #fbb84c 0%, #f19626 100%) !important;
  border: 2px solid #bd5f0e !important;
  box-shadow: 0 4px 0 #9b4703, 0 10px 22px rgba(241, 150, 38, 0.35) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: 0.3px !important;
  position: relative !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  overflow: visible !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease !important;
}

/* 顶角矢量连枝小橘子 */
.lu .training-action-dock .complete-set-button::before,
.lu:has(.premium-workout) .training-action-dock .complete-set-button::before,
#root.lu .training-action-dock .complete-set-button::before {
  content: "" !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 14'%3E%3Ccircle cx='10' cy='8' r='5.2' fill='%23f59329' stroke='%23bd5f0e' stroke-width='1.4'/%3E%3Ccircle cx='8.6' cy='6.4' r='1.3' fill='%23fff6e5'/%3E%3Ccircle cx='18' cy='7' r='6' fill='%23f59329' stroke='%23bd5f0e' stroke-width='1.4'/%3E%3Ccircle cx='15.2' cy='5.6' r='1.4' fill='%23fff6e5'/%3E%3Cpath d='M17.5 2.2C19.8 0.5 23.2 0.8 24.2 3.2C21.8 4.2 19.2 3.8 17.5 2.2Z' fill='%23487c4f' stroke='%232f5736' stroke-width='1'/%3E%3C/svg%3E") 50%/contain no-repeat !important;
  width: 34px !important;
  height: 14px !important;
  position: absolute !important;
  top: -10px !important;
  right: 24px !important;
  z-index: 5 !important;
  pointer-events: none !important;
}

/* 内层精致虚线缝线 */
.lu .training-action-dock .complete-set-button::after,
.lu:has(.premium-workout) .training-action-dock .complete-set-button::after,
#root.lu .training-action-dock .complete-set-button::after {
  content: "" !important;
  pointer-events: none !important;
  border: 1.5px dashed rgba(255, 255, 255, 0.75) !important;
  border-radius: 18px !important;
  position: absolute !important;
  inset: 3px !important;
}

.lu .training-action-dock .complete-set-button:active:not(:disabled),
.lu:has(.premium-workout) .training-action-dock .complete-set-button:active:not(:disabled),
#root.lu .training-action-dock .complete-set-button:active:not(:disabled) {
  transform: translateY(2px) !important;
  box-shadow: 0 2px 0 #9b4703, 0 4px 12px rgba(241, 150, 38, 0.25) !important;
}


/* ==========================================================================
   PART 3: 夜间深色模式 (html[data-theme="dark"])
   ========================================================================== */

html[data-theme="dark"] .lu #app:has(.narrow),
html[data-theme="dark"] .lu #app:has(.premium-workout) {
  background-color: var(--paper, #20261f) !important;
  background-image: radial-gradient(140% 280px at 85% 20px, rgba(238, 181, 111, 0.12) 0%, rgba(45, 73, 80, 0.18) 48%, transparent 72%) !important;
}

html[data-theme="dark"] .lu .narrow .hdr::before {
  color: #c0dcb2;
  background: #33442e;
  border-color: #4b5f44;
}

html[data-theme="dark"] .lu .narrow .hdr h1 {
  color: #f2efdf !important;
}

html[data-theme="dark"] .lu .narrow .hdr .sub {
  color: #b1b6a5 !important;
}

html[data-theme="dark"] .lu .narrow .lulu-page-companion {
  background: linear-gradient(135deg, #2d4247 0%, #2b3c37 100%) !important;
  border-color: #41595d !important;
  box-shadow: 0 4px #1c292c, inset 0 1.5px rgba(255, 255, 255, 0.08) !important;
}

html[data-theme="dark"] .lu .narrow .lulu-page-companion .lulu-icon {
  background: #364841 !important;
  border-color: #485c54 !important;
  color: #aed6b4 !important;
}

html[data-theme="dark"] .lu .narrow .lulu-page-companion p {
  color: #e5f0ec !important;
}

html[data-theme="dark"] .lu .narrow .card {
  background: #2b322a !important;
  border-color: #414a3c !important;
  box-shadow: 0 4px #1d231c !important;
}

html[data-theme="dark"] .lu .narrow .card > h2.accent {
  color: #b9d3a6 !important;
}

html[data-theme="dark"] .lu .narrow .card > h2.accent::after {
  background: #35442f;
  border-color: #4b5e43;
  color: #c4dcb3;
}

html[data-theme="dark"] .lu .narrow .card > .row.between {
  background: linear-gradient(145deg, #2b4850 0%, #3a4b33 100%) !important;
  border-color: #4a5c43 !important;
}

html[data-theme="dark"] .lu .narrow .card > .row.between::before {
  background: rgba(40, 55, 45, 0.9);
  border-color: #53694f;
  color: #cbe3bf;
}

html[data-theme="dark"] .lu .narrow .card > .row.between .big {
  color: #f2efdf !important;
}

html[data-theme="dark"] .lu .narrow .card > .row.between .muted.small {
  color: #b9d3a6 !important;
  background: rgba(40, 55, 45, 0.8) !important;
  border-color: #53694f !important;
}

html[data-theme="dark"] .lu .narrow .card > .row.between .lrow-i {
  background: #344330 !important;
  border-color: #4b5e45 !important;
  color: #c2deb3 !important;
}

html[data-theme="dark"] .lu .narrow .list .item {
  background: #2b322a !important;
  border-color: #414a3c !important;
  box-shadow: 0 3px 0 #1e241d !important;
}

html[data-theme="dark"] .lu .narrow .list .item .lrow-i {
  background: #344330 !important;
  border-color: #4b5e45 !important;
  color: #c2deb3 !important;
}

html[data-theme="dark"] .lu .narrow .list .item .grow .tt {
  color: #f2efdf !important;
}

html[data-theme="dark"] .lu .narrow .list .item .grow .ss {
  color: #b1b6a5 !important;
}

html[data-theme="dark"] .lu .narrow .list .item .tag.acc {
  background: linear-gradient(180deg, #384833, #2f3e2a) !important;
  border-color: #546a4a !important;
  box-shadow: 0 2px 0 #212c1d !important;
  color: #c9e2be !important;
}

html[data-theme="dark"] .lu .narrow button.btn.plain {
  background: linear-gradient(135deg, #2d382b 0%, #263325 100%) !important;
  border-color: #4a5c43 !important;
  box-shadow: 0 3px 0 #1d261c !important;
  color: #c9e2be !important;
}

html[data-theme="dark"] .lu .premium-workout {
  --wk-peach: #493c2c;
  --wk-peach-ink: #f3d7a5;
  --wk-sky: #2d4950;
  --wk-sky-ink: #c0e3e7;
  --wk-green: #35442e;
  --wk-green-ink: #d6e6bf;
  --wk-key-edge: #718563;
  --wk-key-base: #253020;
}

html[data-theme="dark"] .lu .premium-workout .workout-back {
  background: #2b322a !important;
  border-color: #485c43 !important;
  box-shadow: 0 2px 0 #1e261d !important;
  color: #c0deb2 !important;
}

html[data-theme="dark"] .lu .premium-workout .finish-session {
  background: #3e3325 !important;
  border-color: #5e4c35 !important;
  box-shadow: 0 2px 0 #261f16 !important;
  color: #f3d7a5 !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-focus {
  background: linear-gradient(135deg, #2b4850, #3c4c33) !important;
  border-color: #41595d !important;
  box-shadow: 0 4px #1c292c !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-focus::after {
  background: #2b3a28 !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-companion-copy {
  background: rgba(35, 45, 36, 0.9) !important;
  border-color: #4b5d4b !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-companion-copy > strong {
  color: #e5f0df !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-companion-copy > span {
  color: #b7cebf !important;
}

html[data-theme="dark"] .lu .premium-workout .set-selection > button {
  background: #2b322a !important;
  border-color: #414a3c !important;
  box-shadow: 0 3px 0 #1b211a !important;
  color: #c4d7b8 !important;
}

html[data-theme="dark"] .lu .premium-workout .set-selection > button.selected {
  border-color: #836d4c !important;
  background: var(--wk-peach) !important;
  color: var(--wk-peach-ink) !important;
  box-shadow: 0 3px 0 #322617 !important;
}

html[data-theme="dark"] .lu .premium-workout .set-selection > button.is-done:not(.selected) {
  background: #2c3c28 !important;
  border-color: #4d6645 !important;
  color: #badeb1 !important;
}

html[data-theme="dark"] .lu .premium-workout .add-set-compact {
  background: #2b322a !important;
  border-color: #4b5d44 !important;
  box-shadow: 0 3px 0 #1b221a !important;
  color: #c4deb9 !important;
}

html[data-theme="dark"] .lu .premium-workout .premium-fields {
  background: #2b322a;
  border-color: #414a3c;
  box-shadow: 0 4px #1d231c;
}

html[data-theme="dark"] .lu .premium-workout .premium-field {
  background: linear-gradient(180deg, #383025 0%, #2b322a 100%) !important;
  border-right-color: #4c4132 !important;
  color: #f3d7a5;
}

html[data-theme="dark"] .lu .premium-workout .premium-field + .premium-field {
  background: linear-gradient(180deg, #28373b 0%, #2b322a 100%) !important;
  color: #c0e3e7;
}

html[data-theme="dark"] .lu .premium-workout .premium-stepper > button {
  background: #383126 !important;
  border-color: #836d4c !important;
  box-shadow: 0 3px 0 #241e17 !important;
  color: #f3d7a5 !important;
}

html[data-theme="dark"] .lu .premium-workout .premium-stepper > button::before,
html[data-theme="dark"] .lu .premium-workout .premium-stepper > button::after {
  background: #383126 !important;
  border-color: #836d4c !important;
}

html[data-theme="dark"] .lu .premium-workout .premium-field + .premium-field .premium-stepper > button {
  background: #28363a !important;
  border-color: #63868c !important;
  box-shadow: 0 3px 0 #182326 !important;
  color: #c0e3e7 !important;
}

html[data-theme="dark"] .lu .premium-workout .premium-field + .premium-field .premium-stepper > button::before,
html[data-theme="dark"] .lu .premium-workout .premium-field + .premium-field .premium-stepper > button::after {
  background: #28363a !important;
  border-color: #63868c !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-status-strip {
  border-color: #495443 !important;
  background: rgba(43, 50, 42, 0.8) !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-status-strip .workout-reference {
  color: #b1b8a5 !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-status-strip .workout-reference strong {
  color: #f2efdf !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-secondary-actions > button {
  background: linear-gradient(180deg, #33432e 0%, #293625 100%) !important;
  color: #d6e6bf !important;
  border-color: #556c4d !important;
  box-shadow: 0 3px 0 #1d261a !important;
}

html[data-theme="dark"] .lu .premium-workout .workout-secondary-actions > button > svg {
  background: #3e5337;
}

html[data-theme="dark"] .lu .premium-workout .workout-log {
  background: #2b322a;
  border-color: #414a3c;
  box-shadow: 0 3px 0 #1d231c;
}

html[data-theme="dark"] .lu:has(.premium-workout) .training-action-dock::before {
  background: linear-gradient(180deg, rgba(32, 38, 31, 0) 0%, rgba(32, 38, 31, 0.95) 28%, #20261f 100%);
}

/* 响应式与无障碍 */
@media (max-width: 430px) {
  .lu:has(.premium-workout) .lulu-device-status,
  .lu:has(.premium-workout) .lulu-home-indicator { left: 0; right: 0; }
  .lu:has(.premium-workout) .training-action-dock { left: 16px; right: 16px; }
}

@media (max-width: 359px) {
  .lu .premium-workout,
  .lu .narrow { padding-inline: 12px !important; }
  .lu .premium-workout .workout-lulu { display: none; }
  .lu .premium-workout .premium-field,
  .lu .premium-workout .premium-field + .premium-field { padding-inline: 10px; }
  .lu .premium-workout .premium-stepper > span { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .lu .premium-workout *,
  .lu .narrow *,
  .lu:has(.premium-workout) .training-action-dock * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
