/* 课程阅读器 V1：首屏先交代问题与产出；正文专心阅读；大纲按需打开。 */

body.lesson-page{background:var(--surface)}
body.lesson-page #main{min-height:70vh}

.reader-shell{max-width:1120px;margin:0 auto;padding:0 28px 72px}
.reader-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:58px;border-bottom:1px solid var(--line);color:var(--dim);font-size:13px}
.reader-back{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2)}
.reader-back:hover{color:var(--accent-text)}

.reader-outline{position:relative;z-index:80}
.reader-outline>summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:8px;color:var(--ink);font-weight:700;cursor:pointer;list-style:none}
.reader-outline>summary::-webkit-details-marker{display:none}
.reader-outline>summary::before{content:"☰";font-size:13px;color:var(--dim)}
.reader-outline[open]>summary{background:var(--bg-2)}
.reader-outline .sp-txt-m{min-width:35px;color:var(--green-text);font-size:12px;font-weight:700;text-align:right}
.reader-outline-panel{position:absolute;top:50px;right:0;width:min(460px,calc(100vw - 32px));max-height:min(72vh,700px);overflow:auto;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-pop)}
.reader-outline-head{display:grid;gap:4px;padding:0 8px 16px;border-bottom:1px solid var(--line)}
.reader-outline-head b{font-size:15px;line-height:1.5}
.reader-outline-head span{color:var(--dim);font-size:12px;line-height:1.55}
.reader-outline-panel .side-toc{padding-top:12px}
.reader-outline-panel .s-ch{margin-top:12px}
.reader-outline-panel .s-ch-t{font-family:inherit;font-size:12px;font-weight:750;letter-spacing:0;color:var(--dim)}
.reader-outline-panel .s-l{min-height:42px;border-radius:7px;font-size:12.5px;line-height:1.45}
.reader-outline-panel .s-idx{font-family:inherit;font-size:11px}

.reader-grid{display:grid;grid-template-columns:minmax(0,760px) 260px;grid-template-areas:"hero rail" "article rail";gap:0 56px;align-items:start}
.reader-hero{grid-area:hero;padding:54px 0 42px;border-bottom:1px solid var(--line)}
.reader-problem-label{margin:0 0 12px;color:var(--accent-text);font-size:14px;font-weight:800}
.reader-template-concept .reader-problem-label{color:var(--blue)}
.reader-template-capstone .reader-problem-label{color:var(--gold)}
.reader-hero h1{max-width:740px;margin:0;font-size:clamp(32px,3.1vw,42px);line-height:1.23;letter-spacing:-.028em;text-wrap:balance;overflow-wrap:anywhere}
.reader-delivery{display:grid;gap:5px;margin:28px 0 24px;padding-left:18px;border-left:3px solid var(--green)}
.reader-delivery span{color:var(--green-text);font-size:13px;font-weight:750}
.reader-delivery strong{max-width:680px;font-size:17px;line-height:1.65;font-weight:750}
.reader-template-concept .reader-delivery{border-left-color:var(--blue)}
.reader-template-concept .reader-delivery span{color:var(--blue)}
.reader-template-capstone .reader-delivery{border-left-color:var(--gold)}
.reader-template-capstone .reader-delivery span{color:var(--gold)}
.reader-start{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;background:var(--btn-bg);color:var(--btn-ink);font-size:15px;font-weight:800}
.reader-start:hover{background:var(--btn-hov)}
.reader-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:20px;color:var(--dim);font-size:12.5px}
.reader-meta span+span::before{content:"·";margin-right:13px;color:var(--line-2)}
.reader-meta .l-free{padding:2px 7px;border:1px solid color-mix(in srgb,var(--green) 35%,var(--line));border-radius:999px;color:var(--green-text);font-weight:700}
.reader-meta .l-free::before{display:none}

.reader-rail{grid-area:rail;position:sticky;top:82px;margin-top:54px;padding:22px;background:var(--bg-2);border-radius:12px}
.reader-template-concept .reader-rail{background:color-mix(in srgb,var(--blue) 5%,var(--bg-2))}
.reader-template-capstone .reader-rail{background:color-mix(in srgb,var(--gold) 7%,var(--bg-2))}
.reader-rail-now{display:grid;gap:7px}
.reader-rail-now span,.reader-rail-output>span{color:var(--dim);font-size:12px;font-weight:700}
.reader-rail-now strong{font-size:16px;line-height:1.45}
.reader-rail .side-progress{margin:18px 0 22px}
.reader-rail-output{padding-top:19px;border-top:1px solid var(--line)}
.reader-rail-output p{margin:7px 0 0;font-size:13px;line-height:1.65;font-weight:650}
.reader-rail .btn-done{width:100%;min-height:46px;margin-top:20px;background:var(--btn-bg);color:var(--btn-ink)}
.reader-rail .btn-done:hover{background:var(--btn-hov)}
.reader-rail .btn-done.is-done{background:var(--green)}
.reader-help{margin-top:16px;border-top:1px solid var(--line)}
.reader-help summary{display:flex;align-items:center;min-height:44px;color:var(--ink-2);font-size:13px;font-weight:750;cursor:pointer}
.reader-help p{margin:0 0 8px;color:var(--dim);font-size:12.5px;line-height:1.7}
.reader-local-note{margin:16px 0 0;color:var(--dim);font-size:11.5px;line-height:1.6}

.reader-article{grid-area:article;min-width:0;padding-top:38px}
body.lesson-page .reader-article .lesson-body{max-width:760px;color:var(--ink);font-size:17px;line-height:1.82}
body.lesson-page .reader-article .lesson-body>p{max-width:720px;margin:16px 0;color:var(--ink-2)}
body.lesson-page .reader-article .lesson-body>h2{margin:52px 0 14px;font-size:27px;line-height:1.4;letter-spacing:-.018em;text-wrap:balance}
body.lesson-page .reader-article .lesson-body>h3{margin:34px 0 10px;font-size:20px;line-height:1.48}
body.lesson-page .reader-article .lesson-body .hn{display:inline;margin-right:8px;color:var(--dim);font-family:inherit;font-size:.72em;font-weight:700}
body.lesson-page .reader-article .problem-lead{margin:0 0 28px;padding:0;border:0;background:transparent}
body.lesson-page .reader-article .problem-kicker{display:none}
body.lesson-page .reader-article .problem-lead>p:last-child{max-width:700px;margin:0;color:var(--ink-2);font-size:18px;line-height:1.82}

/* 信息类型各用一种视觉语言：说明不套框，操作、软件界面、警告和验收彼此可辨。 */
body.lesson-page .reader-article .follow{margin:24px 0 38px;border:0;border-radius:10px;background:var(--bg-2);box-shadow:none}
body.lesson-page .reader-article .follow .f-head{border-bottom:1px solid var(--line)}
body.lesson-page .reader-article .teacher-call{margin:24px 0;padding:4px 0 4px 16px;border:0;border-left:3px solid var(--blue)}
body.lesson-page .reader-article :is(.c02-rollout-note,.c03-tour-tip,.risk-note,.warning){border:0;border-left:3px solid var(--gold);border-radius:0;background:color-mix(in srgb,var(--gold) 7%,var(--surface))}
body.lesson-page .reader-article :is(.lesson-close-bridge,.proof-result,.finish-proof,.final-proof){border-radius:0;box-shadow:none}
body.lesson-page .reader-article .lesson-close-bridge{margin-top:48px;padding:24px 0 0;border:0;border-top:3px solid var(--green);background:transparent}
body.lesson-page .reader-article .source-strip{display:none}

.lesson-sources{margin:58px 0 12px;padding-top:16px;border-top:1px solid var(--line)}
.lesson-sources>summary{display:flex;align-items:center;min-height:44px;color:var(--dim);font-size:13px;font-weight:700;cursor:pointer}
.lesson-sources .source-strip{display:grid;margin:0;padding:12px 0;border:0;background:transparent}
.lesson-sources .source-strip+ .source-strip{border-top:1px solid var(--line)}
.lesson-sources .source-strip>span{font-family:inherit;font-size:12px;font-weight:750}
.lesson-sources .source-strip a{font-size:13px}

.reader-article .lesson-pn{margin-top:58px;padding-top:24px;border-top:1px solid var(--line)}
.reader-article .pn{border:0;background:transparent}

@media(max-width:980px){
  .reader-shell{max-width:820px}
  .reader-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "rail" "article";gap:0}
  .reader-rail{position:static;margin:24px 0 0;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px 22px;align-items:start}
  .reader-rail .side-progress{grid-column:1;margin:12px 0 0}
  .reader-rail-output{grid-column:2;grid-row:1 / span 2;padding:0 0 0 20px;border-top:0;border-left:1px solid var(--line)}
  .reader-rail .btn-done{grid-column:1;margin:0}
  .reader-help{grid-column:2;margin:0;padding-left:20px;border:0;border-left:1px solid var(--line)}
  .reader-local-note{grid-column:1 / -1;margin:0}
}

@media(max-width:640px){
  body.lesson-page .site-head{display:none}
  .reader-shell{padding:0 18px 50px}
  .reader-toolbar{min-height:50px}
  .reader-back{max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
  .reader-outline>summary{padding:0 6px;font-size:12px}
  .reader-outline-panel{position:fixed;top:58px;right:12px;left:12px;width:auto;max-height:78vh;padding:16px}
  .reader-hero{padding:30px 0 28px}
  .reader-hero h1{font-size:29px;line-height:1.3;letter-spacing:-.022em}
  .reader-problem-label{margin-bottom:9px;font-size:13px}
  .reader-delivery{margin:22px 0 20px;padding-left:14px}
  .reader-delivery strong{font-size:15px;line-height:1.65}
  .reader-start{width:100%;min-height:50px}
  .reader-meta{margin-top:16px;font-size:11.5px}
  .reader-meta span:last-child{flex-basis:100%}
  .reader-meta span:last-child::before{display:none}
  .reader-rail{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:16px}
  .reader-rail .side-progress{grid-column:1;margin:5px 0 0}
  .reader-rail-output{display:none}
  .reader-rail .btn-done{grid-column:2;grid-row:1 / span 2;width:auto;min-width:112px;margin:0}
  .reader-help{grid-column:1 / -1;margin:8px 0 0;padding:0;border-left:0;border-top:1px solid var(--line)}
  .reader-local-note{display:none}
  .reader-article{padding-top:30px}
  body.lesson-page .reader-article .lesson-body{font-size:16px;line-height:1.8}
  body.lesson-page .reader-article .lesson-body>h2{scroll-margin-top:20px;margin-top:42px;font-size:22px;line-height:1.44}
  body.lesson-page .reader-article .lesson-body>h3{font-size:19px}
  body.lesson-page .reader-article .problem-lead>p:last-child{font-size:16px;line-height:1.8}
  .lesson-sources{margin-top:44px}
  .reader-article .lesson-pn{grid-template-columns:1fr;margin-top:44px}
}

@media(max-width:360px){
  .reader-shell{padding-inline:14px}
  .reader-hero h1{font-size:27px}
}

/* ============ V12 工作台优化包 ============ */
/* 验收清单：真 checkbox 门控（覆盖 studio.css 的装饰性 ✓ 列表样式） */
.workshop-finish .finish-checks{list-style:none;margin:22px 0;padding:0;display:grid;gap:11px;font-size:13px}
.workshop-finish .finish-checks li{display:block}
.workshop-finish .finish-checks li::before{content:none}
.workshop-finish .finish-checks label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;line-height:1.6}
.workshop-finish .finish-checks input{position:absolute;opacity:0;pointer-events:none}
.workshop-finish .finish-checks i{flex:0 0 19px;width:19px;height:19px;margin-top:1px;border-radius:5px;border:1.5px solid var(--studio-line-warm,#b9b1a1);background:transparent;display:grid;place-items:center;transition:all .14s;font-style:normal}
.workshop-finish .finish-checks input:checked + i{background:var(--studio-proof,#2f7d57);border-color:var(--studio-proof,#2f7d57)}
.workshop-finish .finish-checks input:checked + i::after{content:"✓";color:#fff;font-size:12px;font-weight:900}
.workshop-finish .finish-checks input:focus-visible + i{outline:2px solid var(--studio-action,#df5130);outline-offset:2px}
.workshop-finish .btn-done:disabled{opacity:.45;cursor:not-allowed}
.workshop-finish .finish-evidence{display:grid;gap:7px;margin:0 0 18px;padding:15px 16px;border:1px solid var(--studio-line-warm,#b9b1a1);border-radius:7px;background:var(--studio-paper,#fbf8f1)}
.workshop-finish .finish-evidence>span{font-size:12px;font-weight:850;color:var(--studio-proof,#2f7d57)}
.workshop-finish .finish-evidence input{min-height:46px;width:100%;padding:0 12px;border:1px solid var(--studio-line-warm,#b9b1a1);border-radius:5px;background:transparent;color:inherit;font:13px/1.4 inherit}
.workshop-finish .finish-evidence input:focus-visible{outline:2px solid var(--studio-action,#df5130);outline-offset:2px}
.workshop-finish .finish-evidence small{color:var(--studio-muted,#6b6357);font-size:11.5px;line-height:1.6}
/* AI 验收提示词 */
.workshop-finish .verify-helper{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 20px;padding:14px 16px;border:1px dashed var(--studio-line-warm,#b9b1a1);border-radius:8px}
.workshop-finish .verify-copy{min-height:38px;padding:0 16px;border:1.5px solid var(--studio-ink,#142319);border-radius:6px;background:transparent;color:var(--studio-ink,#142319);font-size:12.5px;font-weight:800;cursor:pointer;transition:all .15s}
.workshop-finish .verify-copy:hover{background:var(--studio-ink,#142319);color:var(--studio-paper,#fcfaf5)}
.workshop-finish .verify-copy.is-copied{border-color:var(--studio-proof,#2f7d57);color:var(--studio-proof,#2f7d57);background:transparent}
.workshop-finish .verify-note{flex:1;min-width:220px;font-size:12.5px;line-height:1.65;color:var(--studio-muted,#6b6357)}
.workshop-finish .verify-prompt{width:100%;min-height:120px;font:11.5px/1.7 ui-monospace,"SF Mono",Menlo,monospace;padding:10px;border:1px solid var(--studio-line,#e7e1d4);border-radius:6px;background:var(--studio-paper,#fbf8f1);color:inherit}
/* 完课出口：底部主按钮是唯一主出口；验收单里的下一课只是顺路的次级出口，
   完成后淡绿点亮（is-armed 由 reader.js 同步），不做第二个大绿块和主按钮抢戏 */
.workshop-finish .studio-lesson-pn{align-items:stretch}
.workshop-finish .studio-pn-next{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:0;padding:13px 16px;border:1px solid var(--studio-line-warm,#b9b1a1);border-radius:7px;background:var(--studio-paper,#fbf8f1);text-align:left;transition:border-color .15s,background .15s}
.workshop-finish .studio-pn-next span{font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--studio-muted,#6b6357)}
.workshop-finish .studio-pn-next strong{font-size:13.5px;line-height:1.55}
.workshop-finish .studio-pn-next:hover{border-color:var(--studio-proof,#2f7d57)}
.workshop-finish .studio-pn-next.is-armed{border-color:var(--studio-proof,#2f7d57);background:color-mix(in srgb,var(--studio-proof,#2f7d57) 9%,var(--studio-paper,#fbf8f1))}
.workshop-finish .studio-pn-next.is-armed span{color:var(--studio-proof,#2f7d57)}
/* 底部主按钮完成态：从灰禁用变成绿色「进入下一课」 */
.workbench-next.is-next-lesson{background:var(--studio-proof,#2f7d57);color:#fff}
.workbench-next.is-next-lesson:hover{filter:brightness(1.08)}
/* 重新学习：完成后才出现的灰色小字链，回任务简报复习，不清除完成记录 */
.workshop-finish .relearn-link{margin-left:16px;padding:0;border:0;background:none;color:var(--studio-muted,#6b6357);font-size:12.5px;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer}
.workshop-finish .relearn-link:hover{color:var(--studio-ink,#18232d)}
.workshop-finish .relearn-link[hidden]{display:none}
/* ============ 四层厚度构件（2026-07-17 起）============ */
/* 深挖层：折叠"为什么"卡，默认收起不挡主线 */
.reader-article .deep-dive{margin:26px 0;border:1px dashed var(--studio-line-warm,#b9b1a1);border-radius:8px;background:color-mix(in srgb,var(--studio-concept,#48688c) 5%,var(--studio-paper,#fbf8f1))}
.reader-article .deep-dive summary{padding:13px 18px;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--studio-concept,#48688c);list-style:none}
.reader-article .deep-dive summary::-webkit-details-marker{display:none}
.reader-article .deep-dive summary::before{content:"🔍 深挖 · ";font-size:11px;letter-spacing:.04em}
.reader-article .deep-dive[open] summary{border-bottom:1px dashed var(--studio-line-warm,#b9b1a1)}
.reader-article .deep-dive>div{padding:13px 18px 15px;font-size:14px;line-height:1.8}
/* 加练层：挑战卡（reader.js 搬进验收屏，完课后点亮） */
.workshop-finish .challenge-deck{margin:30px 0 8px;padding:16px 20px 8px;border:1.5px solid var(--studio-capstone,#9a6b18);border-radius:9px;background:color-mix(in srgb,var(--studio-capstone,#9a6b18) 6%,var(--studio-paper,#fbf8f1))}
.workshop-finish .challenge-deck[hidden]{display:none}
.challenge-deck .challenge-head{font-size:12px;font-weight:850;letter-spacing:.06em;color:var(--studio-capstone,#9a6b18);margin-bottom:6px}
.challenge-deck .challenge{padding:12px 0;border-top:1px dashed var(--studio-line-warm,#b9b1a1);font-size:13.5px;line-height:1.75}
.challenge-deck .challenge:first-of-type{border-top:0}
.challenge-deck .challenge b{color:var(--studio-capstone,#9a6b18);margin-right:6px}
/* 富结构变体：challenge-deck-head(span+b) + article(span 标题/b 动作/p 提示) */
.challenge-deck .challenge-deck-head{padding-bottom:10px;border-bottom:1px dashed var(--studio-line-warm,#b9b1a1);margin-bottom:4px}
.challenge-deck .challenge-deck-head span{display:block;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--studio-capstone,#9a6b18)}
.challenge-deck .challenge-deck-head b{display:block;font-size:13px;margin-top:4px}
.challenge-deck article{padding:12px 0;border-top:1px dashed var(--studio-line-warm,#b9b1a1)}
.challenge-deck article:first-of-type{border-top:0}
.challenge-deck article span{display:block;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:11px;font-weight:800;color:var(--studio-capstone,#9a6b18)}
.challenge-deck article b{display:block;font-size:13.5px;line-height:1.65;margin:5px 0 3px}
.challenge-deck article p{margin:0;font-size:12.5px;line-height:1.7;color:var(--studio-muted,#66727b)}
/* 资产层：本课带走卡（兼容扁平 span/b/p/a 与嵌套 div+.takeaway-actions 两种结构） */
.reader-article .takeaway-card{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:28px 0;padding:15px 18px;border:1px solid var(--studio-line-warm,#b9b1a1);border-left:4px solid var(--studio-proof,#2f7d57);border-radius:8px;background:var(--studio-paper,#fbf8f1)}
.reader-article .takeaway-card>span{flex-basis:100%}
.reader-article .takeaway-card>div:not(.takeaway-actions){flex:1;min-width:220px}
.reader-article .takeaway-card span{display:block;font-size:11px;font-weight:850;letter-spacing:.08em;color:var(--studio-proof,#2f7d57)}
.reader-article .takeaway-card b{display:block;font-size:15px;margin-top:2px}
.reader-article .takeaway-card p{margin:3px 0 0;font-size:13px;color:var(--studio-muted,#66727b)}
.reader-article .takeaway-card>p{flex:1;min-width:200px}
.reader-article .takeaway-card a{padding:8px 14px;border:1.5px solid var(--studio-proof,#2f7d57);border-radius:6px;color:var(--studio-proof,#2f7d57);font-size:12.5px;font-weight:800;white-space:nowrap;text-decoration:none}
.reader-article .takeaway-card a:hover{background:var(--studio-proof,#2f7d57);color:#fff}
.reader-article .takeaway-actions{display:flex;flex-wrap:wrap;gap:8px}
/* 交付物定位块：说清交付物在学员自己电脑上 + 可选参考样例链接 */
.workshop-finish .deliverable-locator{margin:18px 0 22px;padding:14px 18px;border:1px solid var(--studio-line-warm,#b9b1a1);border-left:4px solid var(--studio-concept,#48688c);border-radius:8px;background:color-mix(in srgb,var(--studio-concept,#48688c) 5%,var(--studio-paper,#fbf8f1))}
.workshop-finish .deliverable-locator span{display:block;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--studio-concept,#48688c)}
.workshop-finish .deliverable-locator b{display:block;font-size:14px;margin:5px 0 3px}
.workshop-finish .deliverable-locator p{margin:0;font-size:13px;line-height:1.75;color:var(--studio-muted,#66727b)}
.workshop-finish .deliverable-locator .sample-link{display:inline-block;margin-left:8px;padding:3px 10px;border:1.5px solid var(--studio-concept,#48688c);border-radius:6px;color:var(--studio-concept,#48688c);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.workshop-finish .deliverable-locator .sample-link:hover{background:var(--studio-concept,#48688c);color:#fff}
/* 生成效果直出：按钮 + 页内弹层 iframe */
.result-preview-btn{padding:8px 14px;border:1.5px solid var(--studio-action,#df5130);border-radius:6px;background:transparent;color:var(--studio-action,#df5130);font-size:12.5px;font-weight:800;cursor:pointer;white-space:nowrap;margin-right:8px}
.result-preview-btn:hover{background:var(--studio-action,#df5130);color:#fff}
.result-preview-btn.is-hero{min-height:46px;padding:0 18px;font-size:13.5px}
.result-overlay{position:fixed;inset:0;z-index:400;background:rgba(15,20,16,.62);display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,40px)}
.result-overlay[hidden]{display:none}
.result-overlay-box{display:flex;flex-direction:column;width:min(1080px,100%);height:min(86vh,900px);background:var(--studio-paper,#fcfaf5);border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.result-overlay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--studio-line-warm,#ded7ca)}
.result-overlay-head span{display:block;font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:var(--studio-action,#df5130)}
.result-overlay-head b{display:block;font-size:13px;line-height:1.6;margin-top:3px;font-weight:600}
.result-overlay-actions{flex:0 0 auto;display:flex;gap:8px;align-items:center}
.result-overlay-full{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1.5px solid var(--studio-action,#df5130);border-radius:6px;color:var(--studio-action,#df5130);font-size:12.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.result-overlay-full:hover{background:var(--studio-action,#df5130);color:#fff}
.result-overlay-close{flex:0 0 auto;min-height:38px;padding:0 14px;border:1.5px solid var(--studio-ink,#18232d);border-radius:6px;background:transparent;color:var(--studio-ink,#18232d);font-size:12.5px;font-weight:800;cursor:pointer}
.result-overlay-close:hover{background:var(--studio-ink,#18232d);color:var(--studio-paper,#fcfaf5)}
.result-overlay-frame{flex:1;width:100%;border:0;background:#fff}
body.result-overlay-open{overflow:hidden}
/* 时效标注：每课"最后核对日期"锚点（更新徽章机制的正文侧） */
.reader-article .freshness-note{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:12px;color:var(--studio-muted,#66727b)}
.reader-article .freshness-note span{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--studio-proof,#2f7d57);border:1px solid color-mix(in srgb,var(--studio-proof,#2f7d57) 40%,transparent);border-radius:99px;padding:2px 9px;white-space:nowrap}
.reader-article .freshness-note b{font-weight:600}
/* 教练面板：本步检查可勾；验收屏收起，避免与验收单重复 */
.workshop-guide-checks li{min-height:44px;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}
.workshop-guide-checks li:focus-visible{outline:2px solid var(--studio-action,#df5130);outline-offset:3px}
.workshop-guide.at-finish .workshop-guide-checks{display:none}
/* 移动端底栏“上一步”图标化修复（原规则被 .workshop-bottombar button 字号压住） */
@media (max-width:759px){
  .workshop-bottombar .workbench-prev{font-size:0;text-align:center}
  .workshop-bottombar .workbench-prev::after{content:"←";font-size:16px}
}
/* 体验课工作台：顶栏右侧改为去 C01 的链接 */
.workshop-toolbar a.xp-next-link{display:flex;align-items:center;padding:0 14px;min-height:40px;border:1px solid rgba(242,239,232,.35);border-radius:6px;color:rgba(242,239,232,.85);font-size:12px;white-space:nowrap}
.workshop-toolbar a.xp-next-link:hover{border-color:#fff;color:#fff}
