.en{display:none}html.lang-en .ru{display:none!important}html.lang-en .en{display:block}html.lang-en span.en,html.lang-en a.en,html.lang-en small.en,html.lang-en button.en{display:inline}html.lang-en div.en,html.lang-en h1.en,html.lang-en h2.en,html.lang-en h3.en,html.lang-en p.en,html.lang-en li.en,html.lang-en ul.en{display:block}.email-btn{white-space:nowrap;display:inline-flex!important;align-items:center;gap:7px}.email-btn:before{margin-right:0}.brand-link{color:#050505;text-decoration:none}.brand-link:hover{color:#050505;text-decoration:none}.lang-toggle{min-width:42px;border:1px solid #bbb!important;border-radius:6px!important;padding:12px 10px!important;background:#fff!important;color:#111!important;font-weight:700!important}.lang-toggle:hover{background:#111!important;color:#fff!important}.profile-hero{max-width:var(--max);margin:0 auto;padding:56px 0 36px}.profile-hero h1{font-size:56px;line-height:1.05;margin:0 0 16px;color:#111;font-weight:900}.profile-hero p{font-size:20px;color:#444;max-width:900px}.bio-section{max-width:var(--max);margin:0 auto;padding:42px 0;border-top:1px solid #c9c9c9}.bio-section h2{font-size:34px;margin:0 0 22px;color:#111}.bio-grid{display:grid;grid-template-columns:280px 1fr;gap:28px}.bio-label{font-size:18px;font-weight:800;color:#111}.bio-content p{margin:0 0 14px}.bio-list{margin:0;padding-left:22px}.bio-list li{margin:0 0 10px}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:18px;background:#eee;padding:18px}.timeline-year{font-weight:800;color:#111}.ids-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.id-card{background:#eee;padding:16px}.id-card a{color:#111;font-weight:800;text-decoration:none}.id-card a:hover{text-decoration:underline}.metric-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{display:inline-flex;align-items:center;background:#111;color:#fff;border-radius:4px;padding:4px 7px;font-size:12px;line-height:1;white-space:nowrap}.badge.light{background:#fff;color:#111;border:1px solid #ccc}.pub-citation{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.55}.pub-citation a{color:#111;text-decoration:none}.pub-citation a:hover{text-decoration:underline}.pub-quality{min-width:180px;max-width:240px}.pub-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start;background:#eee;padding:20px;margin:14px 0}.pub-row .meta{font-family:Arial,sans-serif;color:#555;font-size:14px}.pub-row .cit{float:none;display:inline-flex;margin:0 0 8px}.copy-citation{margin-top:12px;border:1px solid #111;background:#fff;color:#111;border-radius:6px;padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer}.copy-citation:hover{background:#111;color:#fff}.media-section{max-width:var(--max);margin:0 auto;padding:48px 0}.media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.media-card{background:#eee;min-height:190px;overflow:hidden}.media-card.has-image{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,32%) minmax(0,1fr)}.media-card.no-image{display:flex;flex-direction:column;border-top:4px solid #111}.media-card .media-image{display:block;background:#d7d7d7;min-height:220px}.media-card .media-image img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}.media-body{padding:28px 30px;min-width:0;display:flex;flex-direction:column;gap:12px;flex:1}.media-source{font-size:14px;color:#666;margin:0}.media-body h2{font-size:24px;line-height:1.25;margin:0;color:#111;word-break:break-word}.media-card.no-image .media-body h2{font-size:22px}.media-body h2 a{color:#111;text-decoration:none}.media-body h2 a:hover{text-decoration:underline}.media-body p{font-size:16px;line-height:1.55;color:#4b4b51;margin:0 0 6px}.media-link{display:inline-block;align-self:flex-start;margin-top:auto;color:#111;text-decoration:none;border-bottom:1px solid #111;font-weight:700}.media-link:hover{border-bottom-color:transparent}.footer-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-title{margin-bottom:12px}.footer-email{color:#d8d8d8;text-decoration:none}.footer-email:hover{color:#fff}.social-links{display:flex;align-items:center;gap:16px}.social-links a{width:52px;height:52px;border-radius:50%;background:#3b3b3b;display:inline-flex;align-items:center;justify-content:center;transition:.15s ease}.social-links a:hover{background:#fff;transform:translateY(-2px)}.social-links img{width:28px;height:28px;display:block;object-fit:contain}.social-links a:hover img{filter:none}.header-spacer{height:0}@media(max-width:1050px){.profile-hero,.bio-section,.media-section{padding-left:20px;padding-right:20px}.bio-grid,.ids-grid,.pub-row{grid-template-columns:1fr}.pub-quality{max-width:none}.profile-hero h1{font-size:42px}.media-list{grid-template-columns:1fr}.media-card.has-image{grid-template-columns:1fr}.media-card .media-image,.media-card .media-image img{min-height:220px}.footer-inner{align-items:flex-start;flex-direction:column}.social-links a{width:46px;height:46px}.social-links img{width:25px;height:25px}}@media(max-width:640px){.media-section{padding-top:30px}.media-body{padding:22px 20px}.media-body h2,.media-card.no-image .media-body h2{font-size:20px}.media-card .media-image,.media-card .media-image img{min-height:190px}}
.nav a{
  white-space:nowrap;
}
.home .hero h1{margin-bottom:34px}.home .hero-identifiers{margin-top:26px;width:100%;max-width:520px}.hero-identifiers-title{color:#f2f2f2;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}.hero-id-list{display:flex;flex-wrap:wrap;gap:8px}.hero-id-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;min-width:0;max-width:100%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#f6f6f6;text-decoration:none;border-radius:6px;padding:7px 10px;font-size:13px;line-height:1.2}.hero-id-chip:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.42);text-decoration:none}.hero-id-chip strong{font-weight:800;white-space:nowrap}.hero-id-chip>span:not(.id-mark){min-width:0;font-weight:400;color:#d2d2d2;overflow-wrap:anywhere}.id-mark{width:22px;height:22px;border:1px solid currentColor;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;font-size:10px;font-weight:800;line-height:1;color:#fff}@media(max-width:1050px){.home .hero{grid-template-columns:minmax(0,1fr)}.home .hero,.home .hero>div,.home .hero-portrait{min-width:0}.home .hero-identifiers{max-width:720px}.hero-id-chip{font-size:12px}.home .hero h1{margin-bottom:28px}}@media(max-width:640px){.hero-id-list{display:grid;grid-template-columns:minmax(0,1fr)}.hero-id-chip{width:100%}}
.pub-row>*{min-width:0}.pub-citation,.pub-citation a,.pub-row .meta{overflow-wrap:anywhere;word-break:normal}
.hero-id-chip .id-logo{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important;flex:0 0 22px!important;display:block!important;object-fit:contain!important;object-position:center!important;filter:none!important;opacity:1}
.hero-id-chip .id-logo--academia{background:#fff;border-radius:4px;padding:3px}
.hero-id-chip .id-logo--github{filter:invert(1)!important}
@media(max-width:640px){.profile-hero h1{font-size:28px;line-height:1.08}}
@media(max-width:380px){.home .hero h1{font-size:30px}.home .hero>div{padding-left:20px;padding-right:20px}.profile-hero h1{font-size:24px}.career-org-text{overflow-wrap:anywhere}}
@media(min-width:1051px){.home .hero{height:auto;min-height:calc(100vh - 104px);overflow:visible}.home .hero>div{padding:clamp(28px,4vh,54px) 3vw clamp(28px,4vh,54px) 4vw}.home .hero p{max-width:560px}.home .hero-identifiers{max-width:620px}}

.career-groups{
  display:grid;
  gap:16px;
  min-width:0;
}
.career-card{
  background:#eee;
  padding:20px;
  border-left:4px solid #b9b9b9;
  min-width:0;
}
.career-card[open]{
  background:#f1f1f1;
}
.career-card:not([open]) > :not(summary){
  display:none!important;
}
.career-card--featured{
  border-left-color:#111;
  padding:24px;
}
.career-org{
  display:grid;
  grid-template-columns:82px minmax(0,1fr) 34px;
  gap:16px;
  align-items:center;
  cursor:pointer;
  list-style:none;
  outline:none;
}
.career-org::-webkit-details-marker{
  display:none;
}
.career-org::after{
  content:"+";
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:end;
  border:1px solid #c9c9c9;
  background:#fff;
  color:#111;
  font-size:22px;
  line-height:1;
  font-weight:800;
}
.career-card[open] .career-org::after{
  content:"-";
}
.career-org:focus-visible::after{
  outline:2px solid #111;
  outline-offset:3px;
}
.career-logo{
  width:76px;
  height:58px;
  display:block;
  object-fit:contain;
  object-position:center;
}
.career-logo--wide{
  width:82px;
}
.career-logo--seal{
  width:54px;
  height:62px;
  justify-self:center;
}
.career-org-text{
  display:block;
  min-width:0;
}
.career-title{
  display:block;
  margin:0;
  font-size:21px;
  line-height:1.2;
  color:#111;
  font-weight:900;
  overflow-wrap:anywhere;
}
.career-period{
  display:block;
  margin-top:5px;
  color:#555;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
}
.career-summary{
  margin:14px 0 0;
  color:#454545;
  font-size:15px;
  line-height:1.5;
}
.career-roles{
  margin-top:16px;
  display:grid;
  gap:10px;
}
.career-role{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:14px;
  padding:12px 0 0;
  border-top:1px solid #d0d0d0;
  font-size:15px;
  line-height:1.45;
}
.career-role--note{
  color:#555;
}
.career-date{
  color:#111;
  font-weight:800;
  white-space:nowrap;
}
.career-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:7px;
}
.career-tag{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  background:#fff;
  color:#555;
  border:1px solid #cfcfcf;
  border-radius:4px;
  font-size:12px;
  line-height:1.1;
  font-weight:700;
}
.career-tag--current{
  background:#111;
  color:#fff;
  border-color:#111;
}
.career-tag.en{
  display:none;
}
html.lang-en .career-tag.ru,
body.lang-en .career-tag.ru{
  display:none!important;
}
html.lang-en .career-tag.en,
body.lang-en .career-tag.en{
  display:inline-flex!important;
}
.career-title.en,
.career-period.en{
  display:none;
}
html.lang-en .career-title.ru,
body.lang-en .career-title.ru,
html.lang-en .career-period.ru,
body.lang-en .career-period.ru{
  display:none!important;
}
html.lang-en .career-title.en,
body.lang-en .career-title.en,
html.lang-en .career-period.en,
body.lang-en .career-period.en{
  display:block!important;
}
.education-list{
  display:grid;
  gap:0;
}
.education-list.en{
  display:none;
}
html.lang-en .education-list.ru,
body.lang-en .education-list.ru{
  display:none!important;
}
html.lang-en .education-list.en,
body.lang-en .education-list.en{
  display:grid!important;
}
.education-item{
  position:relative;
  display:grid;
  grid-template-columns:142px minmax(0,1fr);
  gap:24px;
  align-items:start;
  background:transparent;
  border-left:0;
  border-bottom:1px solid #c9c9c9;
  padding:20px 0;
  min-width:0;
}
.education-item:first-child{
  padding-top:0;
}
.education-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.education-year{
  color:#111;
  font-weight:900;
  font-size:25px;
  line-height:1.2;
  white-space:nowrap;
}
.education-kind{
  color:#111;
  font-weight:900;
  line-height:1.35;
}
.education-org{
  margin-top:5px;
  color:#333;
  font-style:italic;
  font-weight:700;
}
.education-detail{
  margin-top:4px;
  color:#555;
  font-size:15px;
  line-height:1.45;
}
.publications-content{
  max-width:var(--max);
  width:min(var(--max), calc(100% - 40px));
  margin:16px auto 0;
}
.publications-content #scientometrics{
  margin-left:-32px;
  margin-right:-32px;
}
@media(max-width:760px){
  .career-card,
  .career-card--featured{
    padding:18px;
  }
  .career-org{
    grid-template-columns:64px minmax(0,1fr) 30px;
    gap:12px;
  }
  .career-org::after{
    width:28px;
    height:28px;
    font-size:20px;
  }
  .career-logo,
  .career-logo--wide{
    width:62px;
    height:50px;
  }
  .career-logo--seal{
    width:46px;
    height:54px;
  }
  .career-title{
    font-size:18px;
  }
  .career-role{
    grid-template-columns:1fr;
    gap:4px;
  }
  .career-date{
    white-space:normal;
  }
  .education-item{
    grid-template-columns:1fr;
    gap:8px;
    padding:15px 16px;
  }
  .education-year{
    white-space:normal;
  }
  .publications-content{
    width:calc(100% - 32px);
    padding:20px;
  }
  .publications-content #scientometrics{
    margin-left:0;
    margin-right:0;
  }
}

.funding-list,
.research-list{
  display:grid;
  gap:0;
}
.funding-list.en,
.research-list.en{
  display:none;
}
html.lang-en .funding-list.ru,
body.lang-en .funding-list.ru,
html.lang-en .research-list.ru,
body.lang-en .research-list.ru{
  display:none!important;
}
html.lang-en .funding-list.en,
body.lang-en .funding-list.en,
html.lang-en .research-list.en,
body.lang-en .research-list.en{
  display:grid!important;
}
.funding-item,
.research-item{
  display:grid;
  min-width:0;
  color:#222;
  text-decoration:none;
  transition:background .14s ease,transform .14s ease;
}
.funding-item{
  background:#eee;
  border-top:4px solid #111;
}
.research-item{
  background:transparent;
  border-bottom:1px solid #c9c9c9;
}
.funding-item{
  grid-template-columns:112px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  gap:4px 14px;
  align-items:start;
  align-content:start;
  padding:16px;
  min-height:0;
}
.research-item{
  grid-template-columns:minmax(0,1fr);
  gap:6px;
  padding:13px 0;
}
.funding-item.is-linked:hover,
.research-item:hover{
  background:#f7f7f7;
  transform:translateY(-1px);
}
.funding-logo{
  grid-column:1;
  grid-row:1/3;
  width:108px;
  max-width:100%;
  height:46px;
  object-fit:contain;
  object-position:left center;
  background:transparent;
  border:0;
  padding:0;
}
.funding-year,
.research-year{
  color:#111;
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
}
.funding-year{
  grid-column:2;
  grid-row:1;
  display:inline-flex;
  align-items:center;
  justify-self:start;
  min-height:24px;
  background:#111;
  color:#fff;
  padding:4px 7px;
  font-size:13px;
}
.research-year{
  display:none;
}
.funding-body,
.research-body{
  display:grid;
  gap:4px;
  min-width:0;
  line-height:1.45;
}
.funding-body{
  display:contents;
}
.funding-body strong,
.research-body strong{
  color:#111;
  font-weight:900;
}
.funding-body strong{
  grid-column:2;
  grid-row:2;
  font-size:16px;
  line-height:1.22;
}
.research-body strong{
  font-size:15px;
  line-height:1.42;
}
.funding-body span,
.research-body span{
  color:#555;
  overflow-wrap:anywhere;
}
.funding-body span{
  grid-column:1/-1;
  grid-row:3;
  margin-top:8px;
}
.research-body span{
  font-size:14px;
}
.funding-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.research-list{
  border-top:1px solid #c9c9c9;
}
.research-year-group{
  padding:18px 0 8px;
  color:#111;
  font-size:26px;
  line-height:1;
  font-weight:900;
}
.research-year-group:first-child{
  padding-top:0;
}
.research-item--static{
  color:inherit;
  text-decoration:none;
  cursor:default;
}
.research-item--static:hover{
  background:transparent;
  transform:none;
}
.teaching-hero{
  max-width:var(--max);
  margin:42px auto 0;
  padding:0 20px 26px;
  display:block;
}
.teaching-hero h1{
  margin:0 0 18px;
  color:#111;
  font-size:48px;
  line-height:1.08;
  font-weight:900;
  letter-spacing:0;
}
.teaching-hero p{
  max-width:760px;
  margin:0;
  color:#555;
  font-size:18px;
  line-height:1.55;
}
.teaching-logo-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  background:#eee;
  border:1px solid #d0d0d0;
}
.teaching-logo-panel img{
  width:100%;
  height:118px;
  object-fit:contain;
  padding:20px;
  background:#fff;
  border:1px solid #e2e2e2;
}
.teaching-section{
  max-width:var(--max);
  margin:0 auto;
  padding:42px 20px;
  border-top:1px solid #c9c9c9;
}
.teaching-section h2{
  margin:0 0 22px;
  color:#111;
  font-size:34px;
  line-height:1.16;
  font-weight:900;
  overflow-wrap:anywhere;
}
.teaching-section h3{
  margin:0;
  color:#111;
  font-size:21px;
  line-height:1.25;
  font-weight:900;
  overflow-wrap:anywhere;
}
.teaching-lead{
  margin:0 0 24px;
  max-width:920px;
  color:#555;
  font-size:17px;
  line-height:1.6;
}
.teaching-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.teaching-card,
.teaching-course{
  min-width:0;
  background:#eee;
  border-left:4px solid #111;
  padding:20px;
}
.teaching-card-logo{
  width:64px;
  height:54px;
  display:block;
  object-fit:contain;
  object-position:left center;
  margin-bottom:16px;
}
.teaching-card p,
.teaching-course p{
  margin:10px 0 0;
  color:#555;
  line-height:1.52;
}
.teaching-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.teaching-actions a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:9px 13px;
  background:#111;
  color:#fff;
  border-radius:5px;
  text-decoration:none;
  font-weight:800;
  line-height:1;
}
.teaching-actions a.secondary{
  background:#fff;
  color:#111;
  border:1px solid #cfcfcf;
}
.teaching-card-image{
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
  margin:-20px -20px 18px;
  width:calc(100% + 40px);
  max-width:none;
}
.teaching-card-media{
  position:relative;
  margin:-20px -20px 18px;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#d7d7d7;
}
.teaching-card-media .teaching-card-image{
  width:100%;
  height:100%;
  margin:0;
  max-width:none;
  object-fit:cover;
}
.teaching-card-heading{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.teaching-card-logo-inline{
  width:64px;
  height:52px;
  display:block;
  object-fit:contain;
  object-position:center;
}
.teaching-card-heading > div{
  min-width:0;
}
.teaching-card-heading h3{
  margin:0;
}
.teaching-video-catalog{
  background:#111;
  color:#fff;
  padding:24px;
}
.teaching-video-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:start;
  margin-bottom:22px;
}
.teaching-video-header h2{
  color:#fff;
  margin-bottom:12px;
}
.teaching-video-header p{
  margin:0;
  max-width:820px;
  color:#d8d8d8;
  font-size:17px;
  line-height:1.55;
}
.teaching-platform-tabs{
  display:inline-flex;
  gap:0;
  padding:3px;
  background:#050505;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
}
.teaching-platform-tabs button{
  border:0;
  background:transparent;
  color:#d8d8d8;
  border-radius:5px;
  padding:9px 12px;
  font:inherit;
  font-size:14px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.teaching-platform-tabs button.is-active{
  background:#fff;
  color:#111;
}
.teaching-lecture-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.teaching-lecture-details summary{
  display:none;
}
.teaching-lecture-card{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(255,255,255,.16);
  background:#1b1b1d;
  color:#fff;
  padding:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.teaching-lecture-card:hover,
.teaching-lecture-card:focus-visible{
  background:#242427;
}
.teaching-lecture-card.is-active{
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.78);
}
.teaching-lecture-thumb{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#050505;
}
.teaching-lecture-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.teaching-lecture-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(0,0,0,.68);
  color:#fff;
  font-size:17px;
  line-height:1;
}
.teaching-lecture-meta{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:12px;
}
.teaching-lecture-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  font-weight:900;
  line-height:1;
}
.teaching-lecture-title{
  min-width:0;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  overflow-wrap:anywhere;
}
.teaching-player{
  margin-top:18px;
  padding:16px;
  background:#1b1b1d;
  border:1px solid rgba(255,255,255,.16);
}
.teaching-player[hidden]{
  display:none;
}
.teaching-player-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.teaching-player-head h3{
  color:#fff;
  margin:0;
  font-size:20px;
  line-height:1.25;
}
.teaching-lecture-frame-inner{
  position:relative;
  aspect-ratio:16/9;
  min-height:320px;
  background:#050505;
}
.teaching-lecture-frame-inner iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000;
}
.teaching-lecture-external{
  display:inline-flex;
  margin-top:10px;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.64);
}
.teaching-lecture-external:hover{
  border-bottom-color:transparent;
}
.teaching-player-dialog{
  width:min(980px,calc(100vw - 32px));
  max-height:calc(100vh - 36px);
  padding:0;
  border:0;
  background:#111;
  color:#fff;
  box-shadow:0 26px 80px rgba(0,0,0,.48);
}
.teaching-player-dialog::backdrop{
  background:rgba(0,0,0,.66);
}
.teaching-player-dialog[open]{
  display:block;
}
.teaching-dialog-open{
  overflow:hidden;
}
.teaching-player-shell{
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 36px);
}
.teaching-player-dialog .teaching-player-head{
  margin:0;
  padding:18px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.teaching-player-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.teaching-platform-tabs--dialog{
  background:#050505;
}
.teaching-player-close{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.24);
  background:#fff;
  color:#111;
  border-radius:50%;
  font:inherit;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.teaching-player-dialog .teaching-lecture-frame-inner{
  min-height:0;
}
.teaching-video-catalog .teaching-actions a{
  background:#fff;
  color:#111;
}
.teaching-video-catalog .teaching-actions a.secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.36);
}
.teaching-video{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:22px;
  align-items:stretch;
  background:#111;
  color:#fff;
  padding:24px;
}
.teaching-video h2,
.teaching-video h3{
  color:#fff;
}
.teaching-video p{
  color:#d8d8d8;
}
.teaching-video-frame{
  position:relative;
  min-height:320px;
  background:#050505;
}
.teaching-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.teaching-video-fallback{
  min-height:320px;
  background:#050505;
  border:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  padding:34px;
}
.teaching-video-fallback img{
  width:52px;
  height:52px;
  object-fit:contain;
}
.teaching-video-fallback strong{
  color:#fff;
  font-size:28px;
  line-height:1.1;
  font-weight:900;
}
.teaching-video-fallback span{
  max-width:560px;
  color:#d8d8d8;
  line-height:1.5;
}
.teaching-video-fallback a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  margin-top:4px;
  padding:9px 13px;
  background:#fff;
  color:#111;
  border-radius:5px;
  text-decoration:none;
  font-weight:800;
  line-height:1;
}
.teaching-video-note{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.teaching-video .teaching-actions a{
  background:#fff;
  color:#111;
}
.teaching-video .teaching-actions a.secondary{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.36);
}
.teaching-course-list{
  display:grid;
  gap:14px;
}
.teaching-course{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  gap:18px;
  overflow-wrap:anywhere;
}
.teaching-course-date{
  color:#111;
  font-size:17px;
  font-weight:900;
  line-height:1.25;
}
.teaching-course-org{
  margin-top:4px;
  color:#555;
  font-style:italic;
  font-weight:700;
}
.teaching-topics{
  margin:14px 0 0;
  padding-left:20px;
}
.teaching-topics li{
  margin:0 0 8px;
}
@media(max-width:1320px) and (min-width:1051px){
  .top{
    height:auto;
    min-height:104px;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
    padding-top:22px;
    padding-bottom:22px;
  }
  .nav{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:14px 18px;
  }
}
@media(max-width:1050px){
  .funding-list{
    grid-template-columns:1fr;
  }
  .funding-item{
    grid-template-columns:112px minmax(0,1fr);
    min-height:0;
  }
  .teaching-hero,
  .teaching-video{
    grid-template-columns:1fr;
  }
  .teaching-video-header{
    grid-template-columns:1fr;
  }
  .teaching-platform-tabs{
    justify-self:start;
  }
  .teaching-grid{
    grid-template-columns:1fr;
  }
  .teaching-lecture-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .teaching-video-frame{
    min-height:260px;
  }
  .teaching-video-fallback{
    min-height:260px;
  }
}
@media(max-width:640px){
  .research-item,
  .teaching-course{
    grid-template-columns:1fr;
  }
  .funding-item{
    grid-template-columns:92px minmax(0,1fr);
  }
  .funding-logo{
    width:88px;
    height:42px;
  }
  .funding-year,
  .research-year{
    white-space:normal;
  }
  .teaching-hero h1{
    font-size:34px;
  }
  .teaching-section h2{
    font-size:28px;
  }
  .teaching-logo-panel img{
    height:96px;
    padding:16px;
  }
  .teaching-video{
    padding:18px;
  }
  .teaching-video-catalog{
    padding:18px;
  }
  .teaching-lecture-grid{
    grid-template-columns:1fr;
  }
  .teaching-lecture-details{
    border:1px solid rgba(255,255,255,.18);
    background:#151515;
  }
  .teaching-lecture-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px;
    color:#fff;
    font-weight:900;
    cursor:pointer;
  }
  .teaching-lecture-details summary::after{
    content:"+";
    font-size:22px;
    line-height:1;
  }
  .teaching-lecture-details[open] summary::after{
    content:"−";
  }
  .teaching-lecture-details .teaching-lecture-grid{
    padding:0 12px 12px;
  }
  .teaching-lecture-number{
    width:34px;
    height:34px;
    font-size:13px;
  }
  .teaching-lecture-title{
    font-size:16px;
  }
  .teaching-card-heading{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
  }
  .teaching-card-logo-inline{
    width:52px;
    height:44px;
  }
  .teaching-player-dialog{
    width:calc(100vw - 18px);
    max-height:calc(100vh - 18px);
  }
  .teaching-player-shell{
    max-height:calc(100vh - 18px);
  }
  .teaching-player-dialog .teaching-player-head{
    align-items:flex-start;
    flex-direction:column;
    padding:14px;
  }
  .teaching-player-head h3{
    font-size:18px;
  }
  .teaching-player-controls{
    width:100%;
    justify-content:space-between;
  }
  .teaching-lecture-frame-inner{
    min-height:0;
  }
  .teaching-video-frame{
    min-height:210px;
  }
  .teaching-video-fallback{
    min-height:210px;
    padding:24px;
  }
}
