/* Chat AI Mastery - scoped. Ink/paper + teal signal. Not the terracotta sales palette. */
.course{
  --paper:#f4f6f8;
  --ink:#1b1f24;
  --muted:#5b636c;
  --line:#d4dbe1;
  --signal:#1a7a8c;
  --signal-dark:#145f6d;
  --signal-tint:#e4f2f4;
  --bubble:#fff;
  background:var(--paper);
  color:var(--ink);
}
.course a{color:var(--signal-dark);}
.course-inner{max-width:1100px; margin:0 auto; padding:32px 6vw 72px;}
.course-kicker{font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--signal-dark); font-weight:600; margin-bottom:10px;}
.course h1{font-family:var(--serif); font-size:34px; font-weight:normal; line-height:1.28; margin-bottom:10px; max-width:720px;}
.course-lede{font-size:17px; color:var(--muted); max-width:640px; margin-bottom:28px;}
.course-lede strong{color:var(--ink);}

.bubbles{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px;}
.bubble-col h3{font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:10px;}
.bubble{background:var(--bubble); border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin-bottom:10px; font-size:14px; line-height:1.5;}
.bubble.you{border-bottom-left-radius:4px;}
.bubble.model{border-bottom-right-radius:4px; background:#eef1f4; color:var(--muted);}
.bubble.after.model{background:var(--signal-tint); color:var(--ink); border-color:#b7d5db;}
.bubble .who{display:block; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--signal-dark); margin-bottom:6px; font-weight:600;}
@media (max-width:720px){ .bubbles{grid-template-columns:1fr;} }

.course-board{display:flex; flex-direction:column; gap:8px; width:100%;}

.course section.course-chapter{
  background:#fff;
  border:1px solid var(--line);
  border-radius:10px;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:0;
  scroll-margin-top:80px;
}
.course section.course-chapter:not(.is-open){
  height:48px;
  overflow:hidden;
}
.chapter-toggle{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  text-align:left;
  background:none;
  border:none;
  height:48px;
  min-height:48px;
  padding:0 16px;
  font-family:var(--serif);
  font-size:17px;
  font-weight:normal;
  line-height:1.3;
  color:var(--ink);
}
.chapter-title-row{display:flex; align-items:center; gap:12px; min-width:0;}
.chapter-num{
  flex-shrink:0;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--signal-tint);
  color:var(--signal-dark);
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.course-chapter.is-open .chapter-num{background:var(--signal); color:#fff;}
.chapter-toggle::after{
  content:"";
  flex-shrink:0;
  width:8px;
  height:8px;
  margin-right:4px;
  border-right:2px solid var(--signal);
  border-bottom:2px solid var(--signal);
  transform:rotate(45deg);
  transition:transform .15s ease;
}
.course-chapter.is-open .chapter-toggle{
  border-bottom:1px solid var(--line);
}
.course-chapter.is-open .chapter-toggle::after{
  transform:rotate(225deg);
  margin-top:4px;
}

.course-card{
  background:transparent;
  border:none;
  border-radius:0;
  padding:16px 16px 20px;
  min-width:0;
}
.course-chapter .course-card{display:none !important;}
.course-chapter.is-open .course-card{display:block !important;}
.course-card h2{font-family:var(--serif); font-size:22px; font-weight:normal; margin:8px 0 12px; line-height:1.3;}
.course-card .core{font-size:15px; color:var(--ink); margin-bottom:12px;}
.course-card .core + .core{color:var(--muted);}
.course-card details{border-top:1px solid var(--line); padding:10px 0;}
.course-card details:last-child{padding-bottom:0;}
.course-card summary{cursor:pointer; font-size:13px; font-weight:600; color:var(--signal-dark); list-style:none;}
.course-card summary::-webkit-details-marker{display:none;}
.course-card summary::before{content:"+ ";}
.course-card details[open] summary::before{content:"- ";}
.course-card details p, .course-card details li{font-size:14px; color:var(--muted); margin:8px 0;}
.course-card details ul{padding-left:18px;}

.status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  border-radius:999px;
  padding:4px 10px;
  width:fit-content;
}
.status.text-ready{color:var(--signal-dark); background:var(--signal-tint); border:1px solid #b7d5db;}
.status.video-added{color:#fff; background:var(--signal); border:1px solid var(--signal);}

.prompt{
  font-family:var(--mono);
  font-size:12px;
  line-height:1.55;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  white-space:pre-wrap;
  color:var(--ink);
  margin:8px 0 10px;
}
.copy-btn{
  background:none;
  border:1px solid var(--signal);
  color:var(--signal-dark);
  border-radius:8px;
  padding:6px 12px;
  font-size:13px;
  cursor:pointer;
}
.copy-btn:hover{background:var(--signal-tint);}
.copy-btn.copied{border-color:var(--signal-dark);}

.task-box{display:flex; flex-direction:column; gap:10px; margin:8px 0 14px;}
.task-box textarea{
  width:100%;
  min-height:90px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  font-family:var(--sans);
  font-size:15px;
  resize:vertical;
}
.task-box button{
  align-self:flex-start;
  background:var(--signal);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:10px 16px;
  font-size:14px;
  cursor:pointer;
}
.task-box button:hover{background:var(--signal-dark);}
.task-echo{font-size:13px; color:var(--signal-dark); background:var(--signal-tint); border-radius:8px; padding:8px 12px; margin:0 0 12px; display:none;}
.task-echo.is-on{display:block;}

.model-pills{display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 16px;}
.model-pills button{
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  padding:7px 14px;
  font-size:13px;
  cursor:pointer;
}
.model-pills button.is-on{border-color:var(--signal); background:var(--signal-tint); color:var(--signal-dark); font-weight:600;}
.model-panel{display:none;}
.model-panel.is-on{display:block;}

.course-foot{margin-top:16px; font-size:14px; color:var(--muted);}
.course .btn-signal{background:var(--signal); color:#fff; border:none;}
.course .btn-signal:hover{background:var(--signal-dark); color:#fff;}
.course .btn-ghost{border:1px solid var(--line); color:var(--ink); background:none;}
.course .btn-ghost:hover{border-color:var(--signal);}

.course-table-wrap{overflow-x:auto; margin:12px 0;}
.course-table{width:100%; border-collapse:collapse; font-size:13px;}
.course-table th, .course-table td{border:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top;}
.course-table th{background:var(--signal-tint); color:var(--signal-dark); font-weight:600;}
.quiz{margin-top:4px;}
.quiz .q{font-size:14px; color:var(--ink); margin:10px 0 4px;}
.example-pull{font-size:14px; color:var(--ink); background:var(--paper); border-left:3px solid var(--signal); padding:10px 14px; margin:10px 0;}
.analogy{
  background:#e7eaee;
  border-radius:8px;
  padding:12px 14px;
  font-size:14px;
  color:var(--ink);
  margin:10px 0 14px;
  line-height:1.55;
}
.analogy strong{display:block; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--signal-dark); margin-bottom:6px; font-weight:600;}
.feedback-form{display:grid; gap:12px; max-width:480px; margin-top:8px;}
.feedback-form label{font-size:13px; font-weight:600;}
.feedback-form input, .feedback-form textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:8px;
  padding:10px 12px;
  font-family:var(--sans);
  font-size:15px;
}
.feedback-form textarea{min-height:110px; resize:vertical;}
.course .form-status{max-width:480px;}
