/* 單元頁：結構沿用 Cowork 單元頁（claude-cowork/lessons/lesson.css），配色與字體換成本課程 ../style.css 的 VibeCode 色票。 */
main.lesson-page{max-width:1180px;margin:0 auto;padding:22px 40px 40px}
.crumb{font-size:12px;color:var(--muted)}.crumb a{text-decoration:underline;text-underline-offset:3px}
.lesson-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:center;padding:24px 0 28px;border-bottom:1px solid var(--line)}
.lesson-hero h1{font-family:var(--serif);font-size:36px;line-height:1.35;margin:4px 0 12px}
.lesson-hero .lead{font-size:17px;color:var(--ink2);margin:0 0 12px;max-width:none}
.lesson-hero img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.byline{font-size:12px;color:var(--muted);margin:0}.byline a{text-decoration:underline;text-underline-offset:3px}

/* 你現在在這裡：7 個階段排成一列，所在階段加深 */
.route{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.route li{font-size:12px;line-height:1.5;padding:8px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--muted)}
.route li b{display:block;font-size:10px;letter-spacing:.12em}
.route .now{background:var(--deep);border-color:var(--deep);color:#fff}
.here-note{font-size:13px;color:var(--ink2);margin:10px 0 0}
/* 零件地圖：06 課起標出這一課動到的零件 */
.parts-map{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,2fr);align-items:center;gap:8px;margin:12px 0 0}
.parts-map ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pm-box ul{grid-template-columns:repeat(4,minmax(0,1fr))}
.parts-map li{font-size:12px;line-height:1.4;text-align:center;padding:7px 4px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--muted)}
.pm-wire{height:2px;background:var(--line)}
.pm-box{border:1.5px dashed var(--line);border-radius:10px;padding:6px 8px 8px}
.pm-box>b{display:inline-block;font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;padding:1px 8px;border-radius:6px}
.parts-map .now{background:var(--deep);border-color:var(--deep);color:#fff}
.pm-now{font-size:13px;font-weight:700;color:var(--green);margin:8px 0 0}

.reading-layout{display:grid;grid-template-columns:minmax(0,780px) 180px;gap:64px;justify-content:space-between}
article{font-size:16px;line-height:1.95;min-width:0;overflow-wrap:anywhere}
article section{padding:22px 0;scroll-margin-top:90px}
article h2{font-family:var(--serif);font-size:25px;line-height:1.45;margin:0 0 12px}
article h3{font-size:18px;margin:26px 0 8px}
article p{margin:0 0 14px}
article a{color:var(--green);text-decoration:underline;text-underline-offset:4px}
article ul,article ol{padding-left:22px}
.source{font-size:12px;margin:0 6px 0 4px;white-space:nowrap}
/* 開頭直接回答的兩三句（AEO）：單獨成立、可以被整段引用 */
#answer>p:first-of-type{font-size:17px;background:var(--card);border-left:3px solid var(--green);padding:16px 20px;border-radius:0 10px 10px 0}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.compare>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.compare h3{margin:0 0 6px;font-size:16px}.compare p{font-size:15px;margin:0 0 8px}.compare ul{margin:0;font-size:15px}
.lesson-note{font-size:14px;color:var(--ink2);border-left:3px solid var(--line);padding:4px 0 4px 14px}

/* 撰稿期的截圖佔位：上線前全部換成 Mac 實際操作畫面，頁面不得留下任何佔位（規格 U15） */
.shot-placeholder{margin:16px 0}
.shot-placeholder .ph{aspect-ratio:16/10;display:grid;place-items:center;padding:12px;border:1.5px dashed #b9c3cc;border-radius:10px;background:repeating-linear-gradient(135deg,#fff 0 10px,#f4f6f9 10px 20px);color:var(--muted);font-size:13px;text-align:center}
.illustration{margin:16px 0}
.illustration img{width:100%;height:auto;border-radius:10px}
.shot-placeholder figcaption,.illustration figcaption,.shot figcaption{font-size:13px;line-height:1.7;color:var(--ink2);margin-top:8px}
.flow{list-style:none;margin:18px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.flow .shot-placeholder{margin:0}
/* Mac 錄製的截圖；拍不到的畫面用示意圖，圖說前標「示意圖」 */
.shot{margin:16px 0}
.flow .shot{margin:0}
.shot img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.mock-tag{display:inline-block;font-size:11px;font-weight:700;line-height:1.6;color:#fff;background:var(--muted);border-radius:4px;padding:0 6px;margin-right:6px}
.guided-step .shot-placeholder{max-width:480px}
/* 沒有實拍的成果預覽：用文字列出做完會看到什麼 [U28] */
.shot-text{margin:12px 0;padding:10px 14px;border-left:3px solid var(--green);background:#f6f8f9;border-radius:0 8px 8px 0;font-size:14px;line-height:1.7;color:var(--ink2)}
.flow .shot-text,.compare .shot-text{margin:0;height:100%}
.flow b{color:var(--green)}

.spec{margin:14px 0;border-top:1px solid var(--line)}
.spec div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.spec dt{font-weight:700}.spec dd{margin:0}

/* 操作步驟：沿用 Cowork 的步驟格式，編號與「做完應看到」換成本課程的綠 */
.guided-step{padding:6px 0 24px;border-bottom:1px solid var(--line)}
.guided-step h3{display:flex;align-items:baseline;gap:12px}
.step-number{font-size:14px;color:var(--green);flex:none}
.step-expect{background:#eef6f1;border-left:3px solid var(--green);padding:10px 16px;font-size:15px}
.step-trouble{font-size:14px;color:var(--ink2)}

/* 固定提示詞：整段複製給 Codex（按鈕由 lesson.js 處理） */
.prompt{position:relative;margin:14px 0;background:var(--deep);border-radius:12px;padding:16px 20px}
.prompt pre{margin:0;padding-right:64px;color:#eef6f1;font:14px/1.8 var(--sans);white-space:pre-wrap}
.prompt .copy{position:absolute;top:12px;right:12px;font:600 13px var(--sans);color:var(--deep);background:#fff;border:0;border-radius:7px;padding:6px 12px;cursor:pointer}

/* 模型和 harness：引擎裝在車裡的圖解 */
.harness{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.harness>b{display:block;font-size:13px;letter-spacing:.08em;color:var(--green);margin-bottom:10px}
.harness ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.harness li{font-size:14px;line-height:1.6;padding:8px 10px;border-radius:8px;background:var(--sand)}
.harness .engine{margin:12px auto 0;max-width:340px;text-align:center;padding:12px;border-radius:10px;background:var(--deep);color:#fff;font-size:14px}
.harness .engine b{display:block;font-size:15px}

/* 價格、模型與能力對照：手機上每一列疊成上下兩段 */
.fact-scroll{margin:14px 0}
.fact-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.7}
.fact-table caption{text-align:left;font-size:12px;color:var(--muted);padding-bottom:8px}
.fact-table th,.fact-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.fact-table thead th{background:var(--sand)}.fact-table tbody th{width:16%;white-space:nowrap}.fact-table td:first-child{width:42%}.fact-table td b{font-size:15px}
/* 程式範例：只看長相、不用複製；<mark> 標出畫面上看得到的字 */
.code{margin:14px 0;padding:16px 20px;border-radius:12px;background:var(--sand);font:13px/1.8 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap}
.code mark{background:#d4ecdc;color:inherit;border-radius:3px}
.more-table{margin:10px 0 18px}.more-table summary{cursor:pointer;font-weight:700;color:var(--green)}

.checklist{list-style:none;margin:14px 0;padding:16px 22px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.checklist li{position:relative;padding-left:28px;margin:6px 0}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:14px;border:1.5px solid var(--green);border-radius:4px}
.takeaway{background:var(--sand);padding:20px 24px;border-radius:12px}.takeaway p:last-child{margin-bottom:0}
.faq-list details{border-bottom:1px solid var(--line);padding:12px 0}
.faq-list summary{font-weight:700;cursor:pointer}
.faq-list p{margin:8px 0 0}
.sources p,.sources li{font-size:12px;line-height:1.8;color:var(--muted)}
.pager{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:22px 0 0;margin-top:10px;font-size:14px}
.pager a{color:var(--green);font-weight:700;text-decoration:none}
.lesson-toc{position:sticky;top:96px;align-self:start;display:grid;gap:10px;padding-top:30px;font-size:13px}
.lesson-toc b{font-size:14px}.lesson-toc a{color:var(--muted)}.lesson-toc a:hover{color:var(--ink)}

@media(max-width:900px){.reading-layout{grid-template-columns:1fr;gap:0}.lesson-toc{display:none}.lesson-hero{gap:24px}.lesson-hero h1{font-size:29px}.route{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){main.lesson-page{padding:16px 22px 30px}.lesson-hero{display:block}.lesson-hero img{margin-top:16px;max-height:200px}.lesson-hero h1{font-size:27px}
article{font-size:15px}article h2{font-size:22px}.compare{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.route{grid-template-columns:1fr 1fr}.parts-map{grid-template-columns:1fr}.pm-wire{display:none}.pm-front{grid-template-columns:repeat(3,minmax(0,1fr))}.pm-box ul{grid-template-columns:repeat(2,minmax(0,1fr))}.harness ul{grid-template-columns:1fr 1fr}
.fact-table thead{display:none}.fact-table tr,.fact-table td{display:block;width:auto}.fact-table td:first-child{width:auto;border-bottom:0;padding:12px 0 2px}.fact-table td+td{padding:0 0 12px;color:var(--ink2)}.fact-table tbody th{display:block;width:auto;border-bottom:0;padding:12px 0 4px}.fact-table th+td{border-bottom:0;padding:0 0 4px;color:var(--ink2)}.fact-table td[data-label]::before{content:attr(data-label) "：";font-weight:700;color:var(--ink)}.spec div{grid-template-columns:1fr;gap:2px}}
