@charset "UTF-8";
/* ============================================================================
 * 词卷 V5.2 · 手机核心层 20-ws-v5-mobile.css（≤768px）—— app/21-ws-v5-mobile.js 的同伴
 * ----------------------------------------------------------------------------
 * 范围（DESIGN-V5.2 §8 / §11.1）：顶条 .v5-topbar-m / chip 横滑行 .v5-chiprow / 首页 / 学习页 /
 * 底栏 .v5-tabbar / 「⋯全部」抽屉（一期面板的手机形态）/ 状态栏遮罩 / 页面底部让位。
 * 计划 · 词库 · 记录 · 成就 · 我的 · 设置 六页归 24-ws-v5-mobile-pages.css；弹窗皮肤归 22-ws-v5-overlays.css。
 *
 * 铁律：
 *  1. 每一条选择器都以 html.ws-v5 打头（隔离门）；切回旧版（ws_ui_v5=off）这一层等于不存在。
 *  2. 颜色只用 --v5-* 桥接令牌（16-ws-v5.css §1）；字号只用 --v5-fs-*（§3 九档）。
 *     （唯一例外：.v5-chip 的 13px 是 16 号组件定义的值，这里为了盖过旧药丸规则原样复述。）
 *  3. 组件类（.v5-card/.v5-btn-primary/.v5-btn-ghost/.v5-chip/.v5-stat/.v5-bar/.v5-tag/.v5-cal/.v5-dialog/.v5-sheet）
 *     来自 16；旧节点上带 id/!important 的老规则压得过 16 的裸类，所以关键属性在这里带 html.ws-v5 四连 + !important 复述一遍。
 *  4. 一期 16 的 `html.ws-v5 .wsv5{display:none!important}` 在窄屏关掉了 .wsv5-stage / .wsv5-mask，这里接管它们。
 *  5. 已知的坑（都踩过，别删）：
 *     · ui-polish-apple `[class*="pill"] / [class*="tag"] / [class*="card"]` 会把名字里带这些字的容器做成胶囊 → 圆角/内边距/裁切要显式归零；
 *     · .grades 不许写 display（主脚本靠行内 display:none 在揭晓前藏判分键）；
 *     · 「到期复习」的 .mp-label 是 font-size:0 + ::after「复习巩固」，绝不能把 font-size 改回去；
 *     · 词头字号由站点 fitStudyWord() 写行内（≤44），这里只在它写 44 时按 §3 压到 40，不写死；
 *     · 安全区只让一次：底栏 / 动作区自己 padding-bottom 让，页面外壳不再叠加。
 * ==========================================================================*/

/* ==================== 0. 注入节点默认不出现（769px 以上这一层等于不存在） ==================== */
html.ws-v5 .wsv5m{display:none!important;}
/* 双保险（D-dstar-04）：<html> 没挂 .ws-v5m（= 桌面宽度）时，手机层注入到学习页 / 全部功能面板里的东西一律不显示 */
html.ws-v5:not(.ws-v5m) :is(.v5m-route,.v5m-pitem,#study .v5m-more){display:none!important;}
/* 共享文字令牌（20 / 22 / 24 共用，不挂 media）：危险色当字。--v5-warn 在桃桃猫卷上是浅粉（面板上只有 2.78:1），
   往正文色压 45%：浅色主题变深、深色主题变亮 → 九个主题都 ≥ 4.5（V7.0.0 第二轮核查 #3 / #4）。只用在字和字形图标上，底色仍用 --v5-warn 调淡。 */
html.ws-v5{--v5m-warn-ink:color-mix(in srgb,var(--v5-warn) 55%,var(--v5-ink));}

@media(max-width:768px){

/* ==================== 1. 令牌 / 外壳 ==================== */
html.ws-v5.ws-v5m{
  --v5m-sat:env(safe-area-inset-top,0px);
  --v5m-sab:env(safe-area-inset-bottom,0px);
  --v5m-tab:56px;          /* 底栏高（不含安全区） */
  --v5m-topbar:44px;       /* 顶条高 */
  --v5m-gut:16px;          /* 左右留白 */
  --v5m-gap:12px;          /* 卡间距 */
  /* V7.0.0：契约红线「任何字 ≥ 12px」—— 眉题 / 小标签原来是 11px（§3 字阶），手机上统一抬到 12（像素街机早已是 12） */
  --v5-fs-eyebrow:12px;
}
html.ws-v5.ws-v5m .wsv5m{display:block!important;}
html.ws-v5.ws-v5m .wsv5m.v5m-sec,
html.ws-v5.ws-v5m .wsv5m.v5m-play,
html.ws-v5.ws-v5m .wsv5m.v5m-ring,
html.ws-v5.ws-v5m .wsv5m.v5m-foot{display:flex!important;}
html.ws-v5.ws-v5m .wsv5m.v5-cal{display:grid!important;}
html.ws-v5.ws-v5m .wsv5m.v5m-mask{display:flex!important;}

/* 状态栏 / 页面底色：刘海与 Home 条区域一律纸色（#wsStatusScrim 的行内 !important 由 21 号脚本改成 var(--paper)） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m{background:var(--v5-paper)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body{
  background:
    radial-gradient(420px 280px at 50% 120px,color-mix(in srgb,var(--v5-accent) calc(9% * var(--v5-sky)),transparent),transparent 72%) fixed,
    var(--v5-paper)!important;
  /* 页面底部让位 = 底栏 56 + 安全区 + 24（§4）；外壳 / 视图不再各自叠加 */
  padding-bottom:calc(var(--v5m-tab) + var(--v5m-sab) + 24px)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim{background:var(--v5-paper)!important;background-image:none!important;overflow:hidden!important;isolation:isolate;}
/* M-rc-02：index.html 给遮罩的 z-index 是 2147483647（比所有蒙层都高）→ 弹层打开时整屏压暗、只有状态栏那一条还亮着。
   降到「学习页 #study(96) / 学习底栏(98) 之上、登录闸 .client-gate(110) 与所有蒙层 / 抽屉 / 菜单(≥1100) 之下」：
   蒙层自然盖住它，和页面其余部分一起压暗。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim{z-index:100!important;}
/* 遮罩与页面同一合成（M-a-04）：21 号把 body 的背景图层写进遮罩行内 background，把 body::before/::after 的背景写成 --v5m-scb-* / --v5m-sca-* 变量；
   这两个伪元素照抄 body 伪元素的尺寸与位置（都是相对视口 0,0），于是刘海下沿与页面之间没有接缝。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim::after{content:""!important;position:absolute!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important;pointer-events:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim::before{
  display:var(--v5m-scb-d,none)!important;left:var(--v5m-scb-l,0px)!important;top:var(--v5m-scb-t,0px)!important;width:var(--v5m-scb-w,100vw)!important;height:var(--v5m-scb-h,100vh)!important;
  background-color:var(--v5m-scb-color,transparent)!important;background-image:var(--v5m-scb-img,none)!important;background-size:var(--v5m-scb-size,auto)!important;
  background-position:var(--v5m-scb-pos,0 0)!important;background-repeat:var(--v5m-scb-rep,repeat)!important;
  opacity:var(--v5m-scb-op,1)!important;mix-blend-mode:var(--v5m-scb-blend,normal)!important;filter:var(--v5m-scb-filter,none)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #wsStatusScrim::after{
  display:var(--v5m-sca-d,none)!important;left:var(--v5m-sca-l,0px)!important;top:var(--v5m-sca-t,0px)!important;width:var(--v5m-sca-w,100vw)!important;height:var(--v5m-sca-h,100vh)!important;
  background-color:var(--v5m-sca-color,transparent)!important;background-image:var(--v5m-sca-img,none)!important;background-size:var(--v5m-sca-size,auto)!important;
  background-position:var(--v5m-sca-pos,0 0)!important;background-repeat:var(--v5m-sca-rep,repeat)!important;
  opacity:var(--v5m-sca-op,1)!important;mix-blend-mode:var(--v5m-sca-blend,normal)!important;filter:var(--v5m-sca-filter,none)!important;
}
/* 判对的 ✓ 小火花本该 fixed，ui-polish 的 body>*{position:relative} 把它拉回文档流（页底多 46px 空白） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body>#wsSpark.ws-spark{position:fixed!important;}
/* 底部让位只留 body 那一份 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wrap.wrap{padding-bottom:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body :is(#view-plan,#view-lib,#view-records,#view-stats,#view-achievements,#view-settings,#view-guide,#view-about,#view-donate,#view-lectures,#view-account).view.active{padding-bottom:12px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .view.active>:is(#mobileLibrary,#mobilePlan,#mobileStatsPage,#mobileHardBook,#mobileAchievementPage,.mobile-lib-shell,.mobile-wordbook-shell,.mobile-plan-shell,.mobile-hard-shell,.mobile-stats-shell,.mobile-settings-shell,.mobile-achievement-page){padding-bottom:0!important;}
/* V7.4.0 性能（A8）：本文件原来的 body:has(...)「页面状态」判断全部换成 body 状态类，由 21 号 syncState() 只盯 #study / 各 .view /
   #mobileHardAddBtn / #mobileHomeReward 自己的 class·hidden 算好写上（判断口径与原 :has 逐字一致）。
   原因：锚在 body 上的 :has 让任何一点 DOM 小变动都要把 body 整棵子树重新匹配（改一个提示字 62–68ms，4× 节流）。
   特异度用重复类 / :not(#_) 补到与原 :has 相同，层叠结果不变：
     ws-studying = #study.on · v5m-st-recsub = 统计/成就页 · v5m-st-cfg = 设置页 · v5m-st-gut = 八个底栏系页面之一
     v5m-st-hardadd = 记录页悬浮「添加难词」未被 25 号收进列表 · v5m-st-bell = #mobileHomeReward 没有 hidden
   类名刻意避开站点里 [class*="tab"] / [class*="setting(s)"] / [class*="nav"] 这类按子串匹配的选择器（apple 层的底栏 / 设置页启发式会误命中 body）。 */
/* 悬浮「添加难词」让位 —— 25 号把它搬进列表顶部（.v5m-hardadd）后不再需要 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.v5m-st-hardadd.v5m-st-hardadd:not(#_):not(#_) .wrap.wrap{padding-bottom:64px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.mobile-home-active #view-home#view-home.view.active{padding-bottom:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.mobile-home-active .wrap.wrap{padding-left:var(--v5m-gut)!important;padding-right:var(--v5m-gut)!important;}
/* 统一左右 16（M-a-06 / M-a-19）：原来外壳 10/12/16 + 视图 0/12 叠出 10 / 22 / 24 / 28 四种边距。
   外壳统一给 16，这八页的视图自己不再加左右内边距；学习页是 fixed 舞台，不受影响。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.v5m-st-gut.v5m-st-gut:not(#_) .wrap.wrap{padding-left:var(--v5m-gut)!important;padding-right:var(--v5m-gut)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body :is(#view-home,#view-plan,#view-lib,#view-records,#view-stats,#view-achievements,#view-account,#view-settings).view.active:not(#_){padding-left:0!important;padding-right:0!important;}
/* 浮动奖励铃铛：顶条铃铛可见时收起（两颗通向同一个面板）；顶条那颗被藏（安静首页 / 商城未解锁）时保留 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body:not(.new-user-quiet-home).v5m-st-bell:not(#_)>#wsRqMBell.ws-rq-mbell{display:none!important;}

/* ==================== 2. 底栏 .v5-tabbar（沿用 5 个 tab 节点，只换形；56 + 安全区，不透明） ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar{
  position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;z-index:1200!important;
  width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;
  padding:6px 8px calc(6px + var(--v5m-sab))!important;box-sizing:border-box!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important;
  border:0!important;border-top:1px solid var(--v5-line)!important;border-radius:0!important;
  background:var(--v5-panel)!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button{
  min-width:0!important;width:auto!important;height:44px!important;min-height:44px!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  font-size:0!important;line-height:1!important;color:var(--v5-ink-3)!important;font-weight:600!important;overflow:visible!important;
  --wsico-sz:22px;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button.active{color:var(--v5-accent-ink)!important;background:transparent!important;box-shadow:none!important;}
/* 学习统计 / 成就不是底栏页：它们归「记录」（§8 记录页 = 环 + 趋势 + 连胜 + 成就入口），在这两页时底栏亮「记录」，不亮「我的」（M-a-20 / M-ent-12） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button:is(.active,[data-tab]){color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button::before{display:block!important;color:currentColor!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button::after{
  display:block!important;width:auto!important;height:auto!important;min-width:max-content!important;margin:0!important;padding:0!important;
  background:transparent!important;color:currentColor!important;
  font-size:var(--v5-fs-eyebrow)!important;line-height:1.2!important;font-weight:600!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button[data-tab="home"]::after{content:"今日"!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button[data-tab="plan"]::after{content:"计划"!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button[data-tab="lib"]::after{content:"词库"!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button[data-tab="records"]::after{content:"记录"!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button[data-tab="account"]::after{content:"我的"!important;}
/* 学习页是整屏 fixed 舞台：底栏让开；底下的 .wrap（#study 在它外面）只保留布局不画，免得主按钮在舞台下面「透」出来 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) nav.v5-tabbar{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) .wrap.wrap{visibility:hidden!important;}

/* ==================== 3. 通用：卡片 / 主按钮 / chip（复述 16 的组件，压过旧规则） ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5-card{
  position:relative!important;display:block;
  background:var(--v5-panel)!important;border:1px solid var(--v5-line)!important;border-radius:var(--v5-r)!important;
  box-shadow:var(--v5-shadow-soft)!important;padding:16px!important;margin:0!important;color:var(--v5-ink)!important;
  clip-path:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important;
  min-height:0!important;height:auto!important;max-height:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5-card::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5-card::after{display:none!important;}
/* 主按钮：一屏一个；accent 填充 / on-accent 字 / 52 高 / 切角 12 / 字 15/600；无渐变、无扫光 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .show-btn{
  appearance:none!important;-webkit-appearance:none!important;position:relative!important;
  display:flex;align-items:center!important;justify-content:center!important;gap:8px!important;
  width:100%!important;min-width:0!important;height:var(--v5-btn-h-lg)!important;min-height:var(--v5-btn-h-lg)!important;
  padding:0 18px!important;margin:0!important;border:0!important;border-radius:var(--v5-r-btn)!important;
  clip-path:var(--v5-btn-clip)!important;
  background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;-webkit-text-fill-color:currentColor!important;
  font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;letter-spacing:.02em!important;line-height:1!important;
  box-shadow:var(--v5-shadow-soft)!important;text-shadow:none!important;overflow:visible!important;opacity:1!important;transform:none!important;
  transition:transform var(--v5-dur) var(--v5-ease),filter var(--v5-dur-fast)!important;
  animation:none!important;background-image:none!important;background-size:auto!important;
  /* 光只随 --v5-glow（纸墨 / 像素 = 0） */
  filter:drop-shadow(0 0 calc(12px * var(--v5-glow)) var(--v5-accent-line));
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .show-btn::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .show-btn::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .show-btn:is(:active,.is-pressed){transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary:disabled,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next:disabled{opacity:.5!important;filter:none!important;}
/* 行内 display:none（揭晓后的「显示释义」/ 防连点期间）必须仍然生效 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .show-btn[style*="display: none"],
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study.on #studyFoot .learn-next[style*="display: none"],
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome #mobileStartBtn.v5-btn-primary[style*="display: none"]{display:none!important;}
/* chip：全站同一尺寸（32 高 / 圆角 999 / 字 13/500 / 内边距 0 12 / 图标 14） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip{
  position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  flex:none!important;width:auto!important;max-width:none!important;height:var(--v5-chip-h)!important;min-height:var(--v5-chip-h)!important;
  padding:0 12px!important;margin:0!important;box-sizing:border-box!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;
  background:var(--v5-panel)!important;color:var(--v5-ink-2)!important;box-shadow:none!important;
  font-family:inherit!important;font-size:13px!important;font-weight:500!important;line-height:1!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;cursor:pointer!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  transition:transform var(--v5-dur) var(--v5-ease),background-color var(--v5-dur-fast)!important;
}
/* V7.0.0 全主题对比度自查：桃桃猫卷的 --v5-ink-2 在面板底上只有 4.45:1（< 4.5）→ 首页药丸字往 --v5-ink 靠一点（只动猫卷） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip:not(.is-gold):not(.v5-chip-more):not(.ws-streak-guard){color:color-mix(in srgb,var(--v5-ink-2) 75%,var(--v5-ink))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.is-gold{color:var(--v5-gold-ink)!important;border-color:color-mix(in srgb,var(--v5-gold) 40%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.v5-chip-more{color:var(--v5-accent-ink)!important;border-color:var(--v5-accent-line)!important;background:var(--v5-accent-soft)!important;}
/* ui-polish 给带 mask 图标的药丸留的 ::before（连胜 / 日历）：收成 14px；自带 emoji 的两枚（班级 / 主题）去掉透明占位 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.mobile-home-pill::before{width:14px!important;height:14px!important;margin:0!important;vertical-align:0!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#wsModeChipM.v5-chip::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeTheme.v5-chip::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeShop.v5-chip::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeInvite.v5-chip::before{display:none!important;}
/* 分区标题（section 20/700）+ 右侧一个文字动作 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sec{align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important;padding:0 2px!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sec h2{flex:1 1 auto!important;min-width:0!important;margin:0!important;font-family:inherit!important;font-size:var(--v5-fs-section)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:0!important;color:var(--v5-ink)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-seclink{
  position:relative!important;flex:none!important;border:0!important;background:none!important;box-shadow:none!important;
  padding:8px 0!important;margin:0!important;min-height:0!important;width:auto!important;height:auto!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;line-height:1.3!important;
  color:var(--v5-accent-ink)!important;white-space:nowrap!important;cursor:pointer!important;
}
/* 视觉 28px，热区靠透明 ::before 撑到 44px */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-seclink::before{content:""!important;position:absolute!important;left:-6px!important;right:-6px!important;top:50%!important;height:44px!important;transform:translateY(-50%)!important;background:none!important;display:block!important;width:auto!important;}

/* ==================== 4. 首页 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.mobile-home-active #mobileHome#mobileHome#mobileHome.v5m-home{
  display:flex!important;flex-direction:column!important;gap:var(--v5m-gap)!important;
  padding:2px 0 0!important;margin:0!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:visible!important;
}
/* 落位（§8 顺序） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.mobile-home-top{order:1!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.mobile-home-pills{order:2!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.mobile-welcome{order:3!important;display:block!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-hero{order:4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-plan{order:5!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-play{order:6!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-streak{order:7!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-sec-arch{order:8!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-ring{order:9!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>#mobileCalendarCard{order:10!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-ach{order:11!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>#mobileTipCard{order:12!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>#mobileTipDots{order:13!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-foot{order:14!important;}
/* 分区间距 24 = 卡间 12 + 12 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-play,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-streak,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-sec-arch,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>#mobileTipCard,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.v5m-foot{margin-top:12px!important;}
/* 首页只留 V5 的一行页脚（站点共用页脚在其它页由 24 号处理） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.mobile-home-active .ws-site-footer{display:none!important;}

/* ---- 4.1 顶条 .v5-topbar-m（44）：品牌小字 + 主题名 caption ｜ 铃铛 + 头像（排行榜收进 chip 行） ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-home-top.v5-topbar-m{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  height:var(--v5m-topbar)!important;min-height:var(--v5m-topbar)!important;padding:0!important;margin:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand{display:flex!important;align-items:center!important;gap:8px!important;flex:1 1 auto!important;min-width:0!important;overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-logo{width:26px!important;height:26px!important;border-radius:var(--v5-r-sm)!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand>div{display:flex!important;align-items:baseline!important;gap:6px!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand>div>b{font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;line-height:1.2!important;color:var(--v5-ink)!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand>div>span{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-themename{display:block!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m>div:last-child{display:flex!important;align-items:center!important;gap:8px!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar{
  position:relative!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;flex:none!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;background:var(--v5-panel)!important;
  color:var(--v5-ink)!important;display:grid!important;place-items:center!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;line-height:1!important;
  box-shadow:none!important;filter:none!important;overflow:visible!important;isolation:isolate;
  transition:transform var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar:is(:active,.is-pressed){transform:var(--v5-press)!important;}
/* V6.9.0 游客态：36px 圆钮是给登录后的头像用的；游客要一眼看到「登录 / 注册」四个字（9/23 自查：手机端 0 处）。
   04 号 renderMobileAccountAvatar 游客时打 .is-guest 并塞进 .mobile-avatar-auth 文字，这里展开成带字 chip（同高 36、药丸圆角、强调色底） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-guest{
  width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;padding:0 12px!important;white-space:nowrap!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:var(--v5-r-pill)!important;background:var(--v5-accent-soft)!important;color:var(--v5-accent-ink)!important;border-color:var(--v5-accent-line)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-guest .mobile-avatar-initial{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-guest .mobile-avatar-auth{display:inline!important;}
/* 铃铛：原来是 🔔 emoji（与各页线性图标不一致，M-a-06 / M-b-03）→ 与站点线性图标同一笔画的 SVG 铃铛（mask 着色，跟主题走），emoji 字形隐藏；
   数字徽标 .ws-rq-dot 自带字号，不受 font-size:0 影响 */
/* M-b-03：ui-polish-v4 的 .mobile-home-rank{width/min-width/max-width:33px!important} 同样命中铃铛（它也带这个类）→ 33×36 竖椭圆；宽度三件一起钉 36 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward{font-size:0!important;color:var(--v5-ink-2)!important;min-width:36px!important;max-width:36px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward::before{
  content:""!important;display:block!important;position:static!important;width:18px!important;height:18px!important;margin:0!important;padding:0!important;
  background:currentColor!important;border:0!important;box-shadow:none!important;opacity:1!important;transform:none!important;
  -webkit-mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward .ws-rq-dot{
  /* 角标挪到右上角外侧（M-b-03：原来 -4/-4 压住铃铛图标上半截） */
  top:-7px!important;right:-7px!important;left:auto!important;bottom:auto!important;min-width:16px!important;height:16px!important;line-height:16px!important;padding:0 4px!important;box-sizing:border-box!important;
  border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;
  font-family:var(--v5-tech)!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:700!important;box-shadow:0 0 0 2px var(--v5-paper)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeRank{display:none!important;}
/* 课堂入口药丸（21 号插在铃铛前面）：和铃铛/头像同高 36，带字；课堂被关或新用户安静首页时不出现 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn{
  position:relative!important;display:inline-flex!important;align-items:center!important;gap:5px!important;flex:none!important;
  height:36px!important;min-height:36px!important;padding:0 12px 0 10px!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;background:var(--v5-panel)!important;
  color:var(--v5-ink)!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;
  box-shadow:none!important;filter:none!important;cursor:pointer;transition:transform var(--v5-dur) var(--v5-ease),border-color var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn svg{flex:none!important;color:var(--v5-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn:focus-visible{outline:2px solid var(--v5-accent)!important;outline-offset:2px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-lectures-off #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.new-user-quiet-home #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn{display:none!important;}

/* ---- 4.2 chip 横滑行 .v5-chiprow：永远一行，右侧渐隐（滚到底时不渐隐） ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-home-pills.v5-chiprow{
  display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;gap:8px!important;
  overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  padding:2px 0!important;margin:0!important;min-height:0!important;max-width:none!important;width:auto!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  -webkit-mask-image:linear-gradient(90deg,var(--v5-ink) calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,var(--v5-ink) calc(100% - 36px),transparent);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-home-pills.v5-chiprow.is-end{-webkit-mask-image:none;mask-image:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-home-pills.v5-chiprow::-webkit-scrollbar{display:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeStreak{order:1!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#wsModeChipM{order:2!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeTheme{order:3!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeShop{order:4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeInvite{order:5!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeCalendar{order:6!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5m-chip-rank{order:7!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip-more{order:8!important;}
/* 晚间连胜保卫（04-main wsUpdateStreakGuard：20 点后 + 连胜≥3 + 今日计划没做完，插进这一行的药丸）：排最前、警示色，点它直接开始学习。
   旧版 index.html 给它 display:block;width:100% 的整行横条 → 这里收成和别的药丸同高的一颗（V7.0.0 全主题自查：新版手机上不重叠，只是原来看不出是提醒） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.ws-streak-guard{order:0!important;width:auto!important;margin:0!important;color:color-mix(in srgb,var(--v5-warn) 50%,var(--v5-ink))!important;border-color:color-mix(in srgb,var(--v5-warn) 45%,transparent)!important;background:color-mix(in srgb,var(--v5-warn) 10%,var(--v5-panel))!important;font-weight:600!important;}
/* V7.0.0 第三轮：芯片行里只放短句「今晚保住 N 天连胜」（04 号同时输出 .ws-sg-long / .ws-sg-short 两段；整句 310px 一颗芯片占满首屏宽度） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.ws-streak-guard .ws-sg-long{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-chiprow>.ws-streak-guard .ws-sg-short{display:inline!important;}

/* ---- 4.3 问候：section 20/700 + caption ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-welcome{padding:0 2px!important;margin:6px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-welcome h1{font-family:inherit!important;font-size:var(--v5-fs-section)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:0!important;color:var(--v5-ink)!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-welcome p{font-size:var(--v5-fs-caption)!important;font-weight:400!important;line-height:1.5!important;color:var(--v5-ink-3)!important;margin:4px 0 0!important;}

/* ---- 4.4 签名元素：横向手卷（≈135 高，唯一发光物）+ 7 站轨道（28）+ 一行说明 ---- */
html.ws-v5.ws-v5m .v5m-hero{padding:2px 0 0;margin:0;}
html.ws-v5.ws-v5m .v5m-hero .v5m-scroll svg{
  display:block;width:100%;height:auto;overflow:visible;
  filter:drop-shadow(0 8px calc(18px * var(--v5-glow)) var(--v5-accent-line));
}
html.ws-v5.ws-v5m .v5m-hero .v5m-eyeb{font-family:var(--v5-tech);font-weight:600;text-transform:uppercase;}
html.ws-v5.ws-v5m .v5m-hero .v5m-wd{font-family:var(--v5-word);font-weight:700;}
html.ws-v5.ws-v5m .v5m-hero .v5m-ipa{font-family:var(--v5-tech);}
html.ws-v5.ws-v5m .v5m-hero .v5m-seal{font-family:var(--cjk);font-weight:700;}
html.ws-v5.ws-v5m .v5m-sway{animation:wsv5mSway calc(var(--v5-dur-slow) * 28) ease-in-out infinite;transform-origin:50% 10%;}
html.ws-v5.ws-v5m[data-theme="minimal-light"] .v5m-sway,
html.ws-v5.ws-v5m[data-theme="minimal-dark"] .v5m-sway{animation:none;}
/* V7.4.0 性能（B10）：常驻无限动画只在看得见时播 —— 动画本身不改，只在看不见时 animation-play-state:paused（停在当前帧，回来接着播）。
   21 号用 IntersectionObserver + visibilitychange 给手卷 .v5m-hero / 星图 .v5m-cal 打 data-v5m-anim="off"（出了视口 / 页面切到后台）；
   学习页开着（body.ws-studying，底下 .wrap 已 visibility:hidden）同样停。实测动画跑着时合成器 4 秒出帧 240 次，全停后约 10 次。
   像素猫眨眼 / 今日光标两条在下面「P」节各自规则旁边。 */
html.ws-v5.ws-v5m [data-v5m-anim="off"] .v5m-sway,
html.ws-v5.ws-v5m body.ws-studying .v5m-sway{animation-play-state:paused!important;}
html.ws-v5.ws-v5m .v5m-track{position:relative;height:28px;margin:6px 6px 0;}
html.ws-v5.ws-v5m .v5m-track .v5m-rail{position:absolute;left:12px;right:12px;top:4px;height:1px;background:repeating-linear-gradient(90deg,var(--v5-line-2) 0 3px,transparent 3px 8px);}
html.ws-v5.ws-v5m .v5m-track .v5m-rail-done{position:absolute;left:12px;top:3.5px;height:2px;border-radius:var(--v5-r-pill);max-width:calc(100% - 24px);background:var(--v5-accent);}
html.ws-v5.ws-v5m .v5m-track ul{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;margin:0;padding:0;}
html.ws-v5.ws-v5m .v5m-track li{grid-row:1;display:flex;flex-direction:column;align-items:center;gap:5px;font:500 var(--v5-fs-caption)/1.2 var(--v5-tech);color:var(--v5-ink-3);white-space:nowrap;min-width:0;}
html.ws-v5.ws-v5m .v5m-track li em{width:8px;height:8px;border-radius:var(--v5-r-pill);flex:none;background:var(--v5-paper);box-shadow:inset 0 0 0 1.4px var(--v5-line-2);}
html.ws-v5.ws-v5m .v5m-track li.on{color:var(--v5-ink-2);}
html.ws-v5.ws-v5m .v5m-track li.on em{background:var(--v5-accent);box-shadow:none;}
html.ws-v5.ws-v5m .v5m-track li.now{color:var(--v5-gold-ink);font-weight:600;}
html.ws-v5.ws-v5m .v5m-track li.now em{width:10px;height:10px;margin:-1px 0;background:var(--v5-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--v5-gold) 22%,transparent);}
html.ws-v5.ws-v5m .v5m-meta{margin:8px 4px 0;font-size:var(--v5-fs-caption);line-height:1.5;color:var(--v5-ink-3);}
html.ws-v5.ws-v5m .v5m-meta b{font-weight:600;color:var(--v5-ink-2);}

/* ---- 4.5 今日计划卡（既有节点只换形）：卡头 eyebrow + 完整计划表 › / 词书行 / 三个无框 stat / 6px 进度 / 主按钮在卡内 ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-section-head,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-section-head,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-calcard .mobile-section-head,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-section-head{
  display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:10px!important;
  margin:0 0 10px!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head h2::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head h2::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head h2{
  flex:1 1 auto!important;min-width:0!important;margin:0!important;
  font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.2!important;
  color:var(--v5-accent-ink)!important;opacity:1!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important;background:none!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-links{display:flex!important;align-items:center!important;gap:10px!important;flex:none!important;border:0!important;background:none!important;padding:0!important;margin:0!important;min-height:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-link{
  position:relative!important;flex:none!important;display:inline-flex!important;align-items:center!important;gap:0!important;
  border:0!important;background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;height:auto!important;width:auto!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;line-height:1.3!important;color:var(--v5-accent-ink)!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-link::before{content:""!important;position:absolute!important;left:-6px!important;right:-6px!important;top:50%!important;height:44px!important;transform:translateY(-50%)!important;background:none!important;-webkit-mask:none!important;mask:none!important;display:block!important;width:auto!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-link b{font-weight:600!important;color:inherit!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-card #mobileStreakRules>span{display:none!important;}
/* 「查看详情 ›」与「完整计划表 ›」同去计划页：卡内只留一个（另一个收进「⋯全部 › 首页入口」） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan #mobilePlanDetails{display:none!important;}
/* 到期复习召回条（hidden 时仍藏）。M-a-02 / M-b-02：原来是一张 75 高的卡 + 「开始复习 ›」，和下面主按钮「开始复习」是同一个动作
   （两者都走 retentionStartTodayStudy），还把主按钮挤出首屏。现在压成卡头下面的一行 caption（↻ + 标题 + 用时），不再有第二个 CTA；
   整行仍可点（原节点、原处理器不动），只是不再长得像按钮。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall:not([hidden]){
  display:flex!important;align-items:baseline!important;gap:6px!important;width:100%!important;
  padding:0!important;margin:-4px 0 10px!important;min-height:0!important;height:auto!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;overflow:hidden!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-ico{width:auto!important;height:auto!important;flex:none!important;display:inline!important;border-radius:0!important;clip-path:none!important;background:none!important;box-shadow:none!important;color:var(--v5-accent-ink)!important;font-size:var(--v5-fs-caption)!important;font-weight:700!important;line-height:1.4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-body{flex:1 1 auto!important;min-width:0!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-title{display:inline!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;color:var(--v5-accent-ink)!important;line-height:1.4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-sub{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-cta{display:none!important;}
/* 词书行：📘 词书名（title 17/600）  切换 ›   ｜  一起背（文字按钮） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-book-row{display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 14px!important;padding:0!important;min-width:0!important;border:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-book{
  flex:1 1 auto!important;min-width:0!important;display:flex!important;align-items:center!important;gap:8px!important;
  height:auto!important;min-height:44px!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-book .mpb-ico{flex:none!important;font-size:var(--v5-fs-title)!important;line-height:1!important;color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-book .mpb-name{flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-family:inherit!important;font-size:var(--v5-fs-title)!important;font-weight:600!important;line-height:1.25!important;color:var(--v5-ink)!important;text-align:left!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-book .mpb-switch{flex:none!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;color:var(--v5-accent-ink)!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan #mobilePlanShareBook.v5-btn-ghost{
  flex:none!important;display:inline-flex!important;align-items:center!important;min-height:36px!important;height:auto!important;width:auto!important;
  padding:0 8px!important;margin:0!important;border:0!important;border-radius:var(--v5-r-sm)!important;background:none!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;color:var(--v5-accent-ink)!important;white-space:nowrap!important;
}
/* 三个 stat：无框，竖线分隔；display 34 数字 + caption 标签；只有「今日目标」带预计分钟 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-row{display:flex!important;align-items:stretch!important;gap:0!important;margin:0 0 14px!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;grid-template-columns:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric{
  position:static!important;display:block!important;grid-template-columns:none!important;flex:1 1 0!important;min-width:0!important;
  padding:0 12px!important;margin:0!important;overflow:visible!important;
  border:0!important;border-left:1px solid var(--v5-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric:first-child{padding-left:0!important;border-left:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric .mobile-plan-icon{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>span{order:2!important;display:block!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;line-height:1.3!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>b{order:1!important;display:flex!important;align-items:baseline!important;gap:3px!important;flex-wrap:nowrap!important;margin:0!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;line-height:1!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>b em{flex:none!important;font-style:normal!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-display)!important;font-weight:700!important;line-height:1!important;letter-spacing:.01em!important;color:var(--v5-ink)!important;font-variant-numeric:tabular-nums!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>small{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric.target>span>small{order:3!important;display:block!important;margin:0!important;font-size:var(--v5-fs-caption)!important;line-height:1.3!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
/* 进度：caption + 6px 条 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress{display:block!important;margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress>span:first-child{display:block!important;margin:0 0 6px!important;font-size:var(--v5-fs-caption)!important;line-height:1.3!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track{position:relative!important;display:block!important;height:6px!important;border-radius:var(--v5-r-pill)!important;overflow:hidden!important;border:0!important;background:var(--v5-line)!important;box-shadow:none!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i{position:relative!important;display:block!important;height:100%!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;box-shadow:none!important;transition:width var(--v5-dur-slow) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:not([data-theme="cute-pink"]):not([data-theme="soda"]):not([data-theme="forest"]) body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::after{display:none!important;content:none!important;}   /* 汽水液面前沿 / 森林藤尖嫩叶也用这个 ::after（见 S / F 节） */
/* 猫卷：21 号给 .mobile-track / >i 加了 .v5-bar / .v5-bar__fill，16 号 1.6 节的小猫头 ::after 由此接管；这里只放开裁切 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track.v5-bar{overflow:visible!important;}
/* 新客快道 / 试背：文字按钮 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-plan #mobileTrialBtn.v5-btn-ghost{
  width:100%!important;margin:6px 0 0!important;min-height:36px!important;height:auto!important;padding:0 8px!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:none!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;color:var(--v5-accent-ink)!important;
}

/* G-r1-01 新手安静首页（body.new-user-quiet-home，全新游客 / 已登录但还没选词书）：
   12 号把词书行 / 三个 stat / 进度条 / chip 行设成 display:none + visibility:hidden，但上面 4.2、4.5 用更高权重强制 display:flex/block，
   结果只剩 visibility:hidden —— 看不见却照样占位（计划卡中间空 174px、顶栏下空 36px），375×667 上「开始背单词」被挤出首屏。
   这里多带一个 body 类（权重高一档）把 display 也收回去，和旧版（ws_ui_v5=off）一致。
   chip 行整行收起：旧版 12 号 ws-v4-polish 那条同样整行 display:none（含班级入口 #wsModeChipM），线上 V5 也是整行 hidden，不新增也不丢入口。
   同一原因的另外两块：「学完再玩一会」横滑行里的磨耳朵 #mobileEarBtn / 填字 #mobileCwBtn（12 号新手态藏起，4.6 强制 display:flex）
   原来是两张 136 宽的透明空卡，把「通天树」挤到屏幕右边只露半张 —— 一并收回，旧版新手态同样不显示这两颗。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.new-user-quiet-home #mobileHome#mobileHome#mobileHome .v5m-plan :is(.mobile-plan-book-row,.mobile-plan-row,.mobile-plan-progress),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.new-user-quiet-home #mobileHome#mobileHome#mobileHome .mobile-home-pills.v5-chiprow,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.new-user-quiet-home #mobileHome#mobileHome#mobileHome .v5m-playrow :is(#mobileEarBtn,#mobileCwBtn){display:none!important;}

/* ---- 4.6 学完再玩一会：横滑 4 卡（原三颗按钮整行搬进来 + LV 卡） ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-play{flex-direction:column!important;gap:0!important;padding:0!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-play .v5m-sec{display:flex!important;margin:0 0 2px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow{
  display:flex!important;flex-wrap:nowrap!important;gap:12px!important;align-items:stretch!important;
  overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  /* 下内边距留够卡片软阴影（猫卷 --v5-shadow-soft 向下铺 34px），否则阴影在滚动容器底边被切成一条色带；负外边距把多出来的高度还回去 */
  margin:0 calc(-1 * var(--v5m-gut)) -24px!important;padding:10px var(--v5m-gut) 36px!important;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  /* 横滑延伸到屏幕两边，右侧渐隐（M-a-16：原来右边被硬切）；滚到底时 21 号加 .is-end 摘掉渐隐 */
  -webkit-mask-image:linear-gradient(90deg,var(--v5-ink) calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,var(--v5-ink) calc(100% - 40px),transparent);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow.is-end{-webkit-mask-image:none;mask-image:none;}
/* 横滑要能伸到屏幕边：#view-home 原本 overflow-x:hidden（裁在 16…374），外壳 .wrap 已经 overflow:hidden 兜住横向溢出，这里放开 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #view-home#view-home.view.active:has(.v5m-playrow){overflow:visible!important;}
/* 游戏卡标题下的一句说明（21 号追加的 small） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-playsub{
  display:block!important;margin:0!important;padding:0!important;white-space:normal!important;
  font-size:var(--v5-fs-caption)!important;font-weight:400!important;line-height:1.45!important;color:var(--v5-ink-3)!important;-webkit-text-fill-color:currentColor!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow::-webkit-scrollbar{display:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow>div{display:contents!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-lv{
  position:relative!important;flex:0 0 auto!important;width:136px!important;min-width:136px!important;max-width:none!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:14px 14px 12px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:6px!important;
  text-align:left!important;border:1px solid var(--v5-line)!important;border-radius:var(--v5-r)!important;
  background:var(--v5-panel)!important;color:var(--v5-ink)!important;box-shadow:var(--v5-shadow-soft)!important;
  font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow:hidden!important;clip-path:none!important;filter:none!important;-webkit-text-fill-color:currentColor!important;
  transition:transform var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-lv:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn::before{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn::after{
  content:"进入 ›"!important;display:block!important;position:static!important;width:auto!important;height:auto!important;margin:auto 0 0!important;padding:0!important;
  font-size:var(--v5-fs-caption)!important;font-weight:500!important;color:var(--v5-accent-ink)!important;background:none!important;-webkit-mask:none!important;mask:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-lv{width:150px!important;min-width:150px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-lv .v5m-lvnum{display:block!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-display)!important;font-weight:700!important;line-height:1!important;color:var(--v5-ink)!important;font-variant-numeric:tabular-nums!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-lv .v5m-lvtxt{display:block!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;color:var(--v5-ink-3)!important;line-height:1.3!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-lv .v5-bar{display:block!important;width:100%!important;height:6px!important;margin:2px 0 0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-lv small{display:block!important;margin:auto 0 0!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;color:var(--v5-accent-ink)!important;}

/* ---- 4.7 连胜状态：一张卡三行（闪电 / 火花 / 难词） ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-list{display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card{
  display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;
  padding:10px 0!important;margin:0!important;min-height:0!important;
  border:0!important;border-top:1px solid var(--v5-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card:first-child{border-top:0!important;padding-top:0!important;}
/* M-a-12：行间只留一条分隔线——旧层还给每行画了一条从 x=64 起的 ::before 半像素线，与 border-top 错位 2px 成了「双线 / 断线」 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card::after{display:none!important;content:none!important;}
/* M-b-13：行首留白 12（标题不再贴着上一行的分隔线） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card+.mobile-streak-card{padding-top:12px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card:not(:last-child){padding-bottom:12px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card:last-child{padding-bottom:0!important;}
/* 六角图标里的字形必须 font-size:0：ui-polish 用 ::before 遮罩画线性图标（否则 emoji 与线性图标叠着） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-icon{
  width:32px!important;height:32px!important;flex:none!important;display:grid!important;place-items:center!important;
  border-radius:var(--v5-r-chip)!important;clip-path:none!important;font-size:0!important;line-height:0!important;--wsico-sz:16px;
  background:var(--v5-accent-soft)!important;color:var(--v5-accent-ink)!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy{flex:1 1 auto!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy b{display:block!important;font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;line-height:1.3!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy strong{display:block!important;margin:2px 0 0!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;line-height:1.4!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy small{display:block!important;margin:1px 0 0!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track{display:block!important;position:relative!important;height:4px!important;margin:6px 0 0!important;border-radius:var(--v5-r-pill)!important;overflow:hidden!important;border:0!important;background:var(--v5-line)!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track>i{display:block!important;position:relative!important;height:100%!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;box-shadow:none!important;transition:width var(--v5-dur-slow) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track.v5-bar{overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .mobile-card-chevron{flex:none!important;font-size:var(--v5-fs-title)!important;line-height:1!important;color:var(--v5-ink-3)!important;}

/* ---- 4.8 学习档案：环 + 星图 + 近期成就 ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ring{align-items:center!important;gap:14px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringsvg{position:relative!important;width:72px!important;height:72px!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringsvg svg{display:block!important;width:100%!important;height:100%!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringpct{position:absolute!important;inset:0!important;display:grid!important;place-items:center!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-title)!important;font-weight:700!important;line-height:1!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringstats{flex:1 1 auto!important;min-width:0!important;display:flex!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringstats>.v5-stat{padding:0 10px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringstats>.v5-stat:first-child{padding-left:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ringstats .v5-stat__num{font-size:var(--v5-fs-page)!important;}
/* 星图卡：原本周格子只隐藏不删；星图由 21 号脚本镜像出来 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-calcard .mobile-week-grid{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-calcard .v5m-cal{margin:0!important;padding:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-calcard .v5-cal__day.is-future .v5-cal__num{opacity:.45!important;}
/* 近期成就 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-ach-card{
  display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;min-height:44px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-ach-icon{
  width:36px!important;height:36px!important;flex:none!important;display:grid!important;place-items:center!important;
  border-radius:var(--v5-r-chip)!important;clip-path:none!important;font-size:0!important;line-height:0!important;--wsico-sz:18px;
  background:var(--v5-accent-soft)!important;color:var(--v5-accent-ink)!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-ach-copy{flex:1 1 auto!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-ach-copy b{display:block!important;font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;line-height:1.3!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ach .mobile-ach-copy>span{display:block!important;margin:2px 0 0!important;font-size:var(--v5-fs-caption)!important;line-height:1.45!important;color:var(--v5-ink-3)!important;}

/* ---- 4.8b 首页主卡圆角 / 边 / 底 / 影跟主题（M-rc-03）----
   15-ws-ios.css:37/41 用 #mobileHome#mobileHome 两个 id 把 .mobile-home-section 钉成 20px（提示卡 16px）、border:0、var(--card) 底，
   首页上就出现两种圆角（环图卡 .v5m-ring 走令牌）。这里用三个 id 把 .v5-card 契约（§5.1：--v5-panel / 1px --v5-line / --v5-r / --v5-shadow-soft）抢回来。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome :is(.mobile-home-section,#mobileTipCard).v5-card:not(#_){
  border-radius:var(--v5-r)!important;border:1px solid var(--v5-line)!important;background:var(--v5-panel)!important;box-shadow:var(--v5-shadow-soft)!important;
}
/* ---- 4.9 学习提示一条带 + 圆点 ---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileTipCard.v5m-tip{
  display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;text-align:left!important;
  padding:14px 16px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-tip .mobile-tip-icon{
  width:32px!important;height:32px!important;flex:none!important;display:grid!important;place-items:center!important;
  border-radius:var(--v5-r-chip)!important;clip-path:none!important;font-size:0!important;line-height:0!important;--wsico-sz:16px;
  background:var(--v5-accent-soft)!important;color:var(--v5-accent-ink)!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-tip .mobile-tip-copy{flex:1 1 auto!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-tip .mobile-tip-copy b{display:block!important;font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;line-height:1.4!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-tip .mobile-tip-copy>span{display:block!important;margin:2px 0 0!important;font-size:var(--v5-fs-caption)!important;line-height:1.45!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileTipDots{display:flex!important;justify-content:center!important;gap:6px!important;margin:-6px 0 0!important;padding:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileTipDots button{width:22px!important;height:22px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;display:grid!important;place-items:center!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileTipDots button i{display:block!important;width:6px!important;height:6px!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-line-2)!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileTipDots button.active i{width:16px!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;}

/* ---- 4.10 页脚一行（广告位只占一行 —— 业主拍板）---- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-foot{flex-direction:column!important;gap:2px!important;padding:0!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ad{
  display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;min-height:40px!important;
  padding:8px 12px!important;margin:0 0 4px!important;border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-sm)!important;
  background:none!important;box-shadow:none!important;text-align:left!important;cursor:pointer!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;color:var(--v5-ink-3)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ad>span:nth-of-type(2){flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-ad em{flex:none!important;font-style:normal!important;font-weight:600!important;color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-flinks{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:0 14px!important;padding:0 2px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-flinks button{
  border:0!important;background:none!important;box-shadow:none!important;padding:8px 0!important;margin:0!important;min-height:0!important;width:auto!important;height:auto!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;line-height:1.3!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;cursor:pointer!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-flinks button:last-child{color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-fver{margin:0!important;padding:0 2px 4px!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;color:var(--v5-ink-3)!important;}

/* ==================== 5. 「⋯全部」抽屉 = 一期面板（8 组 + 搜索）的手机形态：底部抽屉 .v5-sheet ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask{
  display:none!important;position:fixed!important;inset:0!important;z-index:13400!important;
  height:auto!important;max-height:none!important;min-height:0!important;padding:0!important;margin:0!important;
  align-items:flex-end!important;justify-content:center!important;
  background:var(--v5-veil)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask.on{display:flex!important;}
/* M-b-16：ui-polish-v4 的 body>:is([class*="mask"]…):is(.on…) 带一长串 :not()，特异性压过上面两条 → 遮罩被改成居中 + 四周留 16，
   抽屉成了离底 58px 的悬浮卡。用 :not(#_) 把 id 级权重拿回来，贴底、全宽、只有顶部圆角。 */
html.ws-v5.ws-v5m body>.wsv5-mask.on:not(#_):not(#_){
  inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;
  padding:0!important;margin:0!important;align-items:flex-end!important;justify-content:center!important;border-radius:0!important;
}
html.ws-v5.ws-v5m body .wsv5-mask .wsv5-panel.v5m-allsheet:not(#_):not(#_){
  width:100%!important;max-width:none!important;margin:0!important;clip-path:none!important;
  height:auto!important;max-height:min(88vh,calc(100% - var(--v5m-sat) - 12px))!important;
  border-radius:var(--v5-r) var(--v5-r) 0 0!important;border-bottom:0!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-panel.v5m-allsheet{
  position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;
  width:100%!important;max-width:none!important;height:auto!important;max-height:88vh!important;margin:0!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  padding:0 0 var(--v5m-sab)!important;border:1px solid var(--v5-line)!important;border-bottom:0!important;border-radius:var(--v5-r) var(--v5-r) 0 0!important;
  background:var(--v5-panel)!important;box-shadow:var(--v5-shadow-soft)!important;clip-path:none!important;
}
/* 拖把手 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-panel.v5m-allsheet::before{
  content:""!important;display:block!important;position:absolute!important;top:10px!important;left:50%!important;right:auto!important;bottom:auto!important;inset:10px auto auto 50%!important;
  width:36px!important;height:4px!important;margin:0 0 0 -18px!important;padding:0!important;border-radius:var(--v5-r-pill)!important;
  background:var(--v5-line-2)!important;transform:none!important;opacity:1!important;box-shadow:none!important;clip-path:none!important;pointer-events:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-panel.v5m-allsheet::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-ph{
  display:flex!important;flex:none!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important;
  padding:24px 16px 10px!important;margin:0!important;border:0!important;background:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-ph h2{flex:1 1 auto!important;min-width:0!important;margin:0!important;font-family:inherit!important;font-size:var(--v5-fs-title)!important;font-weight:600!important;line-height:1.3!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .v5m-px{
  order:1!important;flex:none!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;font-family:inherit!important;font-size:var(--v5-fs-section)!important;line-height:1!important;color:var(--v5-ink-3)!important;cursor:pointer!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-search{
  order:2!important;flex:1 1 100%!important;display:flex!important;align-items:center!important;gap:8px!important;
  height:44px!important;min-height:44px!important;padding:0 12px!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-sm)!important;background:var(--v5-panel-2)!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-search input{
  flex:1 1 auto!important;min-width:0!important;width:auto!important;height:100%!important;-webkit-appearance:none!important;appearance:none!important;
  border:0!important;outline:none!important;box-shadow:none!important;background:none!important;padding:0!important;margin:0!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:500!important;color:var(--v5-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-search kbd{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pbody{
  flex:1 1 auto!important;min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  display:block!important;grid-template-columns:none!important;padding:0 16px 20px!important;margin:0!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:14px 0 0!important;padding:0!important;border:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup.wsv5-hide{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup h3{
  flex:1 1 100%!important;display:block!important;margin:0 0 2px!important;padding:0!important;border:0!important;background:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.2!important;color:var(--v5-accent-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup h3::before{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button{
  display:inline-flex!important;align-items:center!important;gap:6px!important;flex:none!important;
  width:auto!important;height:40px!important;min-height:40px!important;padding:0 14px!important;margin:0!important;
  border:1px solid var(--v5-line-2)!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:500!important;line-height:1!important;color:var(--v5-ink)!important;text-align:left!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button.wsv5-hide{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button small{margin:0!important;font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.02em!important;color:var(--v5-gold-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button[data-wsv5-key="清空重置"]{color:var(--v5m-warn-ink)!important;border-color:color-mix(in srgb,var(--v5-warn) 45%,transparent)!important;}

/* ==================== 6. 通用小抽屉（学习页「⋯」菜单）：.v5m-mask > .v5-dialog.v5-sheet ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask{
  position:fixed!important;inset:0!important;z-index:13400!important;align-items:flex-end!important;justify-content:center!important;
  padding:0!important;margin:0!important;background:var(--v5-veil)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transition:opacity var(--v5-dur) var(--v5-ease);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.on{opacity:1;}
/* M-b-01：同上一类问题——ui-polish-v4 的遮罩通配规则把 align-items 改成 center、四周加内边距、高 100dvh（=774，底部 70px 没盖住，
   菜单开着时还能点穿到「显示释义」）；apple 层 [role=dialog]/[class*=dialog] 又给了 22px 圆角。id 级权重压回：铺满视口、贴底、无圆角。 */
html.ws-v5.ws-v5m body>.v5m-mask:not(#_):not(#_){
  position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:100%!important;max-height:none!important;min-height:0!important;
  padding:0!important;margin:0!important;border-radius:0!important;align-items:flex-end!important;justify-content:center!important;
}
html.ws-v5.ws-v5m body>.v5m-mask>.v5m-sheet:not(#_):not(#_){
  width:100%!important;max-width:none!important;margin:0!important;height:auto!important;max-height:min(88vh,calc(100% - var(--v5m-sat) - 12px))!important;clip-path:none!important;
  border-radius:var(--v5-r) var(--v5-r) 0 0!important;border-bottom:0!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask .v5m-sheet{
  width:100%!important;max-width:none!important;max-height:88vh!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-bottom:0!important;border-radius:var(--v5-r) var(--v5-r) 0 0!important;
  background:var(--v5-panel)!important;box-shadow:var(--v5-shadow-soft)!important;padding:0 0 calc(8px + var(--v5m-sab))!important;
  display:flex!important;flex-direction:column!important;transform:translateY(14px);transition:transform var(--v5-dur-slow) var(--v5-ease);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.on .v5m-sheet{transform:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sheet .v5-dialog__head{padding:12px 16px 6px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sheet .v5-dialog__head h2{font-size:var(--v5-fs-title)!important;font-weight:600!important;margin:0!important;font-family:inherit!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sheet .v5-dialog__close{width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;font-size:var(--v5-fs-section)!important;line-height:1!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu{display:block!important;padding:0 10px 4px!important;overflow:auto!important;min-height:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item{
  display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;height:48px!important;min-height:48px!important;
  padding:0 10px!important;margin:0!important;border:0!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:500!important;color:var(--v5-ink)!important;text-align:left!important;cursor:pointer!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item i{flex:none!important;width:24px!important;text-align:center!important;font-style:normal!important;font-size:var(--v5-fs-title)!important;line-height:1!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item span{flex:1 1 auto!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item small{flex:none!important;max-width:45%!important;font-size:var(--v5-fs-caption)!important;color:var(--v5-ink-3)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item.is-danger{color:var(--v5m-warn-ink)!important;}

/* ==================== 7. 学习页（§8）：44 顶栏 / 一行航线 caption / 手卷舞台 / 一个面的释义 / 固定动作区 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on.v5m-study{
  --v5m-accent-text:color-mix(in srgb,var(--v5-accent-ink) 85%,var(--v5-ink));
  display:flex!important;flex-direction:column!important;gap:0!important;
  padding:var(--v5m-sat) 0 0!important;margin:0!important;overflow:hidden!important;z-index:96!important;
  background:
    radial-gradient(420px 260px at 50% -40px,color-mix(in srgb,var(--v5-accent) calc(10% * var(--v5-sky)),transparent),transparent 70%),
    var(--v5-paper)!important;
  color:var(--v5-ink)!important;
}
/* 7.1 顶栏 44：[‹ 暂停] ▓▓░ 0/30 [⋯] */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on>.study-top.v5-topbar-m{
  flex:none!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;
  height:var(--v5m-topbar)!important;min-height:var(--v5m-topbar)!important;padding:0 12px 0 6px!important;margin:0!important;
  grid-template-columns:none!important;border:0!important;border-bottom:1px solid var(--v5-line)!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .x{
  flex:none!important;order:1!important;display:inline-flex!important;align-items:center!important;gap:2px!important;
  width:auto!important;height:36px!important;min-height:36px!important;padding:0 10px 0 6px!important;margin:0!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  color:var(--v5-ink)!important;font-size:0!important;line-height:1!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .x::before{
  content:"‹"!important;display:block!important;position:static!important;width:auto!important;height:auto!important;margin:-3px 0 0!important;padding:0!important;
  font-family:var(--cjk)!important;font-size:var(--v5-fs-section)!important;font-weight:400!important;line-height:1!important;color:var(--v5-accent-ink)!important;
  background:none!important;-webkit-mask:none!important;mask:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .x::after{
  content:"暂停"!important;display:block!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;line-height:1!important;color:var(--v5-ink)!important;
  background:none!important;-webkit-mask:none!important;mask:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-top-progress{order:2!important;display:flex!important;flex:1 1 auto!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;min-width:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-progress-label{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .pbar{position:relative!important;flex:1 1 auto!important;width:auto!important;height:6px!important;min-width:0!important;border:0!important;border-radius:var(--v5-r-pill)!important;overflow:hidden!important;background:var(--v5-line)!important;box-shadow:none!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .pbar i{position:relative!important;display:block!important;height:100%!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;box-shadow:none!important;transition:width var(--v5-dur-slow) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .pbar::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:not([data-theme="cute-pink"]):not([data-theme="soda"]):not([data-theme="forest"]) body #study#study.on .study-top .pbar i::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #study#study.on .study-top .pbar.v5-bar{overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .pcount{flex:none!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;line-height:1!important;color:var(--v5-ink-2)!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .v5m-more{
  order:3!important;flex:none!important;width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;background:var(--v5-panel)!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;color:var(--v5-ink)!important;font-size:var(--v5-fs-title)!important;line-height:1!important;cursor:pointer!important;
  transition:transform var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .v5m-more:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .v5m-more i{font-style:normal!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-mobile-title,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-mobile-actions,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-brand,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top #studyFocusBtn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .study-top-meta{display:none!important;}

/* 7.2 舞台接管：一期注入的 .wsv5-stage 是这一页唯一的滚动面（三栏用 display:contents 摊平） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage{
  display:flex!important;flex-direction:column!important;gap:12px!important;
  flex:1 1 auto!important;min-height:0!important;grid-template-columns:none!important;
  padding:12px var(--v5m-gut) 0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;clip-path:none!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage::-webkit-scrollbar{width:0;height:0;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage .wsv5-scol{display:contents!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on:has(.wsv5-stage)>.study-body,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on:has(.wsv5-stage)>.study-foot{display:none!important;}
/* 落位：航线 caption → （展开的航线表）→ 舞台+释义 → 7 站轨道 → 动作区（钉底） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-left>.v5m-route{order:1!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-left>.wsv5-p:has(#studyProgress){order:2!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-mid>.wsv5-card{order:3!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-right>.wsv5-orbitcard{order:4!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-mid>#studyFoot{order:9!important;margin-top:auto!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-mid>.wsv5-badges,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-left>.wsv5-p:has(#studyBookStrip),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-right>#studyAside,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-mid>.wsv5-keyrow{display:none!important;}
/* 7.3 一行航线 caption（点开展开 5 行紧凑表） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .v5m-route{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;
  min-height:32px!important;height:auto!important;padding:0 2px!important;margin:0!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-align:left!important;cursor:pointer!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;line-height:1.4!important;color:var(--v5-ink-3)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .v5m-route span{flex:1 1 auto!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .v5m-route i{flex:none!important;font-style:normal!important;transition:transform var(--v5-dur) var(--v5-ease);}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on.v5m-route-open .v5m-route i{transform:rotate(180deg);}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-left>.wsv5-p:has(#studyProgress){display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on.v5m-route-open .wsv5-left>.wsv5-p:has(#studyProgress){
  display:block!important;flex:none!important;min-height:0!important;padding:12px 16px!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r)!important;background:var(--v5-panel)!important;box-shadow:none!important;clip-path:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-p:has(#studyProgress)::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-p:has(#studyProgress)::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-p:has(#studyProgress)>.wsv5-ph{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-p:has(#studyProgress)>.wsv5-note{display:block!important;margin:10px 0 0!important;padding:0!important;font-size:var(--v5-fs-caption)!important;line-height:1.5!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-p:has(#studyProgress)>.wsv5-note::before{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress{
  display:flex!important;flex-direction:column!important;gap:10px!important;grid-template-columns:none!important;
  flex:none!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mini-prog{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:10px!important;row-gap:4px!important;align-items:center!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;min-width:0!important;overflow:visible!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mini-prog::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mini-prog::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mp-top{display:contents!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mp-label{font-family:inherit!important;font-weight:500!important;color:var(--v5-ink-2)!important;white-space:nowrap!important;line-height:1.3!important;}
/* 「到期复习」那一格是 font-size:0 + ::after「复习巩固」，绝不能把 font-size 改回去 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mini-prog:not(.review) .mp-label{font-size:var(--v5-fs-body)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mini-prog.review .mp-label::after{font-size:var(--v5-fs-body)!important;font-weight:500!important;color:var(--v5-ink-2)!important;letter-spacing:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mp-count{justify-self:end!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;line-height:1!important;color:var(--v5-ink)!important;white-space:nowrap!important;font-variant-numeric:tabular-nums!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mp-track{grid-column:1 / -1!important;height:4px!important;margin:0!important;border-radius:var(--v5-r-pill)!important;overflow:hidden!important;background:var(--v5-line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyProgress .mp-fill{display:block!important;height:100%!important;border-radius:var(--v5-r-pill)!important;background:var(--v5-accent)!important;box-shadow:none!important;}
/* 7.4 手卷舞台（.v5m-stage = 21 号把 .center 们包起来的那一层）：唯一发光物；切角；纸面 --v5-panel-2 + 纤维纹 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-card.v5m-card{
  position:relative!important;flex:none!important;min-height:0!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;clip-path:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-card.v5m-card::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-card.v5m-card::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-card .wsv5-sheet{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody{
  position:static!important;inset:auto!important;z-index:auto!important;display:block!important;overflow:visible!important;
  width:auto!important;max-width:none!important;min-height:0!important;padding:0!important;margin:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .flash{
  display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;text-align:left!important;
  border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;border-color:transparent!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage{
  position:relative!important;isolation:isolate;display:block!important;padding:18px 16px 16px!important;margin:0 0 14px!important;
  background:transparent!important;border:0!important;text-align:center!important;
  animation:var(--v5-enter) var(--v5-dur-slow) var(--v5-ease) both;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    repeating-linear-gradient(8deg,transparent 0 5px,color-mix(in srgb,var(--v5-ink) calc(7% * var(--v5-grain)),transparent) 5px 6px),
    var(--v5-panel-2);
  border:1px solid var(--v5-line);
  border-radius:var(--v5-r);
  clip-path:var(--v5-hero-clip);
  box-shadow:var(--v5-shadow-soft);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage::after{
  content:"";position:absolute;inset:6px;z-index:-2;border-radius:var(--v5-r);
  background:var(--v5-accent-line);filter:blur(16px);opacity:calc(.6 * var(--v5-glow));
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage .center{text-align:center!important;margin:0!important;padding:0!important;width:auto!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage .center+.center{margin-top:8px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .tag{
  display:inline-flex!important;align-items:center!important;padding:0!important;margin:0 0 2px!important;min-height:0!important;height:auto!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.2!important;color:var(--v5-accent-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .wordline{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:8px 12px!important;margin:0!important;padding:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .word{
  font-family:var(--v5-word)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:0!important;color:var(--v5-ink)!important;text-shadow:none!important;
}
/* fitStudyWord() 短词写 44px（站点上限）；§3 词头 40 → 只在它写 44 时压到 40；长词缩小后的行内值照用 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .word[style*="font-size: 44px"]{font-size:var(--v5-fs-word)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .spk-group{display:inline-flex!important;gap:8px!important;align-items:center!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .spk-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  width:auto!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0 10px!important;margin:0!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;background:var(--v5-panel)!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;line-height:1!important;color:var(--v5-ink-2)!important;
  transition:transform var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .spk-btn:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .spk-btn svg{width:14px!important;height:14px!important;flex:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .spk-btn.spk-solo{width:32px!important;padding:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .word-ipa{margin:6px 0 0!important;padding:0!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;color:var(--v5-ink-3)!important;background:none!important;border:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .hint-tap{margin:8px 0 0!important;padding:0!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;color:var(--v5-ink-3)!important;background:none!important;border:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-explain{
  text-align:left!important;margin:12px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .flash>.memory-explain{margin:0 0 12px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-explain-top{display:flex!important;align-items:flex-start!important;gap:8px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-pill{
  flex:none!important;display:inline-flex!important;align-items:center!important;height:22px!important;padding:0 8px!important;margin:0!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:var(--v5-accent-soft)!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.02em!important;color:var(--v5-accent-ink)!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-copy,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-next{font-size:var(--v5-fs-caption)!important;line-height:1.5!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .memory-next{display:block!important;margin:4px 0 0!important;color:var(--v5-ink-3)!important;}
/* 7.5 释义：一个面（不套框，只用分隔线） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;text-align:left!important;
  border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info>*+*{border-top:1px solid var(--v5-line)!important;margin-top:10px!important;padding-top:10px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info>div:first-child{font-family:inherit!important;font-size:var(--v5-fs-title)!important;font-weight:600!important;line-height:1.4!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .pos{display:inline-block!important;margin:0 6px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;font-style:normal!important;color:var(--v5m-accent-text)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .def{font:inherit!important;color:inherit!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .ex,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .tip{
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-style:normal!important;font-weight:400!important;line-height:1.6!important;color:var(--v5-ink-2)!important;
  padding-left:0!important;padding-right:0!important;padding-bottom:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .ex-spk{
  display:inline-grid!important;place-items:center!important;width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;margin:0 0 0 6px!important;vertical-align:middle!important;
  border:1px solid var(--v5-line)!important;border-radius:var(--v5-r-chip)!important;background:none!important;box-shadow:none!important;color:var(--v5-accent-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .ex-spk svg{width:14px!important;height:14px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-tag{display:inline-block!important;margin:0 6px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;font-family:var(--v5-tech)!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.06em!important;color:var(--v5m-accent-text)!important;}
/* M-a-10：英英释义前的英文眉题「EN」→ 中文「英英」（原字形 font-size:0 藏起，节点不动） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-tag{font-size:0!important;letter-spacing:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-tag::before{content:"英英"!important;font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.04em!important;color:var(--v5m-accent-text)!important;}
/* VV1-mob-italic（同桌面 D-rchk-05）：旧版 index.html 给 .dict-pos / .endef-pos 的是 Georgia 衬线斜体，「有道」两个中文字被伪斜体。
   §3：衬线只给词头，中文一律系统黑体 → 词性标签一律 --cjk 正体、caption 档、500。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-pos{font-family:var(--cjk)!important;font-size:var(--v5-fs-caption)!important;font-weight:500!important;font-style:normal!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-exzh{display:block!important;margin:2px 0 0!important;font-size:var(--v5-fs-caption)!important;font-style:normal!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-sent{display:block!important;margin:8px 0 0!important;padding:8px 0 0!important;border-top:1px dashed var(--v5-line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-sent-en{display:block!important;font-style:normal!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .endef-sent-zh{display:block!important;margin:2px 0 0!important;font-size:var(--v5-fs-caption)!important;font-style:normal!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .hint-row{display:flex!important;gap:8px!important;font-size:var(--v5-fs-caption)!important;line-height:1.5!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .hint-aff{flex:none!important;font-weight:600!important;color:var(--v5m-accent-text)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .stagehint{font-size:var(--v5-fs-caption)!important;line-height:1.5!important;color:var(--v5-ink-3)!important;background:none!important;border-radius:0!important;padding-left:0!important;padding-right:0!important;padding-bottom:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def{border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important;padding-bottom:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 6px!important;padding:0!important;border:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-title{font-family:inherit!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-link{
  display:inline-flex!important;align-items:center!important;min-height:0!important;padding:4px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;color:var(--v5m-accent-text)!important;text-decoration:none!important;white-space:nowrap!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-link::after{content:" ›";}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-body{font-family:inherit!important;font-size:var(--v5-fs-body)!important;line-height:1.6!important;color:var(--v5-ink-2)!important;padding:0!important;margin:0!important;border:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-skel span{background:var(--v5-line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-def-loading{font-size:var(--v5-fs-caption)!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info #onlineEndef{margin:8px 0 0!important;padding:8px 0 0!important;border:0!important;border-top:1px dashed var(--v5-line)!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:var(--v5-fs-body)!important;color:var(--v5-ink-2)!important;}
/* 记忆钩子（词根词缀 / 小贴士）：去框，只当释义面的一段 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint{padding-left:0!important;padding-right:0!important;padding-bottom:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-head{display:flex!important;align-items:center!important;gap:6px!important;margin:0 0 6px!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;letter-spacing:0!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-head span{font-size:var(--v5-fs-caption)!important;font-weight:600!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-head svg{width:14px!important;height:14px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-tip,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-word,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-rows{font-size:var(--v5-fs-body)!important;line-height:1.6!important;color:var(--v5-ink-2)!important;background:none!important;border:0!important;padding:0!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-word{font-family:var(--v5-word)!important;font-size:var(--v5-fs-title)!important;color:var(--v5-ink)!important;margin:0 0 4px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-word .seg-affix{color:var(--v5-accent-ink)!important;font-style:normal!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-word .seg-dot{color:var(--v5-ink-3)!important;font-style:normal!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .study-hint-word .seg-stem{font-style:normal!important;}
/* 在线释义各行：字号只落在 caption / body 两档 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info :where(.online-main,.dict-group,.dict-meanings,.endef-line,.endef-en,.endef-sent-en,.online-def-body p){font-size:var(--v5-fs-body)!important;line-height:1.6!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-main{font-weight:600!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info :where(.online-provider,.online-source,.endef-zh,.dict-pos,.online-alt-links,.online-alt-links a,.ws-mini-dict,small){font-size:var(--v5-fs-caption)!important;line-height:1.5!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .dict-pos{font-family:var(--cjk)!important;font-weight:500!important;font-style:normal!important;color:var(--v5m-accent-text)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .dict-group{align-items:baseline!important;}
/* VV1-mob-nested-scroll：旧版给在线词典块的高度上限（ui-polish-v4 max-height:34dvh / index.html 176px + overflow:auto）在 V5 手机里
   变成「滚动框里套滚动框」—— 外层 .wsv5-stage 滚到底时，最后一行被框底截断、三个外链藏在框里。V5 手机整页由外层滚，这里放开。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .online-def{max-height:none!important;overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-alt-links{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:8px 0 0!important;}
/* 三个外链是文字链（左对齐正文、无底色）：旧版 index.html 给了 accent-soft 药丸底 + 999 圆角，而这里横向 padding 归零 → 字贴着药丸边。
   以前藏在词典框里的二次滚动中看不到，放开嵌套滚动后露出来，一并去底（同桌面 16 号的做法）。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .info .online-alt-links a{padding:6px 0!important;color:var(--v5m-accent-text)!important;font-weight:500!important;text-decoration:none!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
/* 7.6 7 站轨道（一期渲染并同步，手机只换形，不套框） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard{
  flex:none!important;padding:0 2px!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;clip-path:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard:has(.wsv5-osvg:empty){display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard .wsv5-ph{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 4px!important;padding:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard .wsv5-eyebrow{
  display:block!important;font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;line-height:1.2!important;color:var(--v5-accent-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard .wsv5-eyebrow::before{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbitcard .wsv5-oword{font-family:var(--v5-tech)!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;color:var(--v5-ink-3)!important;padding:0!important;min-height:0!important;border-radius:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbit{flex:none!important;padding:0!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-orbit svg{display:block!important;width:100%!important;height:auto!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-oft{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin:4px 0 0!important;font-size:var(--v5-fs-caption)!important;line-height:1.4!important;color:var(--v5-ink-3)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-oft b{font-family:var(--v5-tech)!important;font-size:var(--v5-fs-caption)!important;font-weight:600!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-oft .d{opacity:.4!important;}
/* V6.9.0 完成页游客注册块：.v5-actbar 钉在滚动面底边（下面 7.7），740 高的小手机上卡片尾部的「注册保存这 N 个词」正好落在它底下、
   不划到底看不见（9/23 自查同一类问题，经典手机版在 index.html 里同款修法）。手机上把它提到标题正下方（flex order），
   并给滚动面留出动作区高度的 scroll-padding，程序滚动别把目标停在它底下。桌面 V5 不走这条。 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage{scroll-padding-bottom:calc(150px + var(--v5m-sab,0px));}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage #studyBody .done{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage #studyBody .done>*{order:2;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage #studyBody .done>.seal{order:0;align-self:center;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage #studyBody .done>h2{order:0;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .wsv5-stage #studyBody .done>.done-guest{order:1;margin-bottom:10px!important;}
/* 本轮完成、今日计划还没做完：底部是「继续今日计划」+「先回首页」两颗——04 号给后者的行内样式本意是次按钮（卡片底 + 细边），
   被新版主按钮规则的 !important 盖成了第二颗实心主按钮（一屏两个主按钮，§5 只许一个）→ 按原意还原成次按钮（V7.0.0 全主题自查） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot #continuePlanBtn ~ #finishBtn{background:var(--v5-panel)!important;background-image:none!important;color:var(--v5-ink)!important;border:1px solid var(--v5-line-2)!important;box-shadow:none!important;filter:none!important;clip-path:none!important;}
/* V7.4.2 完成页「再学一组新词」：次按钮(面板底 + 细边，两行字) + 5/10/20 小分段——不再多出一颗实心主按钮 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host{margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-go:not(#_){background:var(--v5-panel)!important;background-image:none!important;color:var(--v5-accent-ink)!important;border:1px solid var(--v5-line-2)!important;box-shadow:none!important;filter:none!important;clip-path:none!important;height:auto!important;min-height:52px!important;padding:6px 10px!important;letter-spacing:0!important;border-radius:var(--v5-r-sm,14px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-go:not(#_) b{font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-go:not(#_) small{font-size:var(--v5-fs-caption)!important;font-weight:400!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-seg{background:var(--v5-panel)!important;border-color:var(--v5-line-2)!important;border-radius:var(--v5-r-sm,14px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-opt span{color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-opt input:checked+span{background:var(--v5-accent-soft)!important;color:var(--v5-accent-ink)!important;box-shadow:inset 0 0 0 1px var(--v5-accent-line,var(--v5-line-2))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-done-play.has-bed>button{padding-left:4px!important;padding-right:4px!important;letter-spacing:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-go:disabled:not(#_){opacity:1!important;color:var(--v5-ink-2)!important;cursor:default!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .ws-xg-host .ws-xg-go:disabled:not(#_) b{color:var(--v5-ink)!important;}
/* 7.7 固定动作区 .v5-actbar：[↶] [主按钮 / 判分键] + 「这个我已经认识 · 跳过」文字按钮；钉在滚动面底边，安全区只让这一次 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot.v5-actbar{
  position:sticky!important;bottom:0!important;z-index:3!important;
  flex:none!important;max-width:none!important;width:auto!important;margin:auto calc(-1 * var(--v5m-gut)) 0!important; /* margin-top:auto：内容短时也钉在屏幕底（原来 margin:0 把 680 行的 margin-top:auto 盖掉了，动作区浮在屏幕中间、下面空一截） */
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important;
  padding:10px var(--v5m-gut) max(10px,var(--v5m-sab))!important;
  background:var(--v5-panel)!important;border:0!important;border-top:1px solid var(--v5-line)!important;border-radius:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot.v5-actbar::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot.v5-actbar::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>*{grid-column:1 / -1!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.study-mobile-foot,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.study-mobile-foot>.study-bottom-row{display:contents!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot:has(>.study-mobile-foot [data-study-prev]){grid-template-columns:40px minmax(0,1fr)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.show-btn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.study-mobile-foot>.grades{grid-column:-2 / -1!important;grid-row:1!important;margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.study-mobile-foot [data-study-prev]{grid-column:1!important;grid-row:1!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.study-mobile-foot>.skip-link{grid-column:1 / -1!important;grid-row:2!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-assist-actions,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot [data-study-quick],
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot [data-study-next]{display:none!important;}
/* .grades 不写 display（主脚本靠行内 display:none 在揭晓前藏判分键） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades{gap:8px!important;width:auto!important;margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades.study-learn-grades{grid-template-columns:minmax(0,1fr)!important;}
/* 判分键：只改形与尺寸，配色沿用站点已调好的 .grade.forgot / .grade.good */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades .grade,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.grade{
  width:auto!important;min-width:0!important;height:auto!important;min-height:var(--v5-btn-h-lg)!important;padding:6px!important;margin:0!important;
  border:0!important;border-radius:var(--v5-r-btn)!important;clip-path:var(--v5-btn-clip)!important;box-shadow:none!important;filter:none!important;
  transition:transform var(--v5-dur) var(--v5-ease)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades .grade:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot>.grade:is(:active,.is-pressed){transform:var(--v5-press)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades .grade .gt{font-family:inherit!important;font-size:var(--v5-fs-body-lg)!important;font-weight:600!important;letter-spacing:0!important;line-height:1.2!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .grades .grade .gd{font-family:inherit!important;font-size:var(--v5-fs-eyebrow)!important;font-weight:500!important;margin:2px 0 0!important;opacity:.85!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .skip-link{
  display:block!important;width:100%!important;min-height:36px!important;height:auto!important;margin:0!important;padding:6px 8px!important;
  border:0!important;border-radius:var(--v5-r-sm)!important;background:none!important;box-shadow:none!important;text-decoration:none!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:600!important;line-height:1.2!important;color:var(--v5m-accent-text)!important;text-align:center!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-bottom-row [data-study-prev]{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;
  border:1px solid var(--v5-line-2)!important;border-radius:var(--v5-r-sm)!important;background:transparent!important;box-shadow:none!important;
  color:var(--v5-accent-ink)!important;font-size:0!important;line-height:0!important;cursor:pointer!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-bottom-row [data-study-prev]::before{
  content:"↶"!important;display:block!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  font-family:var(--cjk)!important;font-size:var(--v5-fs-section)!important;font-weight:400!important;line-height:1!important;color:currentColor!important;
  background:none!important;-webkit-mask:none!important;mask:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-bottom-row [data-study-prev]::after{display:none!important;content:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-bottom-row [data-study-prev][disabled]{opacity:.4!important;cursor:not-allowed!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .study-bottom-row [data-study-prev]:not([disabled]):is(:active,.is-pressed){transform:var(--v5-press)!important;}
/* 全屏专注：只留 暂停 + 总进度 + 舞台 + 动作区 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-focus #study#study.on .wsv5-left>.v5m-route,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-focus #study#study.on.v5m-route-open .wsv5-left>.wsv5-p:has(#studyProgress),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-focus #study#study.on .wsv5-right>.wsv5-orbitcard{display:none!important;}
/* 7.8 学习页提示条：顶栏下沿 + 8px，不透明，不盖动作区（位置由 21 号在弹出那一刻量顶栏得出） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) #toast#toast{
  top:var(--v5m-toast-top,calc(var(--v5m-sat) + var(--v5m-topbar) + 8px))!important;bottom:auto!important;left:16px!important;right:16px!important;
  width:auto!important;max-width:none!important;min-height:40px!important;box-sizing:border-box!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:8px 16px!important;margin:0!important;border:0!important;border-radius:var(--v5-r-pill)!important;
  font-family:inherit!important;font-size:var(--v5-fs-body)!important;font-weight:500!important;line-height:1.4!important;text-align:center!important;white-space:normal!important;
  color:var(--v5-paper)!important;background:var(--v5-ink)!important;box-shadow:var(--v5-shadow)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;transform:translateY(-6px);transition:transform var(--v5-dur) var(--v5-ease),opacity var(--v5-dur) var(--v5-ease);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) #toast#toast.on{transform:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) #toast#toast.toast--celebrate{background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_):has(.contact-modal.on,.ws-reg-modal.on,.modal.on,#wsSciIntro) #toast#toast{top:calc(var(--v5m-sat) + 6px)!important;min-height:0!important;padding:6px 14px!important;font-size:var(--v5-fs-caption)!important;}
@media(prefers-reduced-motion:no-preference){
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.ws-studying:not(#_) #toast#toast.toast--celebrate.on{animation:wsv5mToastPop var(--v5-dur-slow) var(--v5-ease)!important;}
}

/* ==================== 7.9 主题性格（§2.1）：手机页上的落点 ====================
   · 形状已全部走 --v5-r / --v5-r-sm / --v5-r-btn / --v5-r-chip / --v5-btn-clip / --v5-hero-clip；
   · 动效已全部走 --v5-ease / --v5-dur* / --v5-press / --v5-enter；
   · 这里只放「主题专属的落点」：猫卷的猫（底栏摇尾 / 连胜火花改猫爪 / 头像猫耳 / 进度条小猫头），纸墨的印（主按钮盖章描边），
     极简的克制（不摇不弹）。keyframes 只用 16 号已有的 v5-wiggle；一个主题一个签名动效，不互相串。 */
/* 桃桃猫卷：底栏切换时当前 tab 的图标（ui-polish 的 ::before 遮罩图标）摇尾 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body nav.v5-tabbar>button.active::before{animation:v5-wiggle var(--v5-dur-slow) var(--v5-ease) 1;transform-origin:50% 90%;}
/* 桃桃猫卷：连胜「火花」改猫爪（chip 图标 + 连胜卡火花行图标都是 --wsico 遮罩，换成打卡标记令牌里的肉球） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeStreak.v5-chip,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.fire .mobile-streak-icon{--wsico:var(--v5-mark-done);}
/* 桃桃猫卷：头像长猫耳（16 号 .v5-chip.is-avatar::before/::after，21 号在挂载时给 #mobileHomeAvatar 加这两个类；圆角与尺寸仍由上面的顶条规则决定） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-avatar{overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-avatar::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-avatar::after{
  content:""!important;position:absolute!important;top:-6px!important;width:10px!important;height:10px!important;z-index:-1!important;display:block!important;
  background:var(--v5-accent-soft)!important;border:1px solid var(--v5-accent-line)!important;border-radius:70% 70% 10% 10%!important;
  -webkit-mask:none!important;mask:none!important;opacity:1!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-avatar::before{left:5px!important;right:auto!important;transform:rotate(-14deg)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-avatar::after{right:5px!important;left:auto!important;transform:rotate(14deg)!important;}
/* 桃桃猫卷：卡片入场从 .96 弹到 1（首页各卡在挂载后各弹一次；主脚本重渲染的节点不挂，避免闪） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body #mobileHome#mobileHome#mobileHome.v5m-home>.wsv5m{animation:var(--v5-enter) var(--v5-dur-slow) var(--v5-ease) both;}
/* 纸墨浅 / 纸墨深：主按钮像印章——印泥色内描边（同 16 号桌面规则；这里因为主按钮的 box-shadow 带 !important 要复述一次），按下 --v5-press 先压后回 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="light"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="dark"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="light"] body #study.on #studyFoot .learn-next,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="dark"] body #study.on #studyFoot .learn-next,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="light"] body #study.on #studyFoot .show-btn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="dark"] body #study.on #studyFoot .show-btn{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--v5-on-accent) 25%,transparent),inset 0 0 0 3px var(--v5-accent),inset 0 0 0 4px color-mix(in srgb,var(--v5-on-accent) 30%,transparent)!important;}
/* 纸墨：手卷舞台不发光、宣纸纹理更重（--v5-grain 已在 16 号旋钮里给到 .9 / .5），印章「卷」用的是 --terra 系印泥色（21 号 SVG） */
/* 极简 云阶白卷 / 星河夜卷：只有淡入——舞台不发光、不摇、按压无（--v5-press:none 已由令牌给出） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="minimal-light"] body #study#study.on #studyBody .v5m-stage::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="minimal-dark"] body #study#study.on #studyBody .v5m-stage::after{display:none!important;}
/* 星穹：切角只在主按钮（--v5-btn-clip）与手卷舞台（--v5-hero-clip）两处。像素街机的落点在文件末尾「P」节。 */

/* ==================== 8. 减少动态效果 ==================== */
@media(prefers-reduced-motion:reduce){
  html.ws-v5.ws-v5m .v5m-sway{animation:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button.active::before,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome.v5m-home>.wsv5m,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .v5m-stage{animation:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask .v5m-sheet{transition:none!important;transform:none!important;}
}

}

/* ==================== 9. 关键帧（wsv5m 前缀，不和一期撞） ==================== */
@keyframes wsv5mSway{0%,100%{transform:rotate(-.25deg)}50%{transform:rotate(.25deg) translateY(-2px)}}
@keyframes wsv5mToastPop{0%{transform:scale(.94)}55%{transform:scale(1.03)}100%{transform:scale(1)}}

/* V7.0.0 字号底线（任何字 ≥ 12px）：学习页音标前的「英 / 美」与在线词典的「英文思维」眉题，index.html 内联给的是 11px，手机新版一直没接 */
@media(max-width:768px){
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody :is(.word-ipa i,.endef-eyebrow){font-size:var(--v5-fs-eyebrow)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .word-ipa i{opacity:1!important;}   /* 第三轮核查 #5：index.html 的 .word-ipa i{opacity:.75} 在手机上没复位（16 号那条在 ≥769 的 media 里），浅色主题只剩 3.2–3.4:1 */
/* 「英文思维 · 像母语者一样理解」眉题：index.html 给的是 --accent 当字（桃桃猫卷 2.51、云阶白卷 4.36）→ 改用「强调色当字」令牌（第二轮核查 #3） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .endef-eyebrow{color:var(--v5-accent-ink)!important;}
/* 对比度（≥ 4.5:1，v5-matrix-probe 实测）：词根词缀释义「再次/回」在纸墨深 / 星河夜卷 / 星穹上只有 3.6–3.9；例句里高亮的目标词（--terra）在纸墨浅上 4.13 → 都往正文色靠一点 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .hint-gloss{color:color-mix(in srgb,var(--v5-ink-2) 70%,var(--v5-ink))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyBody .ex em{color:color-mix(in srgb,var(--terra) 78%,var(--v5-ink))!important;}
}
/* >>> PIXEL-V7 像素街机（V7.0.0）>>> */
/* ============================================================================
 * P. 像素街机 pixel（V7.0.0 旗舰主题 · release-packages/v7-pixel/DESIGN-PIXEL.md）
 * ----------------------------------------------------------------------------
 * 只在 [data-theme="pixel"] 下生效，其余主题一个像素不变。定位：高级、成熟的 8-bit 街机，不是霓虹。
 *  · 形：像素单位 P = 3px；面板 / 按键 / 芯片一律两级台阶切角（--v5p-clip）；描边 = inset 3px（clip-path 会裁掉外阴影），
 *        台阶转角那一格用 4 个 3×3 背景块补上（--v5p-cn*），描边才是一条连续的像素线。
 *  · 键：主操作 = 洋红街机键（底部 6px「侧面」，按下沉 3px）；次操作 = 深面 + 描边侧面；信息 = 青色描边键。
 *  · 条：所有进度条 = 分格 EXP 条（9px 格 + 3px 缝），宽度变化用 steps。
 *  · 字（V7.0.0 业主口径，与 16 号 --px-sys / --px-num、26 号旧版同一套）：中文永远系统字；≥16px 的数字 = Press Start 2P（--v5p-num，16 / 24 / 32、字重 400）；
 *        <16px 的数字 = 系统字（--v5p-sys；手机像素主题下 --v5-tech 也指向它）；Pixelify（--v5p-font）只给英文单词；任何字 ≥ 12px。
 *  · 动：全部 steps()；只有小元件有常驻动画（像素猫、光标）；全部尊重 prefers-reduced-motion（停在最后一帧）。
 * ==========================================================================*/

/* ==================== P0. 共享令牌 / 素材 / 字体（18 / 20 / 22 / 24 共用；不带 media = 所有宽度） ==================== */
/* V7.4.0 性能（B9）：两个像素字体的 @font-face 原来在 16 / 20 / 26 号各声明一遍（同一地址三份声明），这里删掉，新版只留 16 号第 7 节那一处（16 号所有宽度都加载、排在本文件之前，"WS Pixel" / "WS Pixel Display" 两个字族名照常可用）；
   26 号旧版皮保留自己那份（它在新版下 media=not all）。index.html head 在像素主题下按同一地址 preload，地址改动要三处一起改。 */
/* 与主题无关的几何 / 字体 / 素材令牌：只是变量定义，不画任何东西（主题预览在别的主题下也要画像素街机卡） */
html.ws-v5{
  --v5p-font:"WS Pixel","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  --v5p-disp:"WS Pixel Display","WS Pixel",ui-monospace,monospace;
  /* V7.0.0 数字字体口径（业主拍板）：Pixelify 的小号数字糊（5 像 S、2 像 e、7 像 ᒣ）→
     ≥16px 的数字 = Press Start 2P（--v5p-num；只用 16 / 24 / 32，字重 400，中文单位落到系统字）；
     <16px 的数字与所有中文 = 系统字（--v5p-sys）；Pixelify（--v5p-font）只给英文单词。 */
  --v5p-sys:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
  --v5p-num:"WS Pixel Display",-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;
  --v5p-clip:polygon(0 6px,3px 6px,3px 3px,6px 3px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,calc(100% - 3px) 3px,calc(100% - 3px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 3px) calc(100% - 6px),calc(100% - 3px) calc(100% - 3px),calc(100% - 6px) calc(100% - 3px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 3px),3px calc(100% - 3px),3px calc(100% - 6px),0 calc(100% - 6px));
  --v5p-clip-top:polygon(0 6px,3px 6px,3px 3px,6px 3px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 3px,calc(100% - 3px) 3px,calc(100% - 3px) 6px,100% 6px,100% 100%,0 100%);
  /* 素材（release-packages/v7-pixel/sprites.json，make-sprites.cjs 生成，原样照抄；颜色在 data-URI 里写成 %23） */
  --v5p-dots:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' shape-rendering='crispEdges'><rect x='0' y='0' width='1' height='1' fill='%238A94C8' fill-opacity='.18'/></svg>");
  --v5p-cat-idle:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231B1530'/><rect x='3' y='0' width='1' height='1' fill='%231B1530'/><rect x='12' y='0' width='1' height='1' fill='%231B1530'/><rect x='13' y='0' width='1' height='1' fill='%231B1530'/><rect x='1' y='1' width='1' height='1' fill='%231B1530'/><rect x='2' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='1' width='1' height='1' fill='%231B1530'/><rect x='11' y='1' width='1' height='1' fill='%231B1530'/><rect x='12' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='1' width='1' height='1' fill='%231B1530'/><rect x='1' y='2' width='1' height='1' fill='%231B1530'/><rect x='2' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='5' y='2' width='1' height='1' fill='%231B1530'/><rect x='6' y='2' width='1' height='1' fill='%231B1530'/><rect x='7' y='2' width='1' height='1' fill='%231B1530'/><rect x='8' y='2' width='1' height='1' fill='%231B1530'/><rect x='9' y='2' width='1' height='1' fill='%231B1530'/><rect x='10' y='2' width='1' height='1' fill='%231B1530'/><rect x='11' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='12' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='2' width='1' height='1' fill='%231B1530'/><rect x='1' y='3' width='1' height='1' fill='%231B1530'/><rect x='2' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='3' width='1' height='1' fill='%231B1530'/><rect x='0' y='4' width='1' height='1' fill='%231B1530'/><rect x='1' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='4' width='1' height='1' fill='%231B1530'/><rect x='0' y='5' width='1' height='1' fill='%231B1530'/><rect x='1' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='5' width='1' height='1' fill='%231B1530'/><rect x='0' y='6' width='1' height='1' fill='%231B1530'/><rect x='1' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='6' width='1' height='1' fill='%23FFFFFF'/><rect x='5' y='6' width='1' height='1' fill='%231B1530'/><rect x='6' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='6' width='1' height='1' fill='%23FFFFFF'/><rect x='11' y='6' width='1' height='1' fill='%231B1530'/><rect x='12' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='6' width='1' height='1' fill='%231B1530'/><rect x='0' y='7' width='1' height='1' fill='%231B1530'/><rect x='1' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='7' width='1' height='1' fill='%231B1530'/><rect x='5' y='7' width='1' height='1' fill='%231B1530'/><rect x='6' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='7' width='1' height='1' fill='%231B1530'/><rect x='11' y='7' width='1' height='1' fill='%231B1530'/><rect x='12' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='7' width='1' height='1' fill='%231B1530'/><rect x='0' y='8' width='1' height='1' fill='%231B1530'/><rect x='1' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='8' width='1' height='1' fill='%231B1530'/><rect x='8' y='8' width='1' height='1' fill='%231B1530'/><rect x='9' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='8' width='1' height='1' fill='%231B1530'/><rect x='0' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='9' width='1' height='1' fill='%231B1530'/><rect x='7' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='9' width='1' height='1' fill='%231B1530'/><rect x='10' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='10' width='1' height='1' fill='%231B1530'/><rect x='2' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='10' width='1' height='1' fill='%231B1530'/><rect x='8' y='10' width='1' height='1' fill='%231B1530'/><rect x='9' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='10' width='1' height='1' fill='%231B1530'/><rect x='1' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='13' width='1' height='1' fill='%231B1530'/><rect x='4' y='13' width='1' height='1' fill='%231B1530'/><rect x='5' y='13' width='1' height='1' fill='%231B1530'/><rect x='6' y='13' width='1' height='1' fill='%231B1530'/><rect x='7' y='13' width='1' height='1' fill='%231B1530'/><rect x='8' y='13' width='1' height='1' fill='%231B1530'/><rect x='9' y='13' width='1' height='1' fill='%231B1530'/><rect x='10' y='13' width='1' height='1' fill='%231B1530'/><rect x='11' y='13' width='1' height='1' fill='%231B1530'/><rect x='12' y='13' width='1' height='1' fill='%231B1530'/></svg>");
  --v5p-cat-blink:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231B1530'/><rect x='3' y='0' width='1' height='1' fill='%231B1530'/><rect x='12' y='0' width='1' height='1' fill='%231B1530'/><rect x='13' y='0' width='1' height='1' fill='%231B1530'/><rect x='1' y='1' width='1' height='1' fill='%231B1530'/><rect x='2' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='1' width='1' height='1' fill='%231B1530'/><rect x='11' y='1' width='1' height='1' fill='%231B1530'/><rect x='12' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='1' width='1' height='1' fill='%231B1530'/><rect x='1' y='2' width='1' height='1' fill='%231B1530'/><rect x='2' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='5' y='2' width='1' height='1' fill='%231B1530'/><rect x='6' y='2' width='1' height='1' fill='%231B1530'/><rect x='7' y='2' width='1' height='1' fill='%231B1530'/><rect x='8' y='2' width='1' height='1' fill='%231B1530'/><rect x='9' y='2' width='1' height='1' fill='%231B1530'/><rect x='10' y='2' width='1' height='1' fill='%231B1530'/><rect x='11' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='12' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='2' width='1' height='1' fill='%231B1530'/><rect x='1' y='3' width='1' height='1' fill='%231B1530'/><rect x='2' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='3' width='1' height='1' fill='%231B1530'/><rect x='0' y='4' width='1' height='1' fill='%231B1530'/><rect x='1' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='4' width='1' height='1' fill='%231B1530'/><rect x='0' y='5' width='1' height='1' fill='%231B1530'/><rect x='1' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='5' width='1' height='1' fill='%231B1530'/><rect x='0' y='6' width='1' height='1' fill='%231B1530'/><rect x='1' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='6' width='1' height='1' fill='%231B1530'/><rect x='0' y='7' width='1' height='1' fill='%231B1530'/><rect x='1' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='7' width='1' height='1' fill='%231B1530'/><rect x='4' y='7' width='1' height='1' fill='%231B1530'/><rect x='5' y='7' width='1' height='1' fill='%231B1530'/><rect x='6' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='7' width='1' height='1' fill='%231B1530'/><rect x='11' y='7' width='1' height='1' fill='%231B1530'/><rect x='12' y='7' width='1' height='1' fill='%231B1530'/><rect x='13' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='7' width='1' height='1' fill='%231B1530'/><rect x='0' y='8' width='1' height='1' fill='%231B1530'/><rect x='1' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='8' width='1' height='1' fill='%231B1530'/><rect x='8' y='8' width='1' height='1' fill='%231B1530'/><rect x='9' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='8' width='1' height='1' fill='%231B1530'/><rect x='0' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='9' width='1' height='1' fill='%231B1530'/><rect x='7' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='9' width='1' height='1' fill='%231B1530'/><rect x='10' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='10' width='1' height='1' fill='%231B1530'/><rect x='2' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='10' width='1' height='1' fill='%231B1530'/><rect x='8' y='10' width='1' height='1' fill='%231B1530'/><rect x='9' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='10' width='1' height='1' fill='%231B1530'/><rect x='1' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='13' width='1' height='1' fill='%231B1530'/><rect x='4' y='13' width='1' height='1' fill='%231B1530'/><rect x='5' y='13' width='1' height='1' fill='%231B1530'/><rect x='6' y='13' width='1' height='1' fill='%231B1530'/><rect x='7' y='13' width='1' height='1' fill='%231B1530'/><rect x='8' y='13' width='1' height='1' fill='%231B1530'/><rect x='9' y='13' width='1' height='1' fill='%231B1530'/><rect x='10' y='13' width='1' height='1' fill='%231B1530'/><rect x='11' y='13' width='1' height='1' fill='%231B1530'/><rect x='12' y='13' width='1' height='1' fill='%231B1530'/></svg>");
  --v5p-cat-happy:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14' shape-rendering='crispEdges'><rect x='2' y='0' width='1' height='1' fill='%231B1530'/><rect x='3' y='0' width='1' height='1' fill='%231B1530'/><rect x='12' y='0' width='1' height='1' fill='%231B1530'/><rect x='13' y='0' width='1' height='1' fill='%231B1530'/><rect x='1' y='1' width='1' height='1' fill='%231B1530'/><rect x='2' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='1' width='1' height='1' fill='%231B1530'/><rect x='11' y='1' width='1' height='1' fill='%231B1530'/><rect x='12' y='1' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='1' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='1' width='1' height='1' fill='%231B1530'/><rect x='1' y='2' width='1' height='1' fill='%231B1530'/><rect x='2' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='5' y='2' width='1' height='1' fill='%231B1530'/><rect x='6' y='2' width='1' height='1' fill='%231B1530'/><rect x='7' y='2' width='1' height='1' fill='%231B1530'/><rect x='8' y='2' width='1' height='1' fill='%231B1530'/><rect x='9' y='2' width='1' height='1' fill='%231B1530'/><rect x='10' y='2' width='1' height='1' fill='%231B1530'/><rect x='11' y='2' width='1' height='1' fill='%23FF8FB8'/><rect x='12' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='2' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='2' width='1' height='1' fill='%231B1530'/><rect x='1' y='3' width='1' height='1' fill='%231B1530'/><rect x='2' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='3' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='3' width='1' height='1' fill='%231B1530'/><rect x='0' y='4' width='1' height='1' fill='%231B1530'/><rect x='1' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='4' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='4' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='4' width='1' height='1' fill='%231B1530'/><rect x='0' y='5' width='1' height='1' fill='%231B1530'/><rect x='1' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='5' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='5' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='5' width='1' height='1' fill='%231B1530'/><rect x='0' y='6' width='1' height='1' fill='%231B1530'/><rect x='1' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='6' width='1' height='1' fill='%231B1530'/><rect x='5' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='6' width='1' height='1' fill='%231B1530'/><rect x='12' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='6' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='6' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='6' width='1' height='1' fill='%231B1530'/><rect x='0' y='7' width='1' height='1' fill='%231B1530'/><rect x='1' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='7' width='1' height='1' fill='%231B1530'/><rect x='4' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='7' width='1' height='1' fill='%231B1530'/><rect x='6' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='7' width='1' height='1' fill='%231B1530'/><rect x='11' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='7' width='1' height='1' fill='%231B1530'/><rect x='13' y='7' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='7' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='7' width='1' height='1' fill='%231B1530'/><rect x='0' y='8' width='1' height='1' fill='%231B1530'/><rect x='1' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='4' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='8' width='1' height='1' fill='%231B1530'/><rect x='8' y='8' width='1' height='1' fill='%231B1530'/><rect x='9' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='8' width='1' height='1' fill='%23FF8FB8'/><rect x='13' y='8' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='8' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='8' width='1' height='1' fill='%231B1530'/><rect x='0' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='2' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='3' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='9' width='1' height='1' fill='%231B1530'/><rect x='6' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='9' width='1' height='1' fill='%231B1530'/><rect x='11' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='9' width='1' height='1' fill='%23F2F4FF'/><rect x='14' y='9' width='1' height='1' fill='%23B9BED6'/><rect x='15' y='9' width='1' height='1' fill='%231B1530'/><rect x='1' y='10' width='1' height='1' fill='%231B1530'/><rect x='2' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='4' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='10' width='1' height='1' fill='%231B1530'/><rect x='7' y='10' width='1' height='1' fill='%231B1530'/><rect x='8' y='10' width='1' height='1' fill='%231B1530'/><rect x='9' y='10' width='1' height='1' fill='%231B1530'/><rect x='10' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='10' width='1' height='1' fill='%23F2F4FF'/><rect x='13' y='10' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='10' width='1' height='1' fill='%231B1530'/><rect x='1' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='3' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='5' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='6' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='7' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='8' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='9' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='10' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='11' y='11' width='1' height='1' fill='%23F2F4FF'/><rect x='12' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='11' width='1' height='1' fill='%23B9BED6'/><rect x='14' y='11' width='1' height='1' fill='%231B1530'/><rect x='2' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='4' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='5' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='6' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='7' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='8' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='9' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='10' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='11' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='12' y='12' width='1' height='1' fill='%23B9BED6'/><rect x='13' y='12' width='1' height='1' fill='%231B1530'/><rect x='3' y='13' width='1' height='1' fill='%231B1530'/><rect x='4' y='13' width='1' height='1' fill='%231B1530'/><rect x='5' y='13' width='1' height='1' fill='%231B1530'/><rect x='6' y='13' width='1' height='1' fill='%231B1530'/><rect x='7' y='13' width='1' height='1' fill='%231B1530'/><rect x='8' y='13' width='1' height='1' fill='%231B1530'/><rect x='9' y='13' width='1' height='1' fill='%231B1530'/><rect x='10' y='13' width='1' height='1' fill='%231B1530'/><rect x='11' y='13' width='1' height='1' fill='%231B1530'/><rect x='12' y='13' width='1' height='1' fill='%231B1530'/></svg>");
  --v5p-star:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 7' shape-rendering='crispEdges'><rect x='3' y='0' width='1' height='1' fill='%23000'/><rect x='2' y='1' width='1' height='1' fill='%23000'/><rect x='3' y='1' width='1' height='1' fill='%23000'/><rect x='4' y='1' width='1' height='1' fill='%23000'/><rect x='0' y='2' width='1' height='1' fill='%23000'/><rect x='1' y='2' width='1' height='1' fill='%23000'/><rect x='2' y='2' width='1' height='1' fill='%23000'/><rect x='3' y='2' width='1' height='1' fill='%23000'/><rect x='4' y='2' width='1' height='1' fill='%23000'/><rect x='5' y='2' width='1' height='1' fill='%23000'/><rect x='6' y='2' width='1' height='1' fill='%23000'/><rect x='1' y='3' width='1' height='1' fill='%23000'/><rect x='2' y='3' width='1' height='1' fill='%23000'/><rect x='3' y='3' width='1' height='1' fill='%23000'/><rect x='4' y='3' width='1' height='1' fill='%23000'/><rect x='5' y='3' width='1' height='1' fill='%23000'/><rect x='2' y='4' width='1' height='1' fill='%23000'/><rect x='3' y='4' width='1' height='1' fill='%23000'/><rect x='4' y='4' width='1' height='1' fill='%23000'/><rect x='1' y='5' width='1' height='1' fill='%23000'/><rect x='2' y='5' width='1' height='1' fill='%23000'/><rect x='4' y='5' width='1' height='1' fill='%23000'/><rect x='5' y='5' width='1' height='1' fill='%23000'/><rect x='1' y='6' width='1' height='1' fill='%23000'/><rect x='5' y='6' width='1' height='1' fill='%23000'/></svg>");
  --v5p-coin:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5' shape-rendering='crispEdges'><rect x='1' y='0' width='1' height='1' fill='%23FFD447'/><rect x='2' y='0' width='1' height='1' fill='%23FFD447'/><rect x='3' y='0' width='1' height='1' fill='%23FFD447'/><rect x='0' y='1' width='1' height='1' fill='%23FFD447'/><rect x='1' y='1' width='1' height='1' fill='%23FFD447'/><rect x='2' y='1' width='1' height='1' fill='%23FFFFFF'/><rect x='3' y='1' width='1' height='1' fill='%23FFD447'/><rect x='4' y='1' width='1' height='1' fill='%23FFD447'/><rect x='0' y='2' width='1' height='1' fill='%23FFD447'/><rect x='1' y='2' width='1' height='1' fill='%23FFD447'/><rect x='2' y='2' width='1' height='1' fill='%23FFFFFF'/><rect x='3' y='2' width='1' height='1' fill='%23FFD447'/><rect x='4' y='2' width='1' height='1' fill='%23FFD447'/><rect x='0' y='3' width='1' height='1' fill='%23FFD447'/><rect x='1' y='3' width='1' height='1' fill='%23FFD447'/><rect x='2' y='3' width='1' height='1' fill='%23FFFFFF'/><rect x='3' y='3' width='1' height='1' fill='%23FFD447'/><rect x='4' y='3' width='1' height='1' fill='%23FFD447'/><rect x='1' y='4' width='1' height='1' fill='%23FFD447'/><rect x='2' y='4' width='1' height='1' fill='%23FFD447'/><rect x='3' y='4' width='1' height='1' fill='%23FFD447'/></svg>");
}
html.ws-v5[data-theme="pixel"]{
  --v5-fs-eyebrow:12px;   /* 可读性底线：任何字 ≥ 12px（默认 11） */
  /* 台阶转角的描边格（左上 / 右上 / 左下 / 右下各一个 3×3）：background 的前 4 层 */
  --v5p-cn:linear-gradient(var(--line),var(--line)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--line),var(--line)) right 3px top 3px/3px 3px no-repeat,linear-gradient(var(--line),var(--line)) left 3px bottom 3px/3px 3px no-repeat,linear-gradient(var(--line),var(--line)) right 3px bottom 3px/3px 3px no-repeat;
  --v5p-cn-hi:linear-gradient(var(--line-strong),var(--line-strong)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) right 3px top 3px/3px 3px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) left 3px bottom 3px/3px 3px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) right 3px bottom 3px/3px 3px no-repeat;
  --v5p-cn-acc:linear-gradient(var(--accent),var(--accent)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) right 3px top 3px/3px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) left 3px bottom 3px/3px 3px no-repeat,linear-gradient(var(--accent),var(--accent)) right 3px bottom 3px/3px 3px no-repeat;
  --v5p-cn-cyan:linear-gradient(var(--cyan),var(--cyan)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--cyan),var(--cyan)) right 3px top 3px/3px 3px no-repeat,linear-gradient(var(--cyan),var(--cyan)) left 3px bottom 3px/3px 3px no-repeat,linear-gradient(var(--cyan),var(--cyan)) right 3px bottom 3px/3px 3px no-repeat;
  --v5p-cn-gold:linear-gradient(var(--amber),var(--amber)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--amber),var(--amber)) right 3px top 3px/3px 3px no-repeat,linear-gradient(var(--amber),var(--amber)) left 3px bottom 3px/3px 3px no-repeat,linear-gradient(var(--amber),var(--amber)) right 3px bottom 3px/3px 3px no-repeat;
  --v5p-cn-top:linear-gradient(var(--line-strong),var(--line-strong)) left 3px top 3px/3px 3px no-repeat,linear-gradient(var(--line-strong),var(--line-strong)) right 3px top 3px/3px 3px no-repeat;
  --v5p-ring:inset 0 0 0 3px var(--line);
  --v5p-ring-hi:inset 0 0 0 3px var(--line-strong);
  /* 街机键：面 + 底部 6px 侧面（按下缩到 3px） */
  --v5p-side:inset 0 -6px 0 color-mix(in srgb,var(--accent) 55%,var(--paper-2));
  --v5p-side-down:inset 0 -3px 0 color-mix(in srgb,var(--accent) 55%,var(--paper-2));
  --v5p-hi:inset 0 3px 0 color-mix(in srgb,var(--ink) 22%,transparent);
  /* EXP 条：9px 格 + 3px 缝 */
  --v5p-exp:repeating-linear-gradient(90deg,var(--ok) 0 9px,transparent 9px 12px);
  --v5p-exp-gold:repeating-linear-gradient(90deg,var(--amber) 0 9px,transparent 9px 12px);
  --v5p-exp-red:repeating-linear-gradient(90deg,var(--terra) 0 9px,transparent 9px 12px);
  --v5p-exp-acc:repeating-linear-gradient(90deg,var(--accent) 0 9px,transparent 9px 12px);
}
/* 键盘焦点：clip-path 会裁掉外描边 → 像素主题改成内描边（青色 = 信息 / 焦点） */
html.ws-v5[data-theme="pixel"] :focus-visible:not(input):not(textarea):not(select){outline:3px solid var(--cyan)!important;outline-offset:-3px!important;}
/* 关键帧（v5px- 前缀；全部 steps） */
/* 猫：只动 opacity / transform（合成器跑；关键帧里换 background-image 会每帧主线程重算样式——桌面 16 号实测过）。与桌面同一节奏：4.2s 眨眼停 1 帧、2.4s 蹦 2 帧 */
@keyframes v5px-blink{0%{opacity:0}96%{opacity:1}98%{opacity:0}}
@keyframes v5px-hop{0%{transform:none}82%{transform:translateY(-6px)}89%{transform:none}}
@keyframes v5px-flash{0%,49%{filter:brightness(1.45)}50%,100%{filter:none}}
@keyframes v5px-cursor{0%,49.9%{opacity:1}50%,100%{opacity:0}}
@keyframes v5px-enter{0%{opacity:0;clip-path:inset(0 0 100% 0)}50%{opacity:1;clip-path:inset(0 0 50% 0)}100%{opacity:1;clip-path:inset(0)}}
@keyframes v5px-burst{
  0%{opacity:1;box-shadow:0 0 0 0 var(--amber),0 0 0 0 var(--accent),0 0 0 0 var(--cyan),0 0 0 0 var(--ok),0 0 0 0 var(--amber),0 0 0 0 var(--accent),0 0 0 0 var(--cyan),0 0 0 0 var(--ok),0 0 0 0 var(--amber),0 0 0 0 var(--accent),0 0 0 0 var(--cyan),0 0 0 0 var(--ok);}
  50%{opacity:1;}
  100%{opacity:0;box-shadow:162px 0 0 0 var(--amber),141px 30px 0 0 var(--accent),81px 54px 0 0 var(--cyan),0 63px 0 0 var(--ok),-81px 54px 0 0 var(--amber),-141px 30px 0 0 var(--accent),-162px 0 0 0 var(--cyan),-141px -30px 0 0 var(--ok),-81px -54px 0 0 var(--amber),0 -63px 0 0 var(--accent),81px -54px 0 0 var(--cyan),141px -30px 0 0 var(--ok);}
}

@media(max-width:768px){

/* ==================== P1a. 数字字体：--v5-tech 在手机像素主题下 = 系统字（小数字）；≥16 的大数字逐条用 --v5p-num ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"]{--v5-tech:var(--v5p-sys);}
/* Press Start 2P 只有一个字重：合成粗体会把像素抹糊 → 字重 400、关抗锯齿、行高 1 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome :is(.v5m-plan .mobile-plan-metric>span>b em,.v5m-lv .v5m-lvnum,.v5m-ringpct,.v5m-ringstats .v5-stat__num){font-family:var(--v5p-num)!important;font-weight:400!important;letter-spacing:0!important;line-height:1!important;-webkit-font-smoothing:none;font-variant-numeric:normal!important;}

/* ==================== P1. 页面底 / 底栏：选中 = 洋红像素块 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar{border-top:3px solid var(--line)!important;background:var(--v5-panel)!important;padding:6px 6px calc(6px + var(--v5m-sab))!important;gap:3px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button{height:48px!important;min-height:48px!important;padding:0 0 3px!important;gap:4px!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button::after{font-size:12px!important;font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button.active{background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--v5p-side-down)!important;animation:v5px-flash 170ms steps(1,end) 1;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button:is(.active,[data-tab]){background:transparent!important;color:var(--v5-ink-2)!important;box-shadow:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--v5p-side-down)!important;}

/* ==================== P2. 通用：面板 / 主按键 / 芯片 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5-card,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome :is(.mobile-home-section,#mobileTipCard).v5-card:not(#_){
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn),var(--v5-panel)!important;box-shadow:var(--v5p-ring)!important;
}
/* 主按键（首页主按钮 / 学习页「继续」）：洋红街机键；「显示释义」= 青色描边键 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study.on #studyFoot .learn-next{
  border-radius:0!important;clip-path:var(--v5p-clip)!important;filter:none!important;
  background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;
  box-shadow:var(--v5p-side),var(--v5p-hi)!important;padding-bottom:3px!important;
  font-size:var(--v5-fs-body-lg)!important;font-weight:800!important;letter-spacing:.06em!important;
  transition:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study.on #studyFoot .learn-next:is(:active,.is-pressed){transform:translateY(3px)!important;box-shadow:var(--v5p-side-down),var(--v5p-hi)!important;padding-bottom:0!important;}
/* 主按钮左边一个像素「▶」（伪元素本来被藏，这里只在像素主题放出来） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary::before{
  content:""!important;display:block!important;position:static!important;flex:none!important;width:9px!important;height:15px!important;margin:0 4px 0 0!important;padding:0!important;
  background:currentColor!important;border:0!important;box-shadow:none!important;opacity:1!important;transform:none!important;-webkit-mask:none!important;mask:none!important;
  clip-path:polygon(0 0,3px 0,3px 3px,6px 3px,6px 6px,9px 6px,9px 9px,6px 9px,6px 12px,3px 12px,3px 15px,0 15px)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study.on #studyFoot .show-btn{
  border-radius:0!important;clip-path:var(--v5p-clip)!important;filter:none!important;
  background:var(--v5p-cn-cyan),var(--card-strong)!important;color:var(--cyan)!important;
  box-shadow:inset 0 0 0 3px var(--cyan),inset 0 -6px 0 color-mix(in srgb,var(--cyan) 35%,var(--paper-2))!important;padding-bottom:3px!important;
  font-size:var(--v5-fs-body-lg)!important;font-weight:800!important;letter-spacing:.12em!important;transition:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study.on #studyFoot .show-btn:is(:active,.is-pressed){transform:translateY(3px)!important;box-shadow:inset 0 0 0 3px var(--cyan),inset 0 -3px 0 color-mix(in srgb,var(--cyan) 35%,var(--paper-2))!important;padding-bottom:0!important;}
/* 芯片：同切角小元件，数字走像素字 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn),var(--v5-panel)!important;box-shadow:var(--v5p-ring)!important;
  font-family:var(--v5p-sys)!important;font-size:13px!important;font-weight:600!important;color:var(--v5-ink-2)!important;padding:0 12px!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip:is(:active,.is-pressed){transform:translateY(3px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.is-gold{background:var(--v5p-cn-gold),var(--v5-panel)!important;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--amber) 70%,var(--paper))!important;color:var(--amber)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.v5-chip-more{background:var(--v5p-cn-acc),var(--accent-soft)!important;box-shadow:inset 0 0 0 3px var(--accent)!important;color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.ws-streak-guard{background:var(--v5p-cn-gold),var(--v5-panel)!important;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--amber) 70%,var(--paper))!important;color:var(--amber)!important;}
/* 连胜芯片 / 连胜卡火花行：图标换成像素星（--wsico 遮罩，颜色跟字） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeStreak.v5-chip,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.fire .mobile-streak-icon{--wsico:var(--v5p-star);}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.mobile-home-pill::before{image-rendering:pixelated;}
/* 分区标题：前面一个 6px 洋红方块 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-sec h2{display:flex!important;align-items:center!important;gap:9px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-sec h2::before{content:""!important;display:block!important;flex:none!important;width:6px!important;height:6px!important;background:var(--v5-accent)!important;box-shadow:3px 3px 0 color-mix(in srgb,var(--accent) 40%,var(--paper-2))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-seclink{font-weight:700!important;}

/* ==================== P3. 首页顶条 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-logo{border-radius:0!important;clip-path:var(--v5p-clip)!important;image-rendering:pixelated;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-themename{color:var(--cyan)!important;font-weight:700!important;letter-spacing:.04em!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn-hi),var(--card-strong)!important;box-shadow:var(--v5p-ring-hi)!important;transition:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar{color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar img{border-radius:0!important;image-rendering:auto;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeAvatar.is-guest{background:var(--v5p-cn-acc),var(--accent-soft)!important;box-shadow:inset 0 0 0 3px var(--accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn svg{color:var(--cyan)!important;}
/* 铃铛：右上角的数字角标伸出按钮外 → 铃铛本身不裁切，面板画在 ::after 上（z-index:-1，铃铛已 isolation:isolate） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--amber)!important;transition:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;width:auto!important;height:auto!important;margin:0!important;
  clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-hi),var(--card-strong)!important;box-shadow:var(--v5p-ring-hi)!important;border:0!important;opacity:1!important;transform:none!important;-webkit-mask:none!important;mask:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m #mobileHomeReward .ws-rq-dot{border-radius:0!important;font-family:var(--v5p-sys)!important;font-size:12px!important;box-shadow:0 0 0 3px var(--v5-paper)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m :is(#mobileHomeReward,#mobileHomeAvatar,.v5m-lectbtn):is(:active,.is-pressed){transform:translateY(3px)!important;}

/* ==================== P4. 首页签名：像素手卷 + 像素猫卷（64×56 = 4 倍） ==================== */
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll{position:relative;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll svg{filter:drop-shadow(0 6px 0 var(--paper-2));}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-pxwd{font-family:var(--v5p-font);font-weight:600;letter-spacing:.01em;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-pxeyeb{font-family:var(--cjk,system-ui);font-weight:700;letter-spacing:.12em;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-ipa{font-family:var(--cjk,system-ui);}
/* 猫：装饰（伪元素天然 aria 不可见、不可点）；坐在地杆上、贴纸面右缘。纸面在 viewBox 372×140 里是 x 24–348 / y 21–117 */
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::before,
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::after{
  content:"";position:absolute;right:9.3%;bottom:16.5%;width:64px;height:56px;pointer-events:none;
  background:var(--v5p-cat-idle) center/100% 100% no-repeat;image-rendering:pixelated;
}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::after{z-index:1;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::before{z-index:2;background-image:var(--v5p-cat-blink);opacity:0;animation:v5px-blink 4.2s steps(1,end) infinite;}
/* V7.4.0 性能（B10）：眨眼看不见时暂停（口径见前面 .v5m-sway 那条旁的说明） */
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero[data-v5m-anim="off"] .v5m-scroll::before,
html.ws-v5.ws-v5m[data-theme="pixel"] body.ws-studying .v5m-hero .v5m-scroll::before{animation-play-state:paused!important;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero.is-clear .v5m-scroll::after{background-image:var(--v5p-cat-happy);animation:v5px-hop 2.4s steps(1,end) infinite;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero.is-clear .v5m-scroll::before{display:none;animation:none;}
/* 7 站轨道：方点 + 3px 实线 + 像素数字 */
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track{margin:12px 6px 0;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track .v5m-rail{top:3px;height:3px;background:repeating-linear-gradient(90deg,var(--line-strong) 0 3px,transparent 3px 6px);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track .v5m-rail-done{top:3px;height:3px;border-radius:0;background:var(--v5-accent);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li{font:600 12px/1.2 var(--v5p-sys);gap:6px;color:var(--v5-ink-3);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li em{width:9px;height:9px;border-radius:0;background:var(--v5-paper);box-shadow:inset 0 0 0 3px var(--line-strong);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li.on{color:var(--v5-ink-2);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li.on em{background:var(--v5-accent);box-shadow:none;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li.now{color:var(--amber);}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-track li.now em{width:9px;height:9px;margin:0;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 30%,var(--v5-paper));}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-meta{margin-top:10px;}
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-meta b{font-family:var(--v5p-sys);color:var(--v5-ink);}

/* ==================== P5. 今日计划卡：HUD 三格 + EXP 条 + 街机主键 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-head h2{letter-spacing:.06em!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5-card .mobile-section-link{font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-review-recall .mrr-title{font-family:var(--v5p-sys)!important;color:var(--cyan)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-row{gap:6px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric:first-child{
  padding:10px 9px 9px!important;border:0!important;border-left:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn),var(--card-strong)!important;box-shadow:var(--v5p-ring),inset 0 6px 0 color-mix(in srgb,var(--ink) 4%,transparent)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>b em{font-size:24px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric.target>span>b em{color:var(--amber)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>span{font-size:12px!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric.target>span>small{font-family:var(--v5p-sys)!important;white-space:normal!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress>span:first-child{font-family:var(--v5p-sys)!important;font-size:12px!important;color:var(--v5-ink-2)!important;}
/* EXP 条（大）：15 高 = 3 描边 + 9 格 + 3 描边 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .pbar{
  height:15px!important;padding:3px!important;box-sizing:border-box!important;border-radius:0!important;border:0!important;
  background:var(--paper-2)!important;box-shadow:var(--v5p-ring)!important;overflow:hidden!important;clip-path:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .pbar i{
  border-radius:0!important;background:var(--v5p-exp)!important;box-shadow:none!important;transition:width var(--v5-dur-slow) steps(4,end)!important;
}
/* EXP 条（小）：9 高，无描边（连胜卡三行 / LV 卡） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-lv .v5-bar{
  height:9px!important;padding:0!important;border-radius:0!important;border:0!important;background:color-mix(in srgb,var(--line) 70%,var(--paper-2))!important;box-shadow:none!important;overflow:hidden!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track>i{top:0!important;height:100%!important;border-radius:0!important;background:var(--v5p-exp-gold)!important;transition:width var(--v5-dur-slow) steps(4,end)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.hard .mobile-streak-copy .mobile-track>i{background:var(--v5p-exp-red)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-lv .v5-bar .v5-bar__fill{border-radius:0!important;background:var(--v5p-exp)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan #mobileTrialBtn.v5-btn-ghost,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan #mobilePlanShareBook.v5-btn-ghost{font-weight:800!important;}

/* ==================== P6. 学完再玩一会 / 连胜 / 档案 / 成就 / 提示 / 页脚 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-lv{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn),var(--v5-panel)!important;box-shadow:var(--v5p-ring),inset 0 -6px 0 var(--line)!important;transition:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-lv:is(:active,.is-pressed){transform:translateY(3px)!important;box-shadow:var(--v5p-ring),inset 0 -3px 0 var(--line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn::after{font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-lv .v5m-lvnum{font-size:24px!important;color:var(--amber)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome :is(.v5m-streak .mobile-streak-icon,.v5m-ach .mobile-ach-icon,.v5m-tip .mobile-tip-icon){
  border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-acc),var(--accent-soft)!important;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 55%,var(--accent-soft))!important;color:var(--v5-accent-ink)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.fire .mobile-streak-icon{color:var(--amber)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card{border-top:3px solid var(--line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card:first-child{border-top:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy :is(b,strong){font-family:var(--v5p-sys)!important;}
/* 学习档案：环改像素方端 + 百分比像素字；三数字像素字 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ringsvg svg{shape-rendering:crispEdges;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ringsvg .v5m-ringfill{stroke-linecap:butt;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ringpct,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ringstats .v5-stat__num{font-size:16px!important;}
/* 三格之间的分隔沿用 16 号像素主题的 3px 点线（.v5-stat-row>.v5-stat），这里不再叠实线 */
/* 本周星图：方格 + 金色像素星；今天 = 洋红切角框 + 闪烁光标 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__dow{font-size:12px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__num{
  width:33px!important;height:33px!important;border-radius:0!important;clip-path:var(--v5p-clip);
  font:600 13px/1 var(--v5p-sys)!important;color:var(--v5-ink-3)!important;background:transparent!important;box-shadow:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-done .v5-cal__num{background:var(--v5p-cn),var(--card-strong)!important;box-shadow:var(--v5p-ring)!important;color:var(--v5-ink)!important;align-content:start!important;padding-top:6px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-done .v5-cal__num::after{
  content:""!important;position:absolute!important;left:50%!important;top:auto!important;right:auto!important;bottom:5px!important;width:9px!important;height:9px!important;margin:0 0 0 -4.5px!important;border-radius:0!important;transform:none!important;
  background:var(--amber)!important;-webkit-mask:var(--v5p-star) center/100% 100% no-repeat!important;mask:var(--v5p-star) center/100% 100% no-repeat!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-today .v5-cal__num{background:var(--v5p-cn-acc),var(--accent-soft)!important;box-shadow:inset 0 0 0 3px var(--accent)!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-today:not(.is-done) .v5-cal__num::before{
  content:""!important;position:absolute!important;left:50%!important;top:auto!important;right:auto!important;bottom:6px!important;width:9px!important;height:3px!important;margin:0 0 0 -4.5px!important;background:var(--accent)!important;transform:none!important;
  animation:v5px-cursor 1s steps(1,end) infinite;
}
/* V7.4.0 性能（B10）：今日光标在屏外（首页往下才看得到）/ 后台 / 学习页时暂停（口径见前面 .v5m-sway 那条旁的说明） */
html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-cal[data-v5m-anim="off"] .v5-cal__day.is-today:not(.is-done) .v5-cal__num::before,
html.ws-v5.ws-v5m[data-theme="pixel"] body.ws-studying .v5m-cal .v5-cal__day.is-today:not(.is-done) .v5-cal__num::before{animation-play-state:paused!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-link-next::after{height:3px!important;margin-top:-1.5px!important;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--amber) 70%,var(--paper)) 0 3px,transparent 3px 6px)!important;left:calc(50% + 17px)!important;right:calc(-50% + 17px)!important;}
/* 提示圆点 → 方点；页脚广告条切角 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome #mobileTipDots button i{width:6px!important;height:6px!important;border-radius:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome #mobileTipDots button.active i{width:15px!important;border-radius:0!important;background:var(--v5-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ad{border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn),transparent!important;box-shadow:var(--v5p-ring)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-ad .v5-tag{border-radius:0!important;}

/* ==================== P7. 「⋯全部」抽屉 / 学习页菜单：顶边台阶切角 + 3px 描边 ==================== */
html.ws-v5.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-panel.v5m-allsheet:not(#_):not(#_),
html.ws-v5.ws-v5m[data-theme="pixel"] body>.v5m-mask>.v5m-sheet:not(#_):not(#_){
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip-top)!important;
  background:var(--v5p-cn-top),var(--v5-panel)!important;
  box-shadow:inset 3px 0 0 var(--line-strong),inset -3px 0 0 var(--line-strong),inset 0 3px 0 var(--line-strong)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-panel.v5m-allsheet::before{width:36px!important;height:6px!important;margin-left:-18px!important;border-radius:0!important;background:repeating-linear-gradient(90deg,var(--line-strong) 0 6px,transparent 6px 9px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-search{border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn),var(--paper-2)!important;box-shadow:var(--v5p-ring)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-search:focus-within{box-shadow:inset 0 0 0 3px var(--cyan)!important;background:var(--v5p-cn-cyan),var(--paper-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-search input:focus{outline:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-pgroup h3{display:flex!important;align-items:center!important;gap:8px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-pgroup h3::before{content:""!important;display:block!important;width:6px!important;height:6px!important;background:var(--v5-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-pgroup button{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;
  background:var(--v5p-cn),var(--card-strong)!important;box-shadow:var(--v5p-ring),inset 0 -3px 0 var(--line)!important;font-weight:600!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-pgroup button:is(:active,.is-pressed){transform:translateY(3px)!important;box-shadow:var(--v5p-ring)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .wsv5-pgroup button[data-wsv5-key="清空重置"]{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--terra) 60%,var(--card-strong))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .wsv5-mask .v5m-px,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-sheet .v5-dialog__close{border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-hi),var(--card-strong)!important;box-shadow:var(--v5p-ring-hi)!important;color:var(--v5-ink)!important;font-family:var(--v5p-font)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-menu .v5-menu__item{border-radius:0!important;clip-path:var(--v5p-clip)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body .v5m-menu .v5-menu__item:is(:active,.is-pressed){background:var(--accent-soft)!important;}

/* ==================== P8. 学习页：点阵底 / EXP 顶栏 / 大面板舞台 / 街机动作区 ==================== */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on.v5m-study{background:var(--v5p-dots) 0 0/12px 12px repeat,var(--v5-paper)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on>.study-top.v5-topbar-m{border-bottom:3px solid var(--line)!important;background:var(--v5-paper)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .x::before{
  content:""!important;width:9px!important;height:15px!important;margin:0 8px 0 0!important;background:var(--v5-accent)!important;
  clip-path:polygon(9px 0,6px 0,6px 3px,3px 3px,3px 6px,0 6px,0 9px,3px 9px,3px 12px,6px 12px,6px 15px,9px 15px)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .x::after{font-weight:800!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .pcount{font-family:var(--v5p-sys)!important;font-size:12px!important;color:var(--v5-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .v5m-more{border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-hi),var(--card-strong)!important;box-shadow:var(--v5p-ring-hi)!important;transition:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .v5m-more:is(:active,.is-pressed){transform:translateY(3px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .v5m-route{font-family:var(--v5p-sys)!important;font-size:12px!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on.v5m-route-open .wsv5-left>.wsv5-p:has(#studyProgress){border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn),var(--v5-panel)!important;box-shadow:var(--v5p-ring)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyProgress .mp-count{font-family:var(--v5p-sys)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyProgress .mp-track{height:9px!important;border-radius:0!important;background:color-mix(in srgb,var(--line) 70%,var(--paper-2))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyProgress .mp-fill{border-radius:0!important;background:var(--v5p-exp)!important;}
/* 舞台 = 大面板：台阶切角 + 3px 亮描边 + 点阵；不发光 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .v5m-stage{animation:v5px-enter var(--v5-dur-slow) steps(3,end) both;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .v5m-stage::before{
  border:0;border-radius:0;clip-path:var(--v5p-clip);
  background:var(--v5p-cn-hi),var(--v5p-dots) 0 0/12px 12px repeat,var(--v5-panel);
  box-shadow:var(--v5p-ring-hi),inset 0 -6px 0 color-mix(in srgb,var(--line) 60%,var(--v5-panel));
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .v5m-stage::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .tag{color:var(--cyan)!important;letter-spacing:.18em!important;gap:6px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .tag::before{content:"";display:block;width:6px;height:6px;background:currentColor;}
/* 词头：像素字 34（fitStudyWord 写 44 = 短词 → 压到 display 34；长词的行内小字号照用） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .word{font-family:var(--v5p-font)!important;font-weight:600!important;letter-spacing:.01em!important;-webkit-font-smoothing:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .word[style*="font-size: 44px"]{font-size:var(--v5-fs-display)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody :is(.word-ipa,.mobile-hard-phonetic){font-family:var(--cjk,system-ui)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .spk-btn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .info .ex-spk{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-cyan),var(--card-strong)!important;
  box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--cyan) 70%,var(--card-strong))!important;color:var(--cyan)!important;transition:none!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .spk-btn:is(:active,.is-pressed){transform:translateY(3px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .memory-pill{border-radius:0!important;clip-path:var(--v5p-clip)!important;font-family:var(--v5p-sys)!important;font-size:12px!important;height:24px!important;padding:0 9px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .info>*+*{border-top:3px dashed var(--line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .info .endef-sent,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .info #onlineEndef{border-top:3px dashed var(--line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .info .pos{font-family:var(--v5p-font)!important;color:var(--cyan)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .wsv5-orbitcard .wsv5-eyebrow{color:var(--cyan)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .wsv5-orbitcard .wsv5-oword{font-family:var(--v5p-font)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .wsv5-oft b{font-family:var(--v5p-sys)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .wsv5-orbit svg{shape-rendering:crispEdges;}
/* 7 站轨道的 SVG 标签在手机宽度被缩到 10.9px → 像素主题抬到 ≥12px（可读性底线） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .wsv5-orbit svg text{font-size:13.5px!important;}
/* 动作区：面板 + 3px 顶线；记得 = 洋红键，不记得 = 次键，↶ = 次键 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot.v5-actbar{border-top:3px solid var(--line)!important;background:var(--v5-panel)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot>.grade{
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;transition:none!important;padding-bottom:9px!important;
  background:var(--v5p-cn-hi),var(--card-strong)!important;color:var(--v5-ink)!important;
  box-shadow:var(--v5p-ring-hi),inset 0 -6px 0 var(--line-strong)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade.good,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot>.grade.good{background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--v5p-side),var(--v5p-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot>.grade:is(:active,.is-pressed){transform:translateY(3px)!important;padding-bottom:6px!important;box-shadow:var(--v5p-ring-hi),inset 0 -3px 0 var(--line-strong)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade.good:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot>.grade.good:is(:active,.is-pressed){box-shadow:var(--v5p-side-down),var(--v5p-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade .gt{font-weight:800!important;letter-spacing:.06em!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade .gd{font-family:var(--v5p-sys)!important;font-size:12px!important;opacity:1!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .grades .grade:not(.good) .gd{color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .study-bottom-row [data-study-prev]{border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-hi),var(--card-strong)!important;box-shadow:var(--v5p-ring-hi),inset 0 -6px 0 var(--line-strong)!important;color:var(--v5-ink-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot .skip-link{font-weight:700!important;}
/* 完成页外框（手机上 .done 自带一张圆角卡）：像素面板；STAGE CLEAR 横幅与像素方块炸开在 18 号「P1」（手机 / 桌面共用） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .done{border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn),var(--v5-panel)!important;box-shadow:var(--v5p-ring)!important;}
/* 完成页的两颗次按钮（磨耳朵 / 单词填字）：次键 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot #continuePlanBtn ~ #finishBtn,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyFoot :is(#doneEarBtn,#doneCwBtn,#doneBedBtn){
  border:0!important;border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--v5p-cn-hi),var(--card-strong)!important;color:var(--v5-ink)!important;
  box-shadow:var(--v5p-ring-hi),inset 0 -6px 0 var(--line-strong)!important;padding-bottom:3px!important;
}
/* 学习页提示条 = 黄底深字的像素条（获得物品提示） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body.ws-studying:not(#_) #toast#toast,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body.ws-studying:not(#_) #toast#toast.toast--celebrate{
  border-radius:0!important;clip-path:var(--v5p-clip)!important;background:var(--amber)!important;color:var(--paper)!important;
  box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--amber) 60%,var(--paper-2))!important;font-weight:700!important;transition:none!important;
}

/* ==================== P9. 减少动态效果：全部停在最后一帧 ==================== */
@media(prefers-reduced-motion:reduce){
  html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::before,
  html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero .v5m-scroll::after,
  html.ws-v5.ws-v5m[data-theme="pixel"] .v5m-hero.is-clear .v5m-scroll::after,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button.active,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-cal .v5-cal__day.is-today:not(.is-done) .v5-cal__num::before,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on #studyBody .v5m-stage{animation:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #study#study.on .study-top .pbar i,
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track>i{transition:none!important;}
}

}
/* <<< PIXEL-V7 像素街机 <<< */

/* >>> V7-PK2 单词 PK 第二批 · 手机首页 PK 卡（V7.0.0）>>> */
/* ============================================================================
 * K. 首页「学完再玩一会」里的单词 PK 卡（21 号 paintPk 往原按钮 #mobilePkBtn 里加 .v5m-pk；V7-CONTRACT.md §7 / R2 §B）
 * 段位徽章本身的十色 / 尺寸在 28 号，主题形状（像素盾 / 切角 HUD / 瓶盖 / 木牌）在 16 号 11.2；这里只排版 + 胜点条 / 首胜章按主题。
 * 卡变宽到 184（要装徽章 + 段位名 + 胜点条 + 首胜章），其余三张游戏卡不变；横滑行按最高那张等高。
 * ==========================================================================*/
@media(max-width:768px){
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow #mobilePkBtn.v5m-pkcard{width:184px!important;min-width:184px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-pk{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;width:100%!important;margin:2px 0 0!important;padding:0!important;
  white-space:normal!important;font-size:var(--v5-fs-caption)!important;font-weight:400!important;line-height:1.3!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-playrow .v5m-pk[hidden]{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__rank{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;max-width:100%!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__rank>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 var(--v5-fs-body)/1.2 var(--cjk);color:var(--v5-ink);}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge{margin:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge:not(.is-placing){background:color-mix(in srgb,var(--pk-c) 14%,var(--v5-panel))!important;}
/* 28 号给徽章里的字 line-height:1，雅黑 / 苹方的中文在 22px 高的药丸里会整体偏上 2–3px → 放回 normal，由药丸的 align-items:center 居中 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge :is(.ws-pk-badge__name,.ws-pk-badge__div){line-height:normal!important;}
/* 段位名已经写在徽章右边：大师以上的徽章自带段位名（没有小段）→ 在这张卡里收起，避免「大师 大师」 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge__name{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge:not(:has(.ws-pk-badge__div)){padding-right:5px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp{display:block!important;position:relative!important;width:100%!important;height:6px!important;border-radius:var(--v5-r-pill)!important;overflow:hidden!important;background:var(--v5-line)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp>i{display:block!important;position:relative!important;height:100%!important;border-radius:inherit!important;background:var(--v5-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__meta{font:500 var(--v5-fs-caption)/1.3 var(--v5-tech);color:var(--v5-ink-2);font-variant-numeric:tabular-nums;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk :is(.v5m-pk__win,.v5m-pk__tag){
  display:inline-flex!important;align-items:center!important;height:22px!important;padding:0 8px!important;box-sizing:border-box!important;border-radius:var(--v5-r-pill)!important;
  font:600 var(--v5-fs-caption)/1 var(--cjk)!important;white-space:nowrap!important;
  color:var(--v5-gold-ink)!important;border:1px solid color-mix(in srgb,var(--v5-gold) 45%,transparent)!important;background:transparent!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5m-pk :is(.v5m-pk__win.is-done,.v5m-pk__tag){color:var(--v5-accent-ink)!important;border-color:var(--v5-accent-line)!important;background:var(--v5-accent-soft)!important;}
/* 主题：像素 = 分格 EXP + 方章；汽水 = 液面 + 玻璃章；森林 = 藤蔓 + 书签章（与电脑 16 号 11.1 同口径） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp{height:12px!important;padding:3px!important;box-sizing:border-box!important;border-radius:0!important;background:var(--paper-2)!important;box-shadow:var(--v5p-ring)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp>i{border-radius:0!important;background:var(--v5p-exp)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__meta{font-family:var(--v5p-sys)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk :is(.v5m-pk__win,.v5m-pk__tag){border:0!important;border-radius:0!important;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--amber) 45%,var(--line))!important;color:var(--amber)!important;padding:0 9px!important;height:24px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk :is(.v5m-pk__win.is-done,.v5m-pk__tag){box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 55%,var(--line))!important;color:var(--v5-accent-ink)!important;background:var(--v5-accent-soft)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge{border-radius:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp{height:8px!important;background:var(--paper-2)!important;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 10%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp>i{border-radius:0!important;background:var(--sd-liquid)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__win:not(.is-done){border:0!important;background:var(--sd-glass)!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp{height:10px!important;border-radius:5px!important;background:var(--fs-groove)!important;box-shadow:inset 0 1px 1px color-mix(in srgb,var(--wood-deep) 20%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp>i{border-radius:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__lp>i::before{content:""!important;position:absolute!important;inset:0!important;background:var(--accent)!important;-webkit-mask:var(--fs-vine) 0 50%/20px 10px repeat-x!important;mask:var(--fs-vine) 0 50%/20px 10px repeat-x!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk :is(.v5m-pk__win,.v5m-pk__tag){border:0!important;border-radius:3px 0 0 3px!important;padding-right:14px!important;background:var(--fs-bookmark)!important;clip-path:var(--fs-ribbon-clip)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk .v5m-pk__win.is-done{background:var(--accent)!important;color:var(--on-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge{border-radius:4px!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pk-c) 55%,transparent),inset 0 -2px 0 color-mix(in srgb,var(--wood-deep) 30%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="supreme"] body #mobileHome#mobileHome#mobileHome .v5m-pk .ws-pk-badge{border-radius:0!important;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)!important;}
}
/* <<< V7-PK2 <<< */

/* >>> SODA-FOREST-V7 海盐汽水 / 森林书屋 · 手机首页与学习页（V7.0.0）>>> */
/* ============================================================================
 * S / F. 海盐汽水 soda · 森林书屋 forest（release-packages/v7-themes/DESIGN-SODA-FOREST.md §3.4；§9 定稿）
 * ----------------------------------------------------------------------------
 * 令牌 / 配方（--sd-* / --fs-* / --v5-mark-done）与组件、日历在 16 号第 9 / 10 节（不挂 media，手机复用）；这里只放「手机页上的落点」，
 * 每一条都挂 [data-theme="soda"|"forest"]，别的主题一个像素不变。选择器组照抄像素街机 P1–P8。
 *  · 汽水：玻璃 · 气泡 · 液面。主键 = 汽水泡胶囊（按下冒泡是 17 号的签名，手机的 #mobileStartBtn / 学习页主键同样生效）；进度 = 液面；
 *          打卡 / 连胜 = 瓶盖；底栏选中 = 图标后一颗浅苏打泡。首页液面前沿只在进入时晃 2 次，学习页顶栏液面一直轻晃（只动 transform）。
 *  · 森林：原木 · 书页 · 叶。主键 = 叶绿漆木牌（下沿 3px 木头厚度，按下沉 1px）；进度 = 木槽里生长的藤蔓；打卡 / 连胜 = 叶印；
 *          底栏选中 = 顶边垂下一枚叶绿小书签；手卷不摇（书架是稳的）。
 * ==========================================================================*/
@media(max-width:768px){

/* ---------- S1. 底栏：面 = 卡色略带纸色；选中 = 图标后一颗 32px 浅苏打泡 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body nav.v5-tabbar{background:color-mix(in srgb,var(--card) 94%,var(--paper))!important;border-top-color:color-mix(in srgb,var(--line) 85%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body nav.v5-tabbar>button.active{background:radial-gradient(closest-side circle,var(--accent-soft) 96%,transparent) center 1px/32px 32px no-repeat!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button:is(.active,[data-tab]){background:transparent!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{background:radial-gradient(closest-side circle,var(--accent-soft) 96%,transparent) center 1px/32px 32px no-repeat!important;}

/* ---------- S2. 首页顶条：品牌圆体；铃铛 / 头像 / 课堂 = 圆玻璃钮 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand>div>b{font-family:var(--v5-word)!important;font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m :is(#mobileHomeReward,#mobileHomeAvatar:not(.is-guest)){border:0!important;border-radius:50%!important;background:var(--sd-glass)!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn{border:0!important;border-radius:999px!important;background:var(--sd-glass)!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi)!important;}

/* ---------- S3. 药丸行 = 气泡；连胜药丸 / 连胜卡火花 = 瓶盖 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip:not(.is-gold):not(.ws-streak-guard){border:0!important;border-radius:999px!important;background:var(--sd-glass)!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip.v5-chip-more{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,var(--line)),var(--sd-hi)!important;color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeStreak.v5-chip,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.fire .mobile-streak-icon{--wsico:var(--v5-mark-done);}

/* ---------- S4. 手卷：轴杆 / 轴头走 --v5-roller（海玻璃）；纸面下沿液带 + 泡由 21 号 scrollDeco 画；手卷轻轻漂（沿用 .v5m-sway） ---------- */
/* ---------- S5. 7 站轨道：走过 = 苏打蓝实心泡、现在 = 柠檬泡、未到 = 空心泡圈 ---------- */
html.ws-v5.ws-v5m[data-theme="soda"] .v5m-track li em{background:var(--v5-panel);box-shadow:inset 0 0 0 1.4px var(--sd-ring);}
html.ws-v5.ws-v5m[data-theme="soda"] .v5m-track li.on em{background:var(--accent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--card) 45%,transparent);}
html.ws-v5.ws-v5m[data-theme="soda"] .v5m-track li.now em{width:10px;height:10px;margin:-1px 0;background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent);}

/* ---------- S6. 今日计划卡：玻璃卡；三格数字圆体；进度 = 液面（前沿小波进入时晃 2 次）；主键 52 高汽水泡胶囊 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>b em{font-family:var(--v5-word)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track{height:10px!important;overflow:hidden!important;background:var(--paper-2)!important;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 10%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on .study-top .pbar i{overflow:visible!important;border-radius:0!important;background:var(--sd-liquid)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on .study-top .pbar i::before{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;top:1px!important;height:2px!important;border-radius:2px!important;background:color-mix(in srgb,var(--card) 38%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on .study-top .pbar i::after{
  content:""!important;display:block!important;position:absolute!important;left:100%!important;right:auto!important;top:-16px!important;bottom:-16px!important;width:6px!important;height:auto!important;margin:0!important;
  background:var(--accent)!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;
  -webkit-mask:var(--sd-wave-v) 0 0/6px 16px repeat-y!important;mask:var(--sd-wave-v) 0 0/6px 16px repeat-y!important;animation:v5sd-slosh 1.2s linear 2!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on .study-top .pbar{height:8px!important;overflow:hidden!important;background:var(--paper-2)!important;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--ink) 10%,transparent)!important;}
/* 学习页顶栏的液面一直轻晃（学习页不在首页空闲性能门里；只动 transform，2.4s 一周） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on .study-top .pbar i::after{animation:v5sd-slosh 2.4s linear infinite!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body :is(#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,#study.on .study-top .pbar)>i:is([style*="width: 0"],[style*="width:0"])::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyFoot :is(.learn-next,.show-btn,.grades .grade.good),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyFoot>.grade.good,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyFoot #continuePlanBtn{
  border:0!important;border-radius:999px!important;clip-path:none!important;filter:none!important;
  background:var(--sd-gloss),var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--sd-key)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyFoot :is(.grades .grade:not(.good),.study-bottom-row [data-study-prev],#doneEarBtn,#doneCwBtn,#doneBedBtn),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyFoot>.grade:not(.good){
  border:0!important;border-radius:999px!important;background:var(--sd-glass)!important;color:var(--v5-ink)!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi)!important;
}
/* 连胜卡三行的小进度也是液面（静止，不要前沿波） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track{height:6px!important;background:var(--paper-2)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track>i{border-radius:0!important;background:var(--sd-liquid)!important;}

/* ---------- S7. 学完再玩 / 连胜 / 档案：玻璃小卡；图标底 = 浅苏打圆泡 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn{border:0!important;box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi),var(--v5-shadow)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome :is(.v5m-streak .mobile-streak-icon,.v5m-ach .mobile-ach-icon,.v5m-tip .mobile-tip-icon){border-radius:50%!important;background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,var(--line)),var(--sd-hi)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-ringpct,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #mobileHome#mobileHome#mobileHome .v5m-ringstats .v5-stat__num{font-family:var(--v5-word)!important;}

/* ---------- S8. 学习页：顶栏液面（上面）；舞台 = 玻璃，底部一条 22px 浅液带（背景层横波，accent 7%）；词头圆体 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyBody .v5m-stage::before{
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='22' viewBox='0 0 80 22'><path d='M0 6C13 2 27 2 40 6S67 10 80 6V22H0Z' fill='%2308709A' fill-opacity='.07'/></svg>") left bottom/80px 22px repeat-x,var(--v5-panel);
  box-shadow:var(--sd-hi),var(--v5-shadow);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyBody .word{font-family:var(--v5-word)!important;font-weight:700!important;}

/* ================================ 森林书屋 ================================ */
/* ---------- F1. 底栏：原木顺纹面；选中 = 从底栏顶边垂下来的一条叶绿书签（44 宽，下端燕尾），图标 + 字奶白 —— 与电脑侧栏选中项同一个做法
   （按钮的 ::before/::after 已被图标和字占用 → 背景三层画；规范原稿是 14×11 小书签，实测会压住图标上沿，改成整条书签托住图标和字） ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar{background:var(--fs-grain),color-mix(in srgb,var(--paper-2) 70%,var(--card))!important;border-top:1px solid color-mix(in srgb,var(--wood) 45%,var(--line))!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>button{border-radius:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>button.active,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{
  color:var(--on-accent)!important;
  background:linear-gradient(var(--accent),var(--accent)) center top/44px calc(100% - 6px) no-repeat,
             linear-gradient(to bottom right,var(--accent) 50%,transparent 50%) calc(50% - 11px) bottom/22px 6px no-repeat,
             linear-gradient(to bottom left,var(--accent) 50%,transparent 50%) calc(50% + 11px) bottom/22px 6px no-repeat!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar{padding-top:0!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>button{height:50px!important;min-height:50px!important;padding:0 0 4px!important;}   /* 顶边 0 + 50 + 下 6 = 原来的 56，底栏总高不变 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button.active:not([data-tab="records"]){background:transparent!important;}

/* ---------- F2. 首页顶条：品牌书卷体；铃铛 / 头像 = 圆木钮 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .mobile-home-brand>div>b{font-family:var(--v5-word)!important;font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m :is(#mobileHomeReward,#mobileHomeAvatar:not(.is-guest)){border:0!important;border-radius:50%!important;background:var(--fs-grain),var(--fs-wood-face)!important;box-shadow:inset 0 -2px 0 var(--fs-wood-edge)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-topbar-m .v5m-lectbtn{border:0!important;border-radius:8px!important;background:var(--fs-grain),var(--fs-wood-face)!important;box-shadow:var(--fs-plank)!important;}

/* ---------- F3. 药丸行 = 书签（右端燕尾）；连胜药丸 / 连胜卡火花 = 叶印 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>.v5-chip{border:0!important;border-radius:4px 0 0 4px!important;clip-path:var(--fs-ribbon-clip)!important;background:var(--fs-bookmark)!important;box-shadow:none!important;padding-right:20px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>:is(#mobileHomeStreak,.v5-chip-more).v5-chip{background:var(--accent-soft)!important;color:var(--v5-accent-ink)!important;}   /* 一屏只许主按钮一个叶绿实心块（§10 量化门）→ 连胜 / 全部两枚书签用浅叶绿 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5-chiprow>#mobileHomeStreak.v5-chip,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-card.fire .mobile-streak-icon{--wsico:var(--v5-mark-done);}

/* ---------- F4. 手卷：胡桃木轴；书签 + 叶枝由 21 号 scrollDeco 画；不摇 ---------- */
html.ws-v5.ws-v5m[data-theme="forest"] .v5m-sway{animation:none!important;}
/* ---------- F5. 7 站轨道：站点 = 小叶（走过 叶绿、现在 琥珀 14px、未到 淡墨 45%） ---------- */
html.ws-v5.ws-v5m[data-theme="forest"] .v5m-track li em{width:10px;height:10px;border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--ink-faint) 45%,transparent);-webkit-mask:var(--fs-leaf) center/contain no-repeat;mask:var(--fs-leaf) center/contain no-repeat;}
html.ws-v5.ws-v5m[data-theme="forest"] .v5m-track li.on em{background:var(--accent);}
html.ws-v5.ws-v5m[data-theme="forest"] .v5m-track li.now em{width:14px;height:14px;margin:-2px 0;background:var(--amber);box-shadow:none;}

/* ---------- F6. 今日计划卡：书页 + 两层叠页；数字书卷体；进度 = 藤蔓（藤尖嫩叶进入时舒展一次）；主键 = 木牌 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .mobile-home-section.v5m-plan.v5-card{box-shadow:var(--fs-pages),var(--v5-shadow)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-metric>span>b em{font-family:var(--v5-word)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on .study-top .pbar{height:14px!important;border-radius:7px!important;overflow:visible!important;background:var(--fs-groove)!important;box-shadow:inset 0 1px 2px color-mix(in srgb,var(--wood-deep) 22%,transparent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on .study-top .pbar i{overflow:visible!important;border-radius:0!important;background:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::before,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on .study-top .pbar i::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;background:var(--accent)!important;-webkit-mask:var(--fs-vine) 0 50%/28px 14px repeat-x!important;mask:var(--fs-vine) 0 50%/28px 14px repeat-x!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::after,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on .study-top .pbar i::after{
  content:""!important;display:block!important;position:absolute!important;left:calc(100% - 3px)!important;top:50%!important;right:auto!important;bottom:auto!important;width:13px!important;height:13px!important;margin:-10px 0 0!important;
  background:var(--leaf)!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;
  -webkit-mask:var(--fs-leaf) center/contain no-repeat!important;mask:var(--fs-leaf) center/contain no-repeat!important;transform-origin:0 100%!important;animation:v5fs-unfurl .7s var(--v5-ease) both!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body :is(#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,#study.on .study-top .pbar)>i:is([style*="width: 0"],[style*="width:0"],[style*="width: 1%"],[style*="width:1%"],[style*="width: 2%"],[style*="width:2%"])::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot :is(.learn-next,.show-btn,.grades .grade.good),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot>.grade.good,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot #continuePlanBtn{
  border:0!important;border-radius:8px!important;clip-path:none!important;filter:none!important;
  background:var(--fs-grain-on),var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--fs-key)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot :is(.learn-next,.show-btn,.grades .grade.good,#continuePlanBtn):is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot>.grade.good:is(:active,.is-pressed){transform:translateY(1px)!important;box-shadow:var(--fs-key-down)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot :is(.grades .grade:not(.good),.study-bottom-row [data-study-prev],#doneEarBtn,#doneCwBtn,#doneBedBtn),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyFoot>.grade:not(.good){
  border:0!important;border-radius:8px!important;background:var(--fs-grain),var(--fs-wood-face)!important;color:var(--v5-ink)!important;box-shadow:var(--fs-plank)!important;
}
/* 连胜卡三行的小进度 = 细藤（静止） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track{height:8px!important;overflow:hidden!important;border-radius:4px!important;background:var(--fs-groove)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-streak .mobile-streak-copy .mobile-track>i{border-radius:0!important;background:var(--accent)!important;-webkit-mask:var(--fs-vine) 0 50%/16px 8px repeat-x!important;mask:var(--fs-vine) 0 50%/16px 8px repeat-x!important;}

/* ---------- F7. 学完再玩 / 连胜 / 档案：书页小卡 + 右上一枚砖红小书签；图标底 = 原木方牌 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-playrow .mobile-start-btn{
  background:linear-gradient(var(--terra),var(--terra)) right 16px top 0/10px 14px no-repeat,
             linear-gradient(to bottom right,var(--terra) 50%,transparent 50%) right 21px top 14px/5px 5px no-repeat,
             linear-gradient(to bottom left,var(--terra) 50%,transparent 50%) right 16px top 14px/5px 5px no-repeat,var(--v5-panel)!important;
  box-shadow:0 1px 0 var(--line),0 3px 0 -1px var(--card-strong),0 4px 0 -1px var(--line-strong),var(--v5-shadow)!important;
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome :is(.v5m-streak .mobile-streak-icon,.v5m-ach .mobile-ach-icon,.v5m-tip .mobile-tip-icon){border-radius:8px!important;background:var(--fs-grain),var(--fs-wood-face)!important;box-shadow:inset 0 -2px 0 var(--fs-wood-edge)!important;color:var(--accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-ringpct,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #mobileHome#mobileHome#mobileHome .v5m-ringstats .v5-stat__num{font-family:var(--v5-word)!important;}

/* ---------- F8. 学习页：舞台 = 书页（左侧页边线 + 叠页）；词头书卷体 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyBody .v5m-stage::before{
  background:linear-gradient(90deg,transparent 22px,color-mix(in srgb,var(--terra) 38%,transparent) 22px 23px,transparent 23px),var(--fs-grain),var(--v5-panel);
  box-shadow:var(--fs-pages);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyBody .v5m-stage::after{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body #study#study.on #studyBody .word{font-family:var(--v5-word)!important;font-weight:700!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body #study#study.on #studyBody .v5m-stage::after{display:none!important;}

/* ---------- 减少动态效果：液面 / 嫩叶停住（嫩叶直接是展开态）；入场只淡入 ---------- */
@media(prefers-reduced-motion:reduce){
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body :is(#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,#study.on .study-top .pbar)>i::after{animation:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body :is(#mobileHome .v5m-plan .mobile-plan-progress .mobile-track,#study.on .study-top .pbar)>i::after{animation:none!important;opacity:1!important;transform:none!important;}
  html.ws-v5.ws-v5m[data-theme="soda"] .v5m-sway{animation:none!important;}
}

}
/* <<< SODA-FOREST-V7 <<< */

/* >>> CLASSIC-V707 V7.0.7 经典四主题性格 · 手机首页落点（令牌 / 按钮 / 进度末端在 16 号 CLASSIC-V707 节；进度 release-packages/v707/PROGRESS-CT.md）>>>
 * 手卷：轴色走 16 号的 --v5-roller（21 号 SVG 原样消费），纸面装饰用 .v5m-scroll 的两个伪元素（21 号只给像素街机用过）：
 *   纸墨浅 = 纸面下沿水墨远山；纸墨深 = 金色远山；云阶白卷 = 左下三级台阶 + 右上一朵云；星河夜卷 = 上沿一条星点 + 右上一颗四角星（入场一闪，一次）。
 * 今日计划进度条末端放开裁切（12 号的「无端点」规则 3 个 id，这里 4 个）。只动 transform / opacity；reduced-motion 全关。 */
@media(max-width:768px){
html.ws-v5.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) .v5m-hero .v5m-scroll{position:relative;}
html.ws-v5.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) .v5m-hero .v5m-scroll::before,
html.ws-v5.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) .v5m-hero .v5m-scroll::after{content:"";position:absolute;pointer-events:none;z-index:1;}   /* z-index：SVG 那层带 transform，会盖住排在它前面的 ::before */
/* 纸墨：远山（前后两层靠遮罩里的 fill-opacity 分深浅） */
html.ws-v5.ws-v5m:is([data-theme="light"],[data-theme="dark"]) .v5m-hero .v5m-scroll::after{
  left:8%;right:8%;bottom:16.5%;height:24%;opacity:.1;background:var(--ink);
  -webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 40' preserveAspectRatio='none'><path d='M0 22C12 14 22 8 34 12C46 2 60 -2 74 8C84 14 92 12 100 16C116 6 132 4 146 14C158 20 170 18 182 12C196 6 208 8 220 16C232 10 244 10 256 16C270 8 290 6 320 14V40H0Z' fill-opacity='.55'/><path d='M0 32C14 26 26 22 38 28C50 18 62 16 74 26C82 30 90 30 98 34V40H0ZM220 36C232 26 246 20 258 26C270 18 284 16 296 24C306 28 314 30 320 30V40H220Z'/></svg>") 0 0/100% 100% no-repeat;
  mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 40' preserveAspectRatio='none'><path d='M0 22C12 14 22 8 34 12C46 2 60 -2 74 8C84 14 92 12 100 16C116 6 132 4 146 14C158 20 170 18 182 12C196 6 208 8 220 16C232 10 244 10 256 16C270 8 290 6 320 14V40H0Z' fill-opacity='.55'/><path d='M0 32C14 26 26 22 38 28C50 18 62 16 74 26C82 30 90 30 98 34V40H0ZM220 36C232 26 246 20 258 26C270 18 284 16 296 24C306 28 314 30 320 30V40H220Z'/></svg>") 0 0/100% 100% no-repeat;
}
html.ws-v5.ws-v5m[data-theme="dark"] .v5m-hero .v5m-scroll::after{background:var(--v5-gold);opacity:.14;}
/* 云阶白卷：左下台阶 + 右上一朵云 */
html.ws-v5.ws-v5m[data-theme="minimal-light"] .v5m-hero .v5m-scroll::before{
  --ck-step:color-mix(in srgb,var(--accent) 30%,var(--card));
  left:9%;bottom:17%;width:42px;height:18px;opacity:.9;
  background:linear-gradient(var(--ck-step),var(--ck-step)) 0 100%/13px 6px no-repeat,linear-gradient(var(--ck-step),var(--ck-step)) 14px 100%/13px 12px no-repeat,linear-gradient(var(--ck-step),var(--ck-step)) 28px 100%/14px 18px no-repeat;
}
html.ws-v5.ws-v5m[data-theme="minimal-light"] .v5m-hero .v5m-scroll::after{
  right:11%;top:20%;width:34px;height:20px;opacity:.35;background:var(--v5-accent);
  -webkit-mask:var(--ck-cloud) center/contain no-repeat;mask:var(--ck-cloud) center/contain no-repeat;
}
/* 星河夜卷：上沿星点（两层错位的点阵）+ 右上一颗四角星 */
html.ws-v5.ws-v5m[data-theme="minimal-dark"] .v5m-hero .v5m-scroll::after{
  left:10%;right:10%;top:17%;height:13%;opacity:.4;
  background:radial-gradient(circle at 30% 20%,var(--ink) 0 .9px,transparent 1.4px) 0 0/37px 100% repeat-x,radial-gradient(circle at 60% 70%,var(--ink) 0 .7px,transparent 1.2px) 11px 0/23px 100% repeat-x,radial-gradient(circle at 45% 45%,var(--ink) 0 1.1px,transparent 1.6px) 5px 0/53px 100% repeat-x;
}
html.ws-v5.ws-v5m[data-theme="minimal-dark"] .v5m-hero .v5m-scroll::before{
  right:12%;top:30%;width:13px;height:13px;opacity:.7;background:var(--v5-accent);
  -webkit-mask:var(--ck-star) center/contain no-repeat;mask:var(--ck-star) center/contain no-repeat;
  animation:v5ck-glint 1.1s cubic-bezier(.2,.8,.2,1) .3s both;
}
/* 今日计划进度条：放开裁切 + 末端标记（标记本体在 16 号 CT5，这里只把「无端点」规则压回来） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) body #mobileHome#mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track{overflow:visible!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) body #mobileHome#mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i::after{content:""!important;display:block!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="light"],[data-theme="dark"],[data-theme="minimal-light"],[data-theme="minimal-dark"]) body #mobileHome#mobileHome#mobileHome#mobileHome .v5m-plan .mobile-plan-progress .mobile-track>i:is([style*="width: 0"],[style*="width:0"],[style*="width: 1%"],[style*="width:1%"],[style*="width: 2%"],[style*="width:2%"],[style*="width: 3%"],[style*="width:3%"])::after{display:none!important;}
}
@media(max-width:768px) and (prefers-reduced-motion:reduce){
  html.ws-v5.ws-v5m[data-theme="minimal-dark"] .v5m-hero .v5m-scroll::before{animation:none;}
}
/* <<< CLASSIC-V707 <<< */

/* >>> TWM-V709 >>> */
/* ============================================================================
 * T. 手感 / 底栏指示器 / 抽屉开合（V7.0.9 TWM；release-packages/v709/BRIEF.md 共同标准 + TWM 行）
 * ----------------------------------------------------------------------------
 *  · 按下态：21 号手感引擎在 pointerdown 那一帧给可点元素加 .is-pressed（iOS 的 :active 时有时无、Android 要等 100ms 轻击判定）；
 *    本文件所有 :active 已改写成 :is(:active,.is-pressed)，这里只补原来没有按下态的元素，以及「按下快、松开按主题曲线回弹」。
 *  · 底栏：选中态改成一个会滑动的指示器 .v5m-tabind（21 号注入、只动 transform），每个主题自己的形：星穹光束 / 纸墨朱印·金印 /
 *    极简圆点（不滑，只淡入）/ 猫卷软垫（弹簧）/ 汽水气泡 / 森林书签；像素街机仍是按钮自己的洋红块（steps 闪一下）。
 *  · 抽屉（学习页「⋯」菜单 .v5m-mask）：进场从 24px 升起 + 遮罩淡入（曲线 / 时长走主题令牌），关闭 .is-closing 滑出屏幕 + 淡出。
 *  · 全部只动 transform / opacity；prefers-reduced-motion 下全关。
 * ==========================================================================*/
@keyframes wsv5mTabPop{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@media(max-width:768px){
/* ---------- T1. 按下态补齐（原来没有 :active 的可点元素）：按下 --v5-dur-fast 到位、松开 --v5-dur 回弹 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body :is(.v5m-seclink,.v5m-lectbtn,.v5m-flinks button,.v5m-ad,.v5m-route,.v5m-playrow .mobile-start-btn,.v5m-sec .v5m-seclink){transition:transform var(--v5-dur) var(--v5-ease),opacity var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body :is(.v5m-seclink,.v5m-lectbtn,.v5m-flinks button,.v5m-ad,.v5m-route,.v5m-playrow .mobile-start-btn):is(:active,.is-pressed){transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m :is(#mobileHomeAvatar,#mobileHomeReward){transition:transform var(--v5-dur) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome .v5-topbar-m :is(#mobileHomeAvatar,#mobileHomeReward):is(:active,.is-pressed){transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #mobileHome#mobileHome#mobileHome #mobileStartBtn.v5-btn-primary.is-pressed{transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item{transition:transform var(--v5-dur) var(--v5-ease),background-color var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-menu .v5-menu__item:is(:active,.is-pressed){background:var(--v5-accent-soft)!important;transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .v5m-pitem{transition:transform var(--v5-dur) var(--v5-ease),background-color var(--v5-dur-fast),border-color var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .wsv5-pgroup button:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .v5m-pitem:is(:active,.is-pressed){background:var(--v5-accent-soft)!important;border-color:var(--v5-accent-line)!important;transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .v5m-px,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sheet .v5-dialog__close{transition:transform var(--v5-dur) var(--v5-ease),background-color var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .wsv5-mask .v5m-px:is(:active,.is-pressed),
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-sheet .v5-dialog__close:is(:active,.is-pressed){background:var(--v5-accent-soft)!important;transform:scale(.9)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .x{transition:transform var(--v5-dur) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on .study-top .x:is(:active,.is-pressed){transform:var(--v5-press)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .skip-link{transition:transform var(--v5-dur) var(--v5-ease),opacity var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body #study#study.on #studyFoot .skip-link:is(:active,.is-pressed){transform:var(--v5-press)!important;opacity:.7!important;transition-duration:var(--v5-dur-fast)!important;}
/* 像素街机：按下不缩放、全部是 3px 下沉（steps，无过渡）；芯片 / 菜单项按下换成洋红描边 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body :is(.v5m-seclink,.v5m-lectbtn,.v5m-flinks button,.v5m-ad,.v5m-route,.v5m-playrow .mobile-start-btn,.v5m-menu .v5-menu__item,.wsv5-mask .wsv5-pgroup button,.wsv5-mask .v5m-pitem,.wsv5-mask .v5m-px,.v5m-sheet .v5-dialog__close,#study.on .study-top .x,#study.on #studyFoot .skip-link){transition:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body :is(.wsv5-mask .v5m-px,.v5m-sheet .v5-dialog__close):is(:active,.is-pressed){transform:translateY(3px)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body :is(.v5m-menu .v5-menu__item,.wsv5-mask .wsv5-pgroup button,.wsv5-mask .v5m-pitem):is(:active,.is-pressed){background:var(--accent-soft)!important;box-shadow:inset 0 0 0 3px var(--accent)!important;}

/* ---------- T2. 底栏：字色过渡；图标按下缩小、换页弹起一下（猫卷摇尾 / 像素闪一下 / 极简不动 各自已有） ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button{transition:color var(--v5-dur-fast) var(--v5-ease)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button::before{transition:transform var(--v5-dur) var(--v5-ease)!important;transform-origin:50% 60%;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button.is-pressed::before{transform:scale(.84)!important;transition-duration:var(--v5-dur-fast)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:not([data-theme="cute-pink"]):not([data-theme="pixel"]):not([data-theme="minimal-light"]):not([data-theme="minimal-dark"]) body nav.v5-tabbar>button.active::before{animation:wsv5mTabPop var(--v5-dur-slow) var(--v5-ease) 1;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button::before{transition:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>button.is-pressed::before{transform:translateY(2px)!important;}
/* 森林 / 汽水：字色等书签 / 气泡滑到了再变（--v5-dur-fast 的延迟） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="forest"],[data-theme="soda"]) body nav.v5-tabbar>button{transition:color var(--v5-dur) var(--v5-ease) var(--v5-dur-fast)!important;}
/* 设置页在手机上住在「我的」下面（25 号页头「‹ 我的」）：底栏亮「我的」（与统计 / 成就归「记录」同一口径） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body.v5m-st-cfg.v5m-st-cfg:not(#_) nav.v5-tabbar>button[data-tab="account"]{color:var(--v5-accent-ink)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body.v5m-st-cfg.v5m-st-cfg:not(#_) nav.v5-tabbar>button[data-tab="account"]{color:var(--on-accent)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body.v5m-st-cfg.v5m-st-cfg:not(#_) nav.v5-tabbar>button[data-tab="account"]{background:var(--v5-accent)!important;color:var(--v5-on-accent)!important;box-shadow:var(--v5p-side-down)!important;}

/* ---------- T3. 底栏滑动指示器 .v5m-tabind：5 列网格、左右内边距 8 → 宽 = (100% − 16px) / 5，translateX(序号 × 100%)；按钮画在它上面 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button{position:relative!important;z-index:1!important;}
/* 旧底栏规则把 nav 里「不是五个 tab 的东西」一律 visibility:hidden（10 号 / 旧美化层）→ 指示器要显式 visible（::before 继承） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>.v5m-tabind{
  display:block!important;visibility:visible!important;position:absolute!important;left:8px!important;top:6px!important;width:calc((100% - 16px) / 5)!important;height:44px!important;
  margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;pointer-events:none!important;z-index:0!important;
  transform:translateX(calc(var(--v5m-ti,0) * 100%));transition:transform var(--v5-dur-slow) var(--v5-ease);
}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>.v5m-tabind[hidden]{display:none!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>.v5m-tabind::before{content:"";display:block;visibility:visible;position:absolute;left:50%;}
/* 星穹（默认）：顶边一道 22×3 的光束，辉光随 --v5-glow；两端切角 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>.v5m-tabind::before{top:-6px;width:22px;height:3px;margin-left:-11px;background:var(--v5-accent);border-radius:0 0 2px 2px;clip-path:polygon(0 0,100% 0,calc(100% - 3px) 100%,3px 100%);box-shadow:0 0 calc(12px * var(--v5-glow)) var(--v5-accent-line);}
/* 纸墨浅：朱印圆点（印泥色）落在字下；纸墨深：金印 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="light"],[data-theme="dark"]) body nav.v5-tabbar>.v5m-tabind::before{top:auto;bottom:-5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;clip-path:none;box-shadow:none;background:var(--terra,var(--v5-accent));}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="dark"] body nav.v5-tabbar>.v5m-tabind::before{background:var(--v5-gold);}
/* 极简：4px 圆点，不滑动（极简只淡入） */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="minimal-light"],[data-theme="minimal-dark"]) body nav.v5-tabbar>.v5m-tabind{transition:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="minimal-light"],[data-theme="minimal-dark"]) body nav.v5-tabbar>.v5m-tabind::before{top:auto;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;clip-path:none;box-shadow:none;background:var(--v5-ink-2);}
/* 猫卷：图标和字后面一块软软的圆垫（accent 12%），弹簧曲线滑过去 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="cute-pink"] body nav.v5-tabbar>.v5m-tabind::before{top:2px;width:50px;height:40px;margin-left:-25px;border-radius:999px;clip-path:none;box-shadow:none;background:var(--v5-accent-soft);}
/* 汽水：S1 的浅苏打泡从按钮搬到指示器上（按钮自己的底色收掉），泡随滑动漂过去 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body nav.v5-tabbar>button.active,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{background:transparent!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="soda"] body nav.v5-tabbar>.v5m-tabind::before{top:1px;width:32px;height:32px;margin-left:-16px;border-radius:50%;clip-path:none;background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--sd-glass-line),var(--sd-hi);}
/* 森林：F1 的叶绿书签从按钮搬到指示器上（按钮只留奶白字），书签垂挂着滑过去；底栏顶边 0、按钮 50 高（F1）→ 指示器同高 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>button.active,
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body.v5m-st-recsub.v5m-st-recsub:not(#_) nav.v5-tabbar>button[data-tab="records"]{background:transparent!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>.v5m-tabind{top:0!important;height:50px!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="forest"] body nav.v5-tabbar>.v5m-tabind::before{
  top:0;width:44px;height:100%;margin-left:-22px;border-radius:0;clip-path:none;box-shadow:none;
  background:linear-gradient(var(--accent),var(--accent)) center top/44px calc(100% - 6px) no-repeat,
             linear-gradient(to bottom right,var(--accent) 50%,transparent 50%) left bottom/22px 6px no-repeat,
             linear-gradient(to bottom left,var(--accent) 50%,transparent 50%) right bottom/22px 6px no-repeat;
}
/* 像素街机：选中就是按钮自己的洋红块（P1，闪一下），不用指示器 */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m[data-theme="pixel"] body nav.v5-tabbar>.v5m-tabind{display:none!important;}

/* ---------- T4. 学习页「⋯」菜单抽屉 .v5m-mask：进场 24px 升起（像素不滑、极简只淡入）；关闭 .is-closing 滑出屏幕 + 淡出 ---------- */
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask .v5m-sheet{transform:translateY(var(--v5m-sheet-in,24px));}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.on .v5m-sheet{transform:none;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="pixel"],[data-theme="minimal-light"],[data-theme="minimal-dark"]){--v5m-sheet-in:0px;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.is-closing{opacity:0!important;pointer-events:none!important;transition:opacity var(--v5-dur) var(--v5-ease-in)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.is-closing .v5m-sheet{transform:translateY(100%)!important;transition:transform var(--v5-dur) var(--v5-ease-in)!important;}
html.ws-v5.ws-v5m.ws-v5m.ws-v5m:is([data-theme="minimal-light"],[data-theme="minimal-dark"]) body .v5m-mask.is-closing .v5m-sheet{transform:none!important;}

/* ---------- T5. 减少动态效果：指示器不滑、图标不弹、抽屉不滑、按下不缩 ---------- */
@media(prefers-reduced-motion:reduce){
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>.v5m-tabind{transition:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button.active::before{animation:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body nav.v5-tabbar>button.is-pressed::before{transform:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask.is-closing .v5m-sheet{transform:none!important;transition:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .v5m-mask .v5m-sheet{transform:none!important;}
  html.ws-v5.ws-v5m.ws-v5m.ws-v5m body .is-pressed{transform:none!important;}
}
}
/* <<< TWM-V709 <<< */
