:root{
  --topic-lav:#6f5aa8;
  --topic-soft:#f4f0fa;
  --topic-ink:#2f2b3a;
  --topic-muted:#6c6677;
  --topic-line:#ddd5ea;
  --topic-white:#fff;
}

.topic-page{padding:14px 22px 20px}
.topic-shell{max-width:1180px;margin:0 auto}
.topic-breadcrumbs{font-size:13px;color:var(--topic-muted);margin-bottom:5px}
.topic-breadcrumbs a{text-decoration:none}
.topic-page h1{font-family:Georgia,serif;font-size:32px;margin:0 0 10px}

.topic-layout{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(240px,1fr);
  gap:18px;
  align-items:stretch;
}

.topic-lesson-column{display:flex;flex-direction:column;height:100%}

.topic-video{
  aspect-ratio:16/9;
  max-height:360px;
  min-height:0;
  border:1px solid var(--topic-line);
  border-radius:15px;
  background:linear-gradient(135deg,#e7dff2,#f7f3fb);
  display:grid;
  place-items:center;
  cursor:pointer;
}

.topic-video__play{
  width:72px;
  height:72px;
  border:2px solid var(--topic-lav);
  border-radius:50%;
  background:#fff;
  color:var(--topic-lav);
  display:grid;
  place-items:center;
  font-size:26px;
}

.topic-read-link{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:10px;
  padding:14px 16px;
  border:1px solid var(--topic-line);
  border-radius:11px;
  background:#fff;
  color:var(--topic-ink);
  text-decoration:none;
  font-weight:700;
}

.topic-back{
  margin-top:auto;
  padding-top:10px;
  margin-bottom:0;
  font-size:14px;
}
.topic-back a{color:var(--topic-lav)}

.topic-right-column{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:14px;
  height:100%;
}

.topic-practice,
.topic-assessment{
  background:#fff;
  border:1px solid var(--topic-line);
  border-radius:15px;
  padding:17px;
}

.topic-practice{
  display:flex;
  flex-direction:column;
  min-height:0;
}

.topic-practice h2,
.topic-assessment h2{
  font-family:Georgia,serif;
  font-size:19px;
  margin:0 0 5px;
}

.topic-practice-title-wrap,
.topic-assessment-title-wrap{
  position:relative;
  display:inline-block;
}

.topic-practice-title,
.topic-assessment-title{cursor:help}

.topic-tooltip{
  position:absolute;
  bottom:calc(100% + 9px);
  width:235px;
  padding:10px 12px;
  border:1px solid var(--topic-line);
  border-radius:9px;
  background:#fff;
  color:var(--topic-ink);
  font-size:12px;
  line-height:1.4;
  box-shadow:0 8px 22px rgba(55,42,90,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
  z-index:20;
}

.topic-practice-title-wrap .topic-tooltip{left:0}
.topic-assessment-title-wrap .topic-tooltip{right:0}

.topic-practice-title-wrap:hover .topic-tooltip,
.topic-practice-title-wrap:focus-within .topic-tooltip,
.topic-assessment-title-wrap:hover .topic-tooltip,
.topic-assessment-title-wrap:focus-within .topic-tooltip{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.topic-level{
  flex:1 1 0;
  border:1px solid var(--topic-line);
  border-radius:11px;
  padding:10px 12px;
  margin-top:10px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
}

.topic-level__number{font-weight:700}

.topic-level__actions,
.topic-assessment__actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(92px,auto);
  gap:7px;
}

.topic-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:8px 9px;
  border-radius:8px;
  border:1px solid var(--topic-line);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  color:var(--topic-ink);
  background:#fff;
  white-space:nowrap;
}

.topic-button--buy{
  background:var(--topic-soft);
  color:var(--topic-lav);
  border-color:#cfc3e3;
  min-width:max-content;
}

.topic-assessment{margin-top:0}

.topic-dialog{
  width:min(94vw,1100px);
  height:90vh;
  border:0;
  border-radius:15px;
  padding:0;
}

.topic-dialog::backdrop{background:rgba(22,18,29,.78)}

.topic-dialog__bar{
  height:55px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fff;
  border-bottom:1px solid var(--topic-line);
}

.topic-dialog__close{
  border:0;
  background:none;
  font-size:29px;
  cursor:pointer;
}

.topic-dialog__video{
  height:calc(100% - 55px);
  background:#191622;
  color:#fff;
  display:grid;
  place-items:center;
  text-align:center;
  padding:20px;
}

.topic-dialog__reader{
  height:calc(100% - 55px);
  overflow:auto;
  background:#f4f1f7;
  padding:25px;
}

.topic-dialog__paper{
  max-width:760px;
  min-height:100%;
  margin:auto;
  background:#fff;
  padding:35px;
  border:1px solid var(--topic-line);
}

@media(max-width:760px){
  .topic-layout{grid-template-columns:1fr}
  .topic-video{max-height:none}
  .topic-right-column{display:block;height:auto}
  .topic-assessment{margin-top:14px}
  .topic-level{flex:none}
}
