/* School Launch · per-lesson feedback box */
.lesson-feedback{
  margin-top:28px;
  padding:18px 18px 16px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--linen);
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:62ch;
  position:relative;
}
.lesson-feedback .fb-heading{
  font-family:var(--serif);
  font-size:22px;
  font-weight:600;
  color:var(--ink);
  line-height:1.25;
  margin:0;
}
.lesson-feedback .fb-lead{
  margin:0;
  font-size:15px;
  color:var(--muted);
  line-height:1.45;
}
.lesson-feedback .fb-hp{
  position:absolute;
  left:-9999px;
  height:0;
  overflow:hidden;
}
.lesson-feedback .fb-ratings{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.lesson-feedback .fb-rate,
.lesson-feedback .fb-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:8px 14px;
  border-radius:6px;
  border:2px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  cursor:pointer;
}
.lesson-feedback .fb-rate:hover,
.lesson-feedback .fb-tag:hover{
  border-color:var(--brass);
}
.lesson-feedback .fb-rate.is-on,
.lesson-feedback .fb-tag.is-on,
.lesson-feedback .fb-rate[aria-pressed="true"],
.lesson-feedback .fb-tag[aria-pressed="true"]{
  border-color:var(--forge);
  background:var(--paper);
  box-shadow:inset 0 0 0 1px var(--forge);
  color:var(--forge);
}
.lesson-feedback .fb-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.lesson-feedback .fb-tag{
  min-height:40px;
  padding:6px 12px;
  font-size:14px;
}
.lesson-feedback .fb-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.lesson-feedback .fb-comment,
.lesson-feedback .fb-reply{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.45;
}
.lesson-feedback .fb-comment{
  min-height:88px;
  resize:vertical;
}
.lesson-feedback .fb-comment:focus-visible,
.lesson-feedback .fb-reply:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
}
.lesson-feedback .fb-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.lesson-feedback .fb-send:disabled{
  opacity:.7;
  cursor:wait;
}
.lesson-feedback .fb-status{
  margin:0;
  padding:10px 12px;
  border-radius:6px;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  background:var(--paper);
}
.lesson-feedback .fb-status.ok{
  color:var(--forge);
  border-left:4px solid var(--brass);
}
.lesson-feedback .fb-status.err{
  color:var(--ink);
  border-left:4px solid var(--forge);
}
.lesson-feedback .fb-status a{color:var(--forge)}
@media (max-width:520px){
  .lesson-feedback{padding:16px 14px}
  .lesson-feedback .fb-rate{flex:1 1 calc(50% - 10px)}
}
@media (prefers-reduced-motion:no-preference){
  .lesson-feedback .fb-rate,
  .lesson-feedback .fb-tag{
    transition:border-color .15s, color .15s, box-shadow .15s;
  }
}
