.eka-wrap{
  display:grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap:16px;
  align-items:start;
}
@media (max-width: 900px){
  .eka-wrap{ grid-template-columns: 1fr; }
}
.eka-video-wrap{
  position:relative;
  width:100%;
  max-width:820px;
  aspect-ratio: 16/9;
  border-radius:16px;
  overflow:hidden;
  background:#000;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
#ekaVideo, #ekaCanvas{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.eka-controls{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  flex-wrap:wrap;
}
.eka-btn{
  padding:10px 14px;
  border-radius:12px;
  border:1px solid #ddd;
  background:#fff;
  cursor:pointer;
}
.eka-btn:disabled{ opacity:.6; cursor:not-allowed; }

.eka-toggle{ display:flex; gap:8px; align-items:center; user-select:none; }

.eka-status{
  margin-top:12px;
  padding:12px;
  border:1px solid #eee;
  border-radius:14px;
  background:#fff;
}

.eka-avatar{
  border:1px solid #eee;
  border-radius:16px;
  padding:14px;
  background:#fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.eka-bubble{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  background:#f7f7f7;
  border:1px solid #eee;
  line-height:1.35;
}

.eka-voice{
  margin-top:12px;
  display:grid;
  gap:10px;
}
.eka-voice label{
  display:grid;
  gap:6px;
  font-size:14px;
}
.eka-voice select{
  padding:8px;
  border-radius:10px;
  border:1px solid #ddd;
}

.eka-lesson{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px dashed #ddd;
  background:#fcfcfc;
}
.eka-lesson-title{ font-weight:700; margin-bottom:6px; }
.eka-lesson-note{ font-size:14px; }
