/* 课页技能点：课首任务条 + 课末加点结算。颜色只取全站令牌（ui.css），浅色金、夜金、暗淡与各强调色通用。
   静态骨架（不开脚本时）与脚本增强后的完整样子共用这一份；脚本挂上后给两块加 .on。 */
.lsk-task,.lsk-st{--gold:var(--fill);--gold-hi:color-mix(in srgb,var(--fill) 42%,#fff);--gold-lo:color-mix(in srgb,var(--fill) 72%,#000);font-family:var(--font);text-align:left}
.lsk-i{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
:where(.lsk-task,.lsk-st) :where(button,select,input){font:inherit;color:inherit}
:where(.lsk-task,.lsk-st) [hidden]{display:none!important}
:where(.lsk-task,.lsk-st) :is(p,ol,ul,li){margin:0;padding:0}
/* 课页正文的链接默认金色加下划线边框，这里压回去（课页样式用 :where 降了权重，这里一个类就够，再加 :root body 保险） */
:root body :is(.lsk-task,.lsk-st) a{border-bottom:0;box-shadow:none;text-decoration:none}
:root body :is(.lsk-task,.lsk-st) a:hover{text-decoration:none}
:root body :is(.lsk-task,.lsk-st) :is(a.lsk-mn,a.lsk-lr,a.lsk-kn,a.lsk-tk-row){color:inherit}
:root body :is(.lsk-task,.lsk-st) a.lsk-btn,:root body :is(.lsk-task,.lsk-st) a.lsk-btn:hover{color:var(--on-fill)}
:root body :is(.lsk-task,.lsk-st) a.lsk-btn2{color:var(--text);border:1px solid var(--line2)}
:root body :is(.lsk-task,.lsk-st) a.lsk-lnk{color:var(--sub);border:1px solid var(--line2)}
:root body :is(.lsk-task,.lsk-st) a.lsk-lr{border:1px solid var(--line)}
:root body :is(.lsk-task,.lsk-st) :is(a.lsk-btn2,a.lsk-lnk,a.lsk-lr):hover{color:var(--accent);border-color:var(--accent-line)}
:root body .lsk-also a,:root body .lsk-lockmsg a{color:var(--sub);text-decoration:underline;text-underline-offset:3px}
:root body .lsk-also a:hover,:root body .lsk-lockmsg a:hover{color:var(--accent)}
.lsk-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 分段进度环 ---------- */
.lsk-ring{display:block;overflow:visible}
.lsk-ring path{fill:none;stroke-width:var(--sw);stroke-linecap:round}
.lsk-ring .rg-b{stroke:var(--line2)}
.lsk-ring .rg-f{stroke:var(--gold)}
.lsk-ring .rg-new{stroke-dasharray:1;stroke-dashoffset:0;animation:lsk-seg .9s var(--ease) .15s both}
.lsk-ring.full .rg-f{filter:drop-shadow(0 0 3px var(--accent-glow))}
@keyframes lsk-seg{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* ---------- 技能圆盘（与学习地图加点树同一套状态） ---------- */
.lsk-disc{position:relative;width:var(--d);height:var(--d);flex:none;display:grid;place-items:center;border-radius:50%;border:2px solid var(--line2);background:var(--raise2);color:var(--mute);transition:background var(--dur-2),border-color var(--dur-2),color var(--dur-2),box-shadow var(--dur-2)}
.lsk-disc.st-open{border-color:var(--accent);color:var(--accent);background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--card)}
.lsk-disc.st-lit{border-color:var(--gold-hi);color:var(--on-fill);background:radial-gradient(circle at 38% 30%,var(--gold-hi),var(--gold) 58%,var(--gold-lo));box-shadow:0 0 0 3px var(--accent-soft2),0 0 18px var(--accent-glow)}
.lsk-disc.st-lock{background:var(--raise2);border-color:var(--line2);color:var(--mute)}
.lsk-disc.st-soon{border-style:dashed;border-color:var(--info);color:var(--info);background:var(--card)}
.lsk-disc.st-plan{border-style:dotted;border-color:var(--line3);background:transparent}
.lsk-bd{position:absolute;right:-5px;bottom:-3px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line2);color:var(--mute);font-style:normal}
.lsk-disc.st-lit .lsk-bd{background:var(--on-fill);border-color:var(--gold);color:var(--gold)}

/* ========== 课首任务条 ========== */
.lsk-task{margin:16px 0 0;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--card);overflow:hidden;transition:border-color var(--dur-2),box-shadow var(--dur-2)}
.lsk-task:hover,.lsk-task.open{border-color:var(--accent-line)}
.lsk-task.open{box-shadow:var(--shadow)}
.lsk-task.st-lit{background:linear-gradient(90deg,var(--accent-soft),transparent 70%),var(--card)}
.lsk-tk-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:7px 12px 7px 8px;border:0;background:none;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;color:var(--text)}
.lsk-tk-row:focus-visible{outline:none;box-shadow:inset var(--ring)}
.lsk-tk-row>.lsk-i{color:var(--mute)}
.lsk-tk-ic{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center;color:var(--accent)}
.lsk-task:not(.on) .lsk-tk-ic{border-radius:50%;background:var(--accent-soft)}
.lsk-tk-g{position:absolute;inset:0;display:grid;place-items:center;color:var(--accent)}
.lsk-task.st-lock .lsk-tk-g{color:var(--mute)}
.lsk-tk-t{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 12px;line-height:1.45}
.lsk-tk-t b{font-size:14.5px;font-weight:600;color:var(--text)}
.lsk-tk-t b em{font-style:normal;color:var(--accent)}
.lsk-tk-m{font-size:13px;color:var(--mute);white-space:nowrap}
.lsk-tk-m i{font-style:normal;margin:0 6px;opacity:.6}
.lsk-chip{display:inline-flex;align-items:center;gap:4px;flex:none;height:24px;padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--line2);font-size:12px;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.lsk-chip.go{border-color:var(--accent-line);color:var(--accent);background:var(--accent-soft)}
.lsk-chip.lit{border-color:var(--gold);background:var(--gold);color:var(--on-fill);font-weight:600}
.lsk-chip.lock{color:var(--mute);max-width:220px;overflow:hidden;text-overflow:ellipsis}
.lsk-chev{flex:none;color:var(--mute);transition:transform var(--dur-2) var(--ease)}
.lsk-task.open .lsk-chev{transform:rotate(180deg);color:var(--accent)}
.lsk-task>.lsk-also{padding:0 14px 10px 54px}

.lsk-tk-panel{border-top:1px solid var(--line);padding:12px 14px;background:radial-gradient(var(--line) 1px,transparent 1.3px) 0 0/18px 18px,var(--card2);animation:lsk-drop .28s var(--ease)}
@keyframes lsk-drop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
:where(.lsk-task) .lsk-tk-mm{display:none;margin:0 0 8px;font-size:12.5px;color:var(--mute)}
.lsk-tk-hero{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--sub)}
.lsk-tk-hero>span{flex:1 1 200px;min-width:0}
.lsk-tk-hero img,.lsk-hb img,.lsk-hb-ic{width:28px;height:28px;border-radius:8px;object-fit:contain;background:var(--raise2);flex:none}
.lsk-hb-ic{display:grid;place-items:center;color:var(--accent)}
.lsk-tk-hero b{color:var(--text);font-weight:600}
.lsk-mini{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px 10px;min-height:150px}
.lsk-mini-e{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.lsk-mini-col{position:relative;z-index:1;display:flex;align-items:center}
.lsk-mini .c-pre{gap:0;flex:1 1 0;justify-content:space-between;max-width:300px}
.lsk-mini .c-pre .lsk-sp{flex:1;min-width:20px}
.lsk-mini .c-kid{flex-direction:column;gap:10px}
.lsk-mn{display:flex;flex-direction:column;align-items:center;gap:5px;width:96px;padding:6px 2px;border-radius:12px;transition:background var(--dur-1)}
.lsk-mn:hover{background:var(--hover)}
.lsk-mn:hover .lsk-disc{transform:translateY(-2px)}
.lsk-mn:focus-visible{outline:none;box-shadow:var(--ring)}
.lsk-mn .lsk-disc{transition:transform var(--dur-1) var(--ease)}
.lsk-mn-n{font-size:12.5px;line-height:1.35;text-align:center;color:var(--text);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lsk-mn-s{font-size:11px;line-height:1;color:var(--mute)}
.lsk-mn-s:is(.s-lit,.s-open){color:var(--accent)}
.lsk-mn.here{width:108px}
.lsk-mn.here .lsk-mn-n{font-weight:600}
.lsk-mn.here .lsk-mn-s{color:var(--on-fill);background:var(--gold);padding:3px 7px;border-radius:99px;font-weight:600}
.lsk-mn.here .lsk-disc:not(.st-lit){box-shadow:0 0 0 4px var(--accent-soft2);animation:lsk-pulse 2s ease-in-out infinite}
.lsk-e{fill:none;stroke-width:2;stroke-linecap:round}
.lsk-e.base{stroke:var(--line3);stroke-dasharray:4 5}
.lsk-e.half{stroke:var(--accent-line);stroke-dasharray:6 5;animation:lsk-dash 1.1s linear infinite}
.lsk-e.lit{stroke:var(--gold);stroke-width:2.6;filter:drop-shadow(0 0 2px var(--accent-glow))}
.lsk-e.flow{stroke:var(--gold-hi);stroke-width:4.5;stroke-dasharray:.22 2;stroke-dashoffset:.22;animation:lsk-flow 1.1s var(--ease) .45s both;filter:drop-shadow(0 0 5px var(--gold))}
@keyframes lsk-dash{to{stroke-dashoffset:-22}}
@keyframes lsk-flow{from{stroke-dashoffset:.22;opacity:1}85%{opacity:1}to{stroke-dashoffset:-1;opacity:0}}
@keyframes lsk-pulse{0%,100%{box-shadow:0 0 0 0 var(--accent-soft2)}50%{box-shadow:0 0 0 7px var(--accent-soft)}}
.lsk-tk-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding-top:10px;border-top:1px dashed var(--line2)}
.lsk-tk-foot p{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sub)}
.lsk-tk-foot p .lsk-i{color:var(--accent)}
.lsk-tk-acts{display:flex;gap:6px;flex-wrap:wrap}
.lsk-lnk{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 11px;border-radius:var(--r-pill);border:1px solid var(--line2);background:var(--card);font-size:13px;color:var(--sub);cursor:pointer;white-space:nowrap}
.lsk-lnk:hover{color:var(--accent);border-color:var(--accent-line)}
.lsk-lnk.sm{min-height:28px;padding:0 10px;font-size:12.5px}
.lsk-also{margin:8px 0 0;font-size:12.5px;color:var(--mute)}
:where(.lsk-task) .lsk-tk-panel .lsk-also{margin-top:8px}

/* ========== 课末加点结算 ========== */
.lsk-st{position:relative;margin:22px 0 4px;padding:18px 20px 16px;border:1px solid var(--line2);border-radius:var(--r-lg);background:radial-gradient(120% 140px at 12% 0%,var(--accent-soft2),transparent 70%),var(--card);box-shadow:var(--shadow);overflow:hidden;color:var(--text);outline:none}
.lsk-st::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:.75}
.lsk-st.st-lit{border-color:var(--accent-line)}
.lsk-st-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lsk-st-k{display:inline-flex;align-items:center;gap:6px;font-size:12px;letter-spacing:var(--ls-kicker);color:var(--accent);font-weight:600}
.lsk-st-s{font-size:12px;padding:3px 10px;border-radius:var(--r-pill);border:1px solid var(--line2);color:var(--sub);font-variant-numeric:tabular-nums;white-space:nowrap}
.lsk-st-s.s-lit{background:var(--gold);border-color:var(--gold);color:var(--on-fill);font-weight:600}
.lsk-st-s.s-lock{color:var(--mute)}
.lsk-st-ti{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:10px}
:where(.lsk-st) .lsk-st-ti{margin-top:10px}
.lsk-st-ti b{font-size:20px;font-weight:600;line-height:1.3;color:var(--text);font-family:var(--font-display)}
.lsk-st-can{margin:2px 0 0;font-size:13px;line-height:1.6;color:var(--mute)}
:where(.lsk-st) .lsk-st-can{margin-top:2px}
.lsk-st:not(.on) .lsk-say{margin:12px 0}
.lsk-st-go{display:flex;flex-wrap:wrap;gap:10px}
.lsk-stage{position:relative;display:flex;align-items:center;margin:14px 0 6px;padding:4px 0}
.lsk-stage-e{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.lsk-me{position:relative;z-index:1;flex:none}
.lsk-me-r{position:relative;display:grid;place-items:center;width:104px;height:104px}
.lsk-me-r .lsk-ring{position:absolute;inset:0}
.lsk-me-r .lsk-disc{z-index:1}
.lsk-st.st-lit .lsk-me-r::before{content:"";position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,var(--accent-glow),transparent 68%);animation:lsk-halo 3.2s ease-in-out infinite}
.lsk-st.st-lit .lsk-disc.me{box-shadow:0 0 0 4px var(--accent-soft2),0 0 0 9px var(--accent-soft),0 0 30px var(--accent-glow)}
@keyframes lsk-halo{0%,100%{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
.lsk-plus{position:absolute;left:50%;top:-6px;z-index:3;transform:translateX(-50%);padding:3px 10px;border-radius:var(--r-pill);background:var(--gold);color:var(--on-fill);font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 6px 18px -6px var(--accent-glow);animation:lsk-plus 1.8s var(--ease) both;pointer-events:none}
@keyframes lsk-plus{0%{opacity:0;transform:translate(-50%,18px) scale(.7)}18%{opacity:1;transform:translate(-50%,0) scale(1.12)}30%{transform:translate(-50%,0) scale(1)}75%{opacity:1;transform:translate(-50%,-6px)}100%{opacity:0;transform:translate(-50%,-22px)}}
.lsk-disc.lighting{animation:lsk-light .9s var(--ease) both}
@keyframes lsk-light{0%{transform:scale(.82);background:var(--raise2);border-color:var(--accent);color:var(--accent);box-shadow:none}45%{transform:scale(1.16)}70%{transform:scale(.97)}100%{transform:scale(1)}}
.lsk-burst{position:absolute;inset:14px;border-radius:50%;border:3px solid var(--gold);pointer-events:none;z-index:2;animation:lsk-burst .9s var(--ease) .1s both}
.lsk-burst.b2{border-width:2px;animation-delay:.32s}
@keyframes lsk-burst{from{transform:scale(.7);opacity:1}to{transform:scale(2.1);opacity:0}}

.lsk-cnt{font-size:14px;color:var(--sub);font-variant-numeric:tabular-nums}
.lsk-cnt em{font-style:normal;font-size:22px;font-weight:700;color:var(--accent);margin-right:2px}
.lsk-st.a-plus .lsk-cnt em{display:inline-block;animation:lsk-bump .7s var(--ease) .55s both}
@keyframes lsk-bump{0%{transform:none}40%{transform:translateY(-5px) scale(1.25)}100%{transform:none}}
.lsk-kids{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;margin-left:clamp(64px,14vw,180px);min-width:0}
.lsk-kids-k{font-size:11.5px;color:var(--mute);letter-spacing:.04em}
.lsk-kn{display:flex;align-items:center;gap:10px;min-width:0;border-radius:12px}
.lsk-kn:focus-visible{outline:none;box-shadow:var(--ring)}
.lsk-kn:hover b{color:var(--accent)}
.lsk-kn>span{display:flex;flex-direction:column;min-width:0}
.lsk-kn b{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.35;white-space:nowrap}
.lsk-kn small{font-size:11.5px;color:var(--mute)}
.lsk-kn small.s-open{color:var(--accent)}
.lsk-kn.unlocked .lsk-disc{animation:lsk-unlock 1.2s var(--ease) 1s both}
.lsk-kn.unlocked small{animation:lsk-fade .5s ease 1.3s both}
@keyframes lsk-unlock{0%{background:var(--raise2);border-color:var(--line2);color:var(--mute);box-shadow:0 0 0 0 var(--accent-glow)}35%{transform:scale(1.15);box-shadow:0 0 0 10px transparent,0 0 22px var(--accent-glow)}100%{transform:scale(1);box-shadow:0 0 0 0 transparent}}
@keyframes lsk-fade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}

.lsk-body{padding-top:6px}
:root body .lsk-st .lsk-say{margin:6px 0 12px;font-size:15px;line-height:1.7;color:var(--prose)}
:root body .lsk-st .lsk-say.sub{margin:4px 0 0;font-size:13px;color:var(--mute)}
.lsk-say b{color:var(--accent);font-weight:700}
.lsk-say.lit{font-weight:500}
.lsk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:0;border-radius:var(--r-md);background:var(--fill);color:var(--on-fill);box-shadow:inset 0 0 0 1px var(--fill-edge);font-size:15.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.lsk-btn:hover{background:var(--fill-hover);color:var(--on-fill)}
.lsk-btn:focus-visible,.lsk-btn2:focus-visible,.lsk-lnk:focus-visible,.lsk-undo:focus-visible{outline:none;box-shadow:var(--ring)}
.lsk-btn2{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 18px;border:1px solid var(--line2);border-radius:var(--r-md);background:var(--card);color:var(--text);font-size:14.5px;font-weight:500;cursor:pointer;white-space:nowrap}
.lsk-btn2:hover{border-color:var(--accent-line);color:var(--accent)}
.lsk-btn2 .lsk-i{color:var(--accent)}
.lsk-btn.wide{margin-bottom:12px}

.lsk-ls{list-style:none;display:flex;flex-direction:column;gap:4px}
:where(.lsk-st) .lsk-ls>li{list-style:none;margin:0}
.lsk-ls>li::before,.lsk-ls>li::marker{content:none}
.lsk-lr{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:inherit}
a.lsk-lr:hover{background:var(--accent-soft)}
a.lsk-lr:hover .lsk-ls-r .lsk-i{color:var(--accent);transform:translateX(2px)}
:root body .lsk-st .lsk-lr.done{background:transparent;border-color:transparent}
.lsk-lr.done .lsk-ls-n{color:var(--sub)}
:root body .lsk-st .lsk-lr.here{border-style:dashed;border-color:var(--accent-line)}
.lsk-ck{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line3);font-size:11px;font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
.lsk-ck.on{background:var(--gold);border-color:var(--gold);color:var(--on-fill)}
.lsk-ls-m{flex:1;min-width:0;display:flex;flex-direction:column}
.lsk-ls-k{font-size:11.5px;color:var(--mute);display:flex;align-items:center;gap:6px}
.lsk-ls-k em{font-style:normal;font-size:11px;padding:0 6px;border-radius:99px;background:var(--accent-soft2);color:var(--accent);font-weight:600}
.lsk-ls-n{font-size:14px;line-height:1.45;color:var(--text);font-weight:500}
.lsk-ls-r{display:flex;align-items:center;gap:8px;flex:none;font-size:12px;color:var(--mute);white-space:nowrap}
.lsk-ls-r .lsk-i{color:var(--mute);transition:transform var(--dur-1)}
.lsk-fee{font-size:11px;padding:1px 7px;border-radius:99px;border:1px solid var(--line2)}
.lsk-fee.free{color:var(--free);border-color:var(--free-line);background:var(--free-soft)}
.lsk-fee.paid{color:var(--accent);border-color:var(--accent-line)}
/* App 内（iOS 不出现购买引导）：课节的免费、需开通小标都不显示 */
:root:is([data-look="app"],.tl-app) .lsk-fee{display:none}
.lsk-all{margin-top:8px}
.lsk-all summary{cursor:pointer;font-size:13px;color:var(--mute);padding:4px 0;list-style:revert}
.lsk-all .lsk-ls{margin-top:6px}

.lsk-quiz{padding:14px 16px;border-radius:var(--r-md);border:1px dashed var(--accent-line);background:var(--accent-soft)}
:root body .lsk-st .lsk-quiz-k{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--accent)}
:root body .lsk-st .lsk-quiz-q{margin:0 0 10px;font-size:15.5px;line-height:1.75;color:var(--prose)}
.lsk-ans{margin:0 0 12px}
.lsk-ans summary{display:inline-block;cursor:pointer;font-size:13px;color:var(--sub);text-decoration:underline;text-underline-offset:3px}
:root body .lsk-st .lsk-ans p{margin:6px 0 0;padding:8px 12px;border-radius:var(--r-sm);background:var(--card);font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}
.lsk-did{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 16px;border-radius:var(--r-md);border:1.5px solid var(--accent-line);background:var(--card);cursor:pointer;transition:border-color var(--dur-1),box-shadow var(--dur-1)}
.lsk-did:hover{border-color:var(--accent);box-shadow:var(--shadow-sel)}
.lsk-did input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.lsk-did input:focus-visible+.lsk-box{box-shadow:var(--ring)}
.lsk-box{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;border:2px solid var(--accent);color:transparent;background:var(--card)}
.lsk-did input:checked+.lsk-box{background:var(--gold);color:var(--on-fill)}
.lsk-did>span:last-child{display:flex;flex-direction:column}
.lsk-did b{font-size:16px;font-weight:600;color:var(--text)}
.lsk-did small{font-size:12.5px;color:var(--mute);line-height:1.5}
:root body .lsk-st .lsk-lockmsg{display:flex;align-items:flex-start;gap:6px;margin:0 0 10px;font-size:13.5px;line-height:1.6;color:var(--sub)}
.lsk-lockmsg .lsk-i{margin-top:3px;color:var(--mute)}
.lsk-lockmsg a{margin-left:4px;white-space:nowrap}

.lsk-next{padding:16px;border-radius:var(--r-lg);border:1px solid var(--accent-line);background:linear-gradient(135deg,var(--accent-soft2),transparent 65%),var(--card)}
.lsk-nw{display:grid;grid-template-rows:1fr}
.lsk-nw>div{min-height:0;overflow:hidden;padding:2px;margin:-2px}
.lsk-nw.enter{animation:lsk-open .7s var(--ease) 1.15s both}
@keyframes lsk-open{from{grid-template-rows:0fr;opacity:0;transform:translateY(10px)}to{grid-template-rows:1fr;opacity:1;transform:none}}
:root body .lsk-st .lsk-next-k{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:12.5px;font-weight:600;color:var(--accent);letter-spacing:.04em}
.lsk-next-k span{margin-left:auto;font-weight:500;color:var(--mute);letter-spacing:0}
.lsk-next-b{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.lsk-next-b .lsk-disc.nx{animation:lsk-pulse 2s ease-in-out infinite}
.lsk-next-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.lsk-next-t b{font-size:21px;font-weight:600;line-height:1.3;color:var(--text);font-family:var(--font-display)}
.lsk-next-t span{font-size:14.5px;color:var(--prose);line-height:1.5}
.lsk-next-t .lsk-next-m{font-size:12.5px;color:var(--mute)}
.lsk-next-a{display:flex;gap:10px;flex-wrap:wrap}
.lsk-next-a .lsk-btn{flex:1 1 240px;min-height:52px;font-size:16.5px}
:root body .lsk-st .lsk-next.empty p{margin:0 0 12px;font-size:15px}
.lsk-undo{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:4px 2px;border:0;background:none;font-size:12.5px;color:var(--mute);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lsk-undo:hover{color:var(--text)}

/* 英雄路线进度 */
.lsk-hb{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.lsk-hb img,.lsk-hb .lsk-hb-ic{width:30px;height:30px;border-radius:9px}
.lsk-hb-m{flex:1;min-width:0}
.lsk-hb-l{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--sub);white-space:nowrap}
.lsk-hb-n{display:inline-flex;align-items:baseline;gap:4px;font-weight:600;color:var(--sub);font-variant-numeric:tabular-nums}
.lsk-hb-n em{font-style:normal;font-size:17px;color:var(--accent)}
.lsk-hb-n small{font-size:13px;font-weight:500}
.lsk-hb-n .from{font-size:14px;color:var(--mute)}
.lsk-hb-n .to-a{align-self:center;color:var(--accent);animation:lsk-fade .4s ease .9s both}
.lsk-hb-n .to{display:inline-block;animation:lsk-tick 1s var(--ease) 1s both}
@keyframes lsk-tick{0%{opacity:0;transform:translateY(10px)}35%{opacity:1;transform:translateY(-6px) scale(1.35)}55%{transform:translateY(0) scale(1)}72%{transform:translateY(-3px) scale(1.12)}100%{transform:none}}
.lsk-hb-h{margin-left:auto;font-size:12px;color:var(--mute);overflow:hidden;text-overflow:ellipsis}
.lsk-hb-segs{display:flex;gap:2px;height:6px;margin-top:5px}
.lsk-hb-segs i{flex:1;min-width:1px;border-radius:2px;background:var(--raise2)}
.lsk-hb-segs i.on{background:var(--gold)}
.lsk-hb-segs i.me{box-shadow:0 0 0 1.5px var(--accent);background:var(--accent-soft2);animation:lsk-blink 1.6s ease-in-out infinite}
.lsk-hb-segs i.me.on{background:var(--gold);animation:none}
.lsk-hb-segs i.pop{animation:lsk-segpop .9s var(--ease) .9s both}
@keyframes lsk-blink{50%{background:var(--accent-line)}}
@keyframes lsk-segpop{0%{background:var(--raise2);transform:scaleY(1)}50%{transform:scaleY(2.4);background:var(--gold-hi)}100%{transform:scaleY(1);background:var(--gold)}}

/* 页脚里结算卡和翻页之间留口气 */
.lsk-st+script+script+nav,.lsk-st~nav{margin-top:22px}

/* ---------- 窄屏 ---------- */
@media (max-width:720px){
  .lsk-task.on .lsk-tk-m,.lsk-task .lsk-chip{display:none}
  .lsk-task.on .lsk-tk-t{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .lsk-tk-t b{font-size:14px}
  .lsk-tk-row{gap:10px;padding:6px 10px 6px 6px}
  .lsk-task>.lsk-also{padding-left:50px}
  .lsk-tk-panel{padding:10px 10px 12px}
  .lsk-mini{gap:4px;padding:14px 0 8px;min-height:132px}
  .lsk-mini .c-pre .lsk-sp{min-width:8px}
  .lsk-mn{width:68px;gap:4px;padding:4px 0}
  .lsk-mn.here{width:76px}
  .lsk-mn .lsk-disc{--d:36px!important}
  .lsk-mn.here .lsk-disc{--d:44px!important}
  .lsk-mn-n{font-size:11.5px}
  .lsk-mn-s{font-size:10.5px}
  .lsk-mn.here .lsk-mn-s{padding:2px 6px}
  .lsk-mini .c-pre{max-width:156px}
  :where(.lsk-task) .lsk-tk-mm{display:block}
  .lsk-tk-foot{flex-direction:column;align-items:stretch}
  .lsk-tk-acts .lsk-lnk{flex:1;justify-content:center;min-height:40px}

  .lsk-st.on{margin-left:calc(-1 * var(--lsk-bl,16px));margin-right:calc(-1 * var(--lsk-br,16px));border-radius:0;border-left:0;border-right:0;padding:16px 16px 14px}
  .lsk-st-ti b{font-size:18px}
  .lsk-me-r{width:88px;height:88px}
  .lsk-me-r .lsk-ring{width:88px;height:88px}
  .lsk-me-r .lsk-disc{--d:58px!important}
  .lsk-kids{margin-left:44px;gap:8px}
  .lsk-kn{gap:8px}
  .lsk-kn .lsk-disc{--d:34px!important}
  .lsk-kn b{white-space:normal;font-size:13px}
  .lsk-btn,.lsk-btn2{width:100%;min-height:52px}
  .lsk-next-a{flex-direction:column}
  .lsk-next-a .lsk-btn{flex:none;min-height:56px}
  .lsk-next-t b{font-size:19px}
  .lsk-next-b{gap:12px}
  .lsk-lr{padding:9px 10px;gap:10px}
  .lsk-ls-r>span:not(.lsk-fee){display:none}
  .lsk-hb{flex-wrap:wrap}
  .lsk-hb .lsk-lnk{flex:1 0 100%;justify-content:center;min-height:40px}
  .lsk-hb-h{display:none}
}

@media (prefers-reduced-motion:reduce){
  .lsk-task *,.lsk-st *,.lsk-st,.lsk-task{animation:none!important;transition:none!important}
  .lsk-e.flow,.lsk-burst,.lsk-plus{display:none}
}
@media print{.lsk-task,.lsk-st{display:none}}
