.vjs-svg-icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
  fill: currentColor;
  height: 1.8em;
  width: 1.8em;
}
.vjs-svg-icon:before {
  content: none !important;
}

.vjs-svg-icon:hover,
.vjs-control:focus .vjs-svg-icon {
  filter: drop-shadow(0 0 0.25em #fff);
}

.vjs-modal-dialog .vjs-modal-dialog-content, .video-js .vjs-modal-dialog, .vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-button > .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  text-align: center;
}

@font-face {
  font-family: VideoJS;
  src: url(data:application/font-woff;charset=utf-8;base64,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) format("woff");
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play, .video-js .vjs-play-control .vjs-icon-placeholder, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play:before, .video-js .vjs-play-control .vjs-icon-placeholder:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before {
  content: "\f101";
}

.vjs-icon-play-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-play-circle:before {
  content: "\f102";
}

.vjs-icon-pause, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-pause:before, .video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {
  content: "\f103";
}

.vjs-icon-volume-mute, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-mute:before, .video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {
  content: "\f104";
}

.vjs-icon-volume-low, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-low:before, .video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {
  content: "\f105";
}

.vjs-icon-volume-mid, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-mid:before, .video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {
  content: "\f106";
}

.vjs-icon-volume-high, .video-js .vjs-mute-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {
  content: "\f107";
}

.vjs-icon-fullscreen-enter, .video-js .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f108";
}

.vjs-icon-fullscreen-exit, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-fullscreen-exit:before, .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {
  content: "\f109";
}

.vjs-icon-spinner {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-spinner:before {
  content: "\f10a";
}

.vjs-icon-subtitles, .video-js .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-subtitles-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-subtitles:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before {
  content: "\f10b";
}

.vjs-icon-captions, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js .vjs-captions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-captions:before, .video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js .vjs-captions-button .vjs-icon-placeholder:before {
  content: "\f10c";
}

.vjs-icon-hd {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-hd:before {
  content: "\f10d";
}

.vjs-icon-chapters, .video-js .vjs-chapters-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-chapters:before, .video-js .vjs-chapters-button .vjs-icon-placeholder:before {
  content: "\f10e";
}

.vjs-icon-downloading {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-downloading:before {
  content: "\f10f";
}

.vjs-icon-file-download {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download:before {
  content: "\f110";
}

.vjs-icon-file-download-done {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download-done:before {
  content: "\f111";
}

.vjs-icon-file-download-off {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-file-download-off:before {
  content: "\f112";
}

.vjs-icon-share {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-share:before {
  content: "\f113";
}

.vjs-icon-cog {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cog:before {
  content: "\f114";
}

.vjs-icon-square {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-square:before {
  content: "\f115";
}

.vjs-icon-circle, .vjs-seek-to-live-control .vjs-icon-placeholder, .video-js .vjs-volume-level, .video-js .vjs-play-progress {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle:before, .vjs-seek-to-live-control .vjs-icon-placeholder:before, .video-js .vjs-volume-level:before, .video-js .vjs-play-progress:before {
  content: "\f116";
}

.vjs-icon-circle-outline {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle-outline:before {
  content: "\f117";
}

.vjs-icon-circle-inner-circle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-circle-inner-circle:before {
  content: "\f118";
}

.vjs-icon-cancel, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cancel:before, .video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {
  content: "\f119";
}

.vjs-icon-repeat {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-repeat:before {
  content: "\f11a";
}

.vjs-icon-replay, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay:before, .video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {
  content: "\f11b";
}

.vjs-icon-replay-5, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-5:before, .video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before {
  content: "\f11c";
}

.vjs-icon-replay-10, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-10:before, .video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before {
  content: "\f11d";
}

.vjs-icon-replay-30, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-replay-30:before, .video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before {
  content: "\f11e";
}

.vjs-icon-forward-5, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-5:before, .video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before {
  content: "\f11f";
}

.vjs-icon-forward-10, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-10:before, .video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before {
  content: "\f120";
}

.vjs-icon-forward-30, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-forward-30:before, .video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before {
  content: "\f121";
}

.vjs-icon-audio, .video-js .vjs-audio-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-audio:before, .video-js .vjs-audio-button .vjs-icon-placeholder:before {
  content: "\f122";
}

.vjs-icon-next-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-next-item:before {
  content: "\f123";
}

.vjs-icon-previous-item {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-previous-item:before {
  content: "\f124";
}

.vjs-icon-shuffle {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-shuffle:before {
  content: "\f125";
}

.vjs-icon-cast {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-cast:before {
  content: "\f126";
}

.vjs-icon-picture-in-picture-enter, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-picture-in-picture-enter:before, .video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f127";
}

.vjs-icon-picture-in-picture-exit, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-picture-in-picture-exit:before, .video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
  content: "\f128";
}

.vjs-icon-facebook {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-facebook:before {
  content: "\f129";
}

.vjs-icon-linkedin {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-linkedin:before {
  content: "\f12a";
}

.vjs-icon-twitter {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-twitter:before {
  content: "\f12b";
}

.vjs-icon-tumblr {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-tumblr:before {
  content: "\f12c";
}

.vjs-icon-pinterest {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-pinterest:before {
  content: "\f12d";
}

.vjs-icon-audio-description, .video-js .vjs-descriptions-button .vjs-icon-placeholder {
  font-family: VideoJS;
  font-weight: normal;
  font-style: normal;
}
.vjs-icon-audio-description:before, .video-js .vjs-descriptions-button .vjs-icon-placeholder:before {
  content: "\f12e";
}

.video-js {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  color: #fff;
  background-color: #000;
  position: relative;
  padding: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: normal;
  font-style: normal;
  font-family: Arial, Helvetica, sans-serif;
  word-break: initial;
}
.video-js:-moz-full-screen {
  position: absolute;
}
.video-js:-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
}

.video-js[tabindex="-1"] {
  outline: none;
}

.video-js *,
.video-js *:before,
.video-js *:after {
  box-sizing: inherit;
}

.video-js ul {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  list-style-position: outside;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
.video-js.vjs-9-16,
.video-js.vjs-1-1 {
  width: 100%;
  max-width: 100%;
}

.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.video-js.vjs-16-9:not(.vjs-audio-only-mode),
.video-js.vjs-4-3:not(.vjs-audio-only-mode),
.video-js.vjs-9-16:not(.vjs-audio-only-mode),
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  height: 0;
}

.video-js.vjs-16-9:not(.vjs-audio-only-mode) {
  padding-top: 56.25%;
}

.video-js.vjs-4-3:not(.vjs-audio-only-mode) {
  padding-top: 75%;
}

.video-js.vjs-9-16:not(.vjs-audio-only-mode) {
  padding-top: 177.7777777778%;
}

.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
  padding-top: 100%;
}

.video-js.vjs-fill:not(.vjs-audio-only-mode) {
  width: 100%;
  height: 100%;
}

.video-js .vjs-tech {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-js.vjs-audio-only-mode .vjs-tech {
  display: none;
}

body.vjs-full-window,
body.vjs-pip-window {
  padding: 0;
  margin: 0;
  height: 100%;
}

.vjs-full-window .video-js.vjs-fullscreen,
body.vjs-pip-window .video-js {
  position: fixed;
  overflow: hidden;
  z-index: 1000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),
body.vjs-pip-window .video-js {
  width: 100% !important;
  height: 100% !important;
  padding-top: 0 !important;
  display: block;
}

.video-js.vjs-fullscreen.vjs-user-inactive {
  cursor: none;
}

.vjs-pip-container .vjs-pip-text {
  position: absolute;
  bottom: 10%;
  font-size: 2em;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0.5em;
  text-align: center;
  width: 100%;
}

.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,
.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,
.vjs-layout-small.vjs-pip-container .vjs-pip-text {
  bottom: 0;
  font-size: 1.4em;
}

.vjs-hidden {
  display: none !important;
}

.vjs-disabled {
  opacity: 0.5;
  cursor: default;
}

.video-js .vjs-offscreen {
  height: 1px;
  left: -9999px;
  position: absolute;
  top: 0;
  width: 1px;
}

.vjs-lock-showing {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.vjs-no-js {
  padding: 20px;
  color: #fff;
  background-color: #000;
  font-size: 18px;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  width: 300px;
  height: 150px;
  margin: 0px auto;
}

.vjs-no-js a,
.vjs-no-js a:visited {
  color: #66A8CC;
}

.video-js .vjs-big-play-button {
  font-size: 3em;
  line-height: 1.5em;
  height: 1.63332em;
  width: 3em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 0;
  margin-top: -0.81666em;
  margin-left: -1.5em;
  cursor: pointer;
  opacity: 1;
  border: 0.06666em solid #fff;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  border-radius: 0.3em;
  transition: all 0.4s;
}
.vjs-big-play-button .vjs-svg-icon {
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:focus {
  border-color: #fff;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
  transition: all 0s;
}

.vjs-controls-disabled .vjs-big-play-button,
.vjs-has-started .vjs-big-play-button,
.vjs-using-native-controls .vjs-big-play-button,
.vjs-error .vjs-big-play-button {
  display: none;
}

.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking, .vjs-scrubbing, .vjs-error) .vjs-big-play-button {
  display: block;
}

.video-js button {
  background: none;
  border: none;
  color: inherit;
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
  text-transform: none;
  text-decoration: none;
  transition: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.video-js.vjs-spatial-navigation-enabled .vjs-button:focus {
  outline: 0.0625em solid white;
  box-shadow: none;
}

.vjs-control .vjs-button {
  width: 100%;
  height: 100%;
}

.video-js .vjs-control.vjs-close-button {
  cursor: pointer;
  height: 3em;
  position: absolute;
  right: 0;
  top: 0.5em;
  z-index: 2;
}
.video-js .vjs-modal-dialog {
  background: rgba(0, 0, 0, 0.8);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
  overflow: auto;
}

.video-js .vjs-modal-dialog > * {
  box-sizing: border-box;
}

.vjs-modal-dialog .vjs-modal-dialog-content {
  font-size: 1.2em;
  line-height: 1.5;
  padding: 20px 24px;
  z-index: 1;
}

.vjs-menu-button {
  cursor: pointer;
}

.vjs-menu-button.vjs-disabled {
  cursor: default;
}

.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
  display: none;
}

.vjs-menu .vjs-menu-content {
  display: block;
  padding: 0;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  overflow: auto;
}

.vjs-menu .vjs-menu-content > * {
  box-sizing: border-box;
}

.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
  display: none;
}

.vjs-menu li {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0.2em 0;
  line-height: 1.4em;
  font-size: 1.2em;
  text-align: center;
  text-transform: lowercase;
}

.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
}

.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover,
.js-focus-visible .vjs-menu li.vjs-selected:hover {
  background-color: #fff;
  color: #2B333F;
}
.vjs-menu li.vjs-selected .vjs-svg-icon,
.vjs-menu li.vjs-selected:focus .vjs-svg-icon,
.vjs-menu li.vjs-selected:hover .vjs-svg-icon,
.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon {
  fill: #000000;
}

.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),
.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {
  background: none;
}

.vjs-menu li.vjs-menu-title {
  text-align: center;
  text-transform: uppercase;
  font-size: 1em;
  line-height: 2em;
  padding: 0;
  margin: 0 0 0.3em 0;
  font-weight: bold;
  cursor: default;
}

.vjs-menu-button-popup .vjs-menu {
  display: none;
  position: absolute;
  bottom: 0;
  width: 10em;
  left: -3em;
  height: 0em;
  margin-bottom: 1.5em;
  border-top-color: rgba(43, 51, 63, 0.7);
}

.vjs-pip-window .vjs-menu-button-popup .vjs-menu {
  left: unset;
  right: 1em;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
  position: absolute;
  width: 100%;
  bottom: 1.5em;
  max-height: 15em;
}

.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 5em;
}

.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 10em;
}

.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 14em;
}

.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
  max-height: 25em;
}

.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
  display: block;
}

.video-js .vjs-menu-button-inline {
  transition: all 0.4s;
  overflow: hidden;
}

.video-js .vjs-menu-button-inline:before {
  width: 2.222222222em;
}

.video-js .vjs-menu-button-inline:hover,
.video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline.vjs-slider-active {
  width: 12em;
}

.vjs-menu-button-inline .vjs-menu {
  opacity: 0;
  height: 100%;
  width: auto;
  position: absolute;
  left: 4em;
  top: 0;
  padding: 0;
  margin: 0;
  transition: all 0.4s;
}

.vjs-menu-button-inline:hover .vjs-menu,
.vjs-menu-button-inline:focus .vjs-menu,
.vjs-menu-button-inline.vjs-slider-active .vjs-menu {
  display: block;
  opacity: 1;
}

.vjs-menu-button-inline .vjs-menu-content {
  width: auto;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.video-js .vjs-control-bar {
  display: none;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js.vjs-spatial-navigation-enabled .vjs-control-bar {
  gap: 1px;
}

.video-js:not(.vjs-controls-disabled, .vjs-using-native-controls, .vjs-error) .vjs-control-bar.vjs-lock-showing {
  display: flex !important;
}

.vjs-has-started .vjs-control-bar,
.vjs-audio-only-mode .vjs-control-bar {
  display: flex;
  visibility: visible;
  opacity: 1;
  transition: visibility 0.1s, opacity 0.1s;
}

.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  visibility: visible;
  opacity: 0;
  pointer-events: none;
  transition: visibility 1s, opacity 1s;
}

.vjs-controls-disabled .vjs-control-bar,
.vjs-using-native-controls .vjs-control-bar,
.vjs-error .vjs-control-bar {
  display: none !important;
}

.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,
.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.video-js .vjs-control {
  position: relative;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 4em;
  flex: none;
}

.video-js .vjs-control.vjs-visible-text {
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-button > .vjs-icon-placeholder:before {
  font-size: 1.8em;
  line-height: 1.67;
}

.vjs-button > .vjs-icon-placeholder {
  display: block;
}

.vjs-button > .vjs-svg-icon {
  display: inline-block;
}

.video-js .vjs-control:focus:before,
.video-js .vjs-control:hover:before,
.video-js .vjs-control:focus {
  text-shadow: 0em 0em 1em white;
}

.video-js *:not(.vjs-visible-text) > .vjs-control-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.video-js .vjs-custom-control-spacer {
  display: none;
}

.video-js .vjs-progress-control {
  cursor: pointer;
  flex: auto;
  display: flex;
  align-items: center;
  min-width: 4em;
  touch-action: none;
}

.video-js .vjs-progress-control.disabled {
  cursor: default;
}

.vjs-live .vjs-progress-control {
  display: none;
}

.vjs-liveui .vjs-progress-control {
  display: flex;
  align-items: center;
}

.video-js .vjs-progress-holder {
  flex: auto;
  transition: all 0.2s;
  height: 0.3em;
}

.video-js .vjs-progress-control .vjs-progress-holder {
  margin: 0 10px;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder {
  font-size: 1.6666666667em;
}

.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
  font-size: 1em;
}

.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
  position: absolute;
  display: block;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 0;
}

.video-js .vjs-play-progress {
  background-color: #fff;
}
.video-js .vjs-play-progress:before {
  font-size: 0.9em;
  position: absolute;
  right: -0.5em;
  line-height: 0.35em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-play-progress:before {
  content: none !important;
}

.vjs-play-progress .vjs-svg-icon {
  position: absolute;
  top: -0.35em;
  right: -0.4em;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  line-height: 0.15em;
  z-index: 1;
}

.video-js .vjs-load-progress {
  background: rgba(115, 133, 159, 0.5);
}

.video-js .vjs-load-progress div {
  background: rgba(115, 133, 159, 0.75);
}

.video-js .vjs-time-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
  display: none;
}

.video-js .vjs-progress-control:hover .vjs-time-tooltip,
.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {
  display: block;
  font-size: 0.6em;
  visibility: visible;
}

.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
  font-size: 1em;
}

.video-js .vjs-progress-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 1px;
  height: 100%;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-progress-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-time-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.video-js .vjs-slider {
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0 0.45em 0 0.45em;
  /* iOS Safari */
  -webkit-touch-callout: none;
  /* Safari, and Chrome 53 */
  -webkit-user-select: none;
  /* Non-prefixed version, currently supported by Chrome and Opera */
  -moz-user-select: none;
       user-select: none;
  background-color: #73859f;
  background-color: rgba(115, 133, 159, 0.5);
}

.video-js .vjs-slider.disabled {
  cursor: default;
}

.video-js .vjs-slider:focus {
  text-shadow: 0em 0em 1em white;
  box-shadow: 0 0 1em #fff;
}

.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus {
  outline: 0.0625em solid white;
}

.video-js .vjs-mute-control {
  cursor: pointer;
  flex: none;
}
.video-js .vjs-volume-control {
  cursor: pointer;
  margin-right: 1em;
  display: flex;
}

.video-js .vjs-volume-control.vjs-volume-horizontal {
  width: 5em;
}

.video-js .vjs-volume-panel .vjs-volume-control {
  visibility: visible;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin-left: -1px;
}

.video-js .vjs-volume-panel {
  transition: width 1s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control, .video-js .vjs-volume-panel:active .vjs-volume-control, .video-js .vjs-volume-panel:focus .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control:active, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {
  visibility: visible;
  opacity: 1;
  position: relative;
  transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-horizontal, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {
  width: 5em;
  height: 3em;
  margin-right: 0;
}
.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical, .video-js .vjs-volume-panel.vjs-hover .vjs-mute-control ~ .vjs-volume-control.vjs-volume-vertical, .video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {
  left: -3.5em;
  transition: left 0s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {
  width: 10em;
  transition: width 0.1s;
}
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
  width: 4em;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
  height: 8em;
  width: 3em;
  left: -3000em;
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
  transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s;
}

.video-js .vjs-volume-panel {
  display: flex;
}

.video-js .vjs-volume-bar {
  margin: 1.35em 0.45em;
}

.vjs-volume-bar.vjs-slider-horizontal {
  width: 5em;
  height: 0.3em;
}

.vjs-volume-bar.vjs-slider-vertical {
  width: 0.3em;
  height: 5em;
  margin: 1.35em auto;
}

.video-js .vjs-volume-level {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #fff;
}
.video-js .vjs-volume-level:before {
  position: absolute;
  font-size: 0.9em;
  z-index: 1;
}

.vjs-slider-vertical .vjs-volume-level {
  width: 0.3em;
}
.vjs-slider-vertical .vjs-volume-level:before {
  top: -0.5em;
  left: -0.3em;
  z-index: 1;
}

.vjs-svg-icons-enabled .vjs-volume-level:before {
  content: none;
}

.vjs-volume-level .vjs-svg-icon {
  position: absolute;
  width: 0.9em;
  height: 0.9em;
  pointer-events: none;
  z-index: 1;
}

.vjs-slider-horizontal .vjs-volume-level {
  height: 0.3em;
}
.vjs-slider-horizontal .vjs-volume-level:before {
  line-height: 0.35em;
  right: -0.5em;
}

.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon {
  right: -0.3em;
  transform: translateY(-50%);
}

.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon {
  top: -0.55em;
  transform: translateX(-50%);
}

.video-js .vjs-volume-panel.vjs-volume-panel-vertical {
  width: 4em;
}

.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
  height: 100%;
}

.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
  width: 100%;
}

.video-js .vjs-volume-vertical {
  width: 3em;
  height: 8em;
  bottom: 8em;
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.7);
}

.video-js .vjs-volume-horizontal .vjs-menu {
  left: -2em;
}

.video-js .vjs-volume-tooltip {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 0.3em;
  color: #000;
  float: right;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
  padding: 6px 8px 8px 8px;
  pointer-events: none;
  position: absolute;
  top: -3.4em;
  visibility: hidden;
  z-index: 1;
}

.video-js .vjs-volume-control:hover .vjs-volume-tooltip,
.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  display: block;
  font-size: 1em;
  visibility: visible;
}

.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,
.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
  left: 1em;
  top: -12px;
}

.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
  font-size: 1em;
}

.video-js .vjs-volume-control .vjs-mouse-display {
  display: none;
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #000;
  z-index: 1;
}

.video-js .vjs-volume-horizontal .vjs-mouse-display {
  width: 1px;
  height: 100%;
}

.video-js .vjs-volume-control:hover .vjs-mouse-display {
  display: block;
}

.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
  visibility: hidden;
  opacity: 0;
  transition: visibility 1s, opacity 1s;
}

.vjs-mouse-display .vjs-volume-tooltip {
  color: #fff;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.8);
}

.vjs-poster {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
}

.vjs-has-started .vjs-poster,
.vjs-using-native-controls .vjs-poster {
  display: none;
}

.vjs-audio.vjs-has-started .vjs-poster,
.vjs-has-started.vjs-audio-poster-mode .vjs-poster,
.vjs-pip-container.vjs-has-started .vjs-poster {
  display: block;
}

.vjs-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.video-js .vjs-live-control {
  display: flex;
  align-items: flex-start;
  flex: auto;
  font-size: 1em;
  line-height: 3em;
}

.video-js:not(.vjs-live) .vjs-live-control,
.video-js.vjs-liveui .vjs-live-control {
  display: none;
}

.video-js .vjs-seek-to-live-control {
  align-items: center;
  cursor: pointer;
  flex: none;
  display: inline-flex;
  height: 100%;
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-size: 1em;
  line-height: 3em;
  width: auto;
  min-width: 4em;
}

.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,
.video-js:not(.vjs-live) .vjs-seek-to-live-control {
  display: none;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
  cursor: auto;
}

.vjs-seek-to-live-control .vjs-icon-placeholder {
  margin-right: 0.5em;
  color: #888;
}

.vjs-svg-icons-enabled .vjs-seek-to-live-control {
  line-height: 0;
}

.vjs-seek-to-live-control .vjs-svg-icon {
  width: 1em;
  height: 1em;
  pointer-events: none;
  fill: #888888;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
  color: red;
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon {
  fill: red;
}

.video-js .vjs-time-control {
  flex: none;
  font-size: 1em;
  line-height: 3em;
  min-width: 2em;
  width: auto;
  padding-left: 1em;
  padding-right: 1em;
}

.vjs-live .vjs-time-control,
.vjs-live .vjs-time-divider,
.video-js .vjs-current-time,
.video-js .vjs-duration {
  display: none;
}

.vjs-time-divider {
  display: none;
  line-height: 3em;
}

.video-js .vjs-play-control {
  cursor: pointer;
}

.video-js .vjs-play-control .vjs-icon-placeholder {
  flex: none;
}

.vjs-text-track-display {
  position: absolute;
  bottom: 3em;
  left: 0;
  right: 0;
  top: 0;
  pointer-events: none;
}

.vjs-error .vjs-text-track-display {
  display: none;
}

.video-js.vjs-controls-disabled .vjs-text-track-display,
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
  bottom: 1em;
}

.video-js .vjs-text-track {
  font-size: 1.4em;
  text-align: center;
  margin-bottom: 0.1em;
}

.vjs-subtitles {
  color: #fff;
}

.vjs-captions {
  color: #fc6;
}

.vjs-tt-cue {
  display: block;
}

video::-webkit-media-text-track-display {
  transform: translateY(-3em);
}

.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,
.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {
  transform: translateY(-1.5em);
}

.video-js.vjs-force-center-align-cues .vjs-text-track-cue {
  text-align: center !important;
  width: 80% !important;
}

.video-js .vjs-picture-in-picture-control {
  cursor: pointer;
  flex: none;
}
.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,
.vjs-pip-window .vjs-picture-in-picture-control {
  display: none;
}

.video-js .vjs-fullscreen-control {
  cursor: pointer;
  flex: none;
}
.video-js.vjs-audio-only-mode .vjs-fullscreen-control,
.vjs-pip-window .vjs-fullscreen-control {
  display: none;
}

.vjs-playback-rate > .vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vjs-playback-rate .vjs-playback-rate-value {
  pointer-events: none;
  font-size: 1.5em;
  line-height: 2;
  text-align: center;
}

.vjs-playback-rate .vjs-menu {
  width: 4em;
  left: 0em;
}

.vjs-error .vjs-error-display .vjs-modal-dialog-content {
  font-size: 1.4em;
  text-align: center;
}

.vjs-loading-spinner {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.85;
  text-align: left;
  border: 0.6em solid rgba(43, 51, 63, 0.7);
  box-sizing: border-box;
  background-clip: padding-box;
  width: 5em;
  height: 5em;
  border-radius: 50%;
  visibility: hidden;
}

.vjs-seeking .vjs-loading-spinner,
.vjs-waiting .vjs-loading-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  animation: vjs-spinner-show 0s linear 0.3s forwards;
}

.vjs-error .vjs-loading-spinner {
  display: none;
}

.vjs-loading-spinner:before,
.vjs-loading-spinner:after {
  content: "";
  position: absolute;
  box-sizing: inherit;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  opacity: 1;
  border: inherit;
  border-color: transparent;
  border-top-color: white;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:after {
  animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite;
}

.vjs-seeking .vjs-loading-spinner:before,
.vjs-waiting .vjs-loading-spinner:before {
  border-top-color: rgb(255, 255, 255);
}

.vjs-seeking .vjs-loading-spinner:after,
.vjs-waiting .vjs-loading-spinner:after {
  border-top-color: rgb(255, 255, 255);
  animation-delay: 0.44s;
}

@keyframes vjs-spinner-show {
  to {
    visibility: visible;
  }
}
@keyframes vjs-spinner-spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes vjs-spinner-fade {
  0% {
    border-top-color: #73859f;
  }
  20% {
    border-top-color: #73859f;
  }
  35% {
    border-top-color: white;
  }
  60% {
    border-top-color: #73859f;
  }
  100% {
    border-top-color: #73859f;
  }
}
.video-js.vjs-audio-only-mode .vjs-captions-button {
  display: none;
}

.vjs-chapters-button .vjs-menu ul {
  width: 24em;
}

.video-js.vjs-audio-only-mode .vjs-descriptions-button {
  display: none;
}

.vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-svg-icon {
  width: 1.5em;
  height: 1.5em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-subs-caps-button + .vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: "\f10c";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-audio-only-mode .vjs-subs-caps-button {
  display: none;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
  vertical-align: middle;
  display: inline-block;
  margin-bottom: -0.1em;
}

.video-js .vjs-audio-button + .vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,
.video-js .vjs-audio-button + .vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
  font-family: VideoJS;
  content: " \f12e";
  font-size: 1.5em;
  line-height: inherit;
}

.video-js.vjs-layout-small .vjs-current-time,
.video-js.vjs-layout-small .vjs-time-divider,
.video-js.vjs-layout-small .vjs-duration,
.video-js.vjs-layout-small .vjs-remaining-time,
.video-js.vjs-layout-small .vjs-playback-rate,
.video-js.vjs-layout-small .vjs-volume-control, .video-js.vjs-layout-x-small .vjs-current-time,
.video-js.vjs-layout-x-small .vjs-time-divider,
.video-js.vjs-layout-x-small .vjs-duration,
.video-js.vjs-layout-x-small .vjs-remaining-time,
.video-js.vjs-layout-x-small .vjs-playback-rate,
.video-js.vjs-layout-x-small .vjs-volume-control, .video-js.vjs-layout-tiny .vjs-current-time,
.video-js.vjs-layout-tiny .vjs-time-divider,
.video-js.vjs-layout-tiny .vjs-duration,
.video-js.vjs-layout-tiny .vjs-remaining-time,
.video-js.vjs-layout-tiny .vjs-playback-rate,
.video-js.vjs-layout-tiny .vjs-volume-control {
  display: none;
}
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, .video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {
  width: auto;
  width: initial;
}
.video-js.vjs-layout-x-small .vjs-progress-control, .video-js.vjs-layout-tiny .vjs-progress-control {
  display: none;
}
.video-js.vjs-layout-x-small .vjs-custom-control-spacer {
  flex: auto;
  display: block;
}

.vjs-modal-dialog.vjs-text-track-settings {
  background-color: #2B333F;
  background-color: rgba(43, 51, 63, 0.75);
  color: #fff;
  height: 70%;
}
.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings {
  height: 80%;
}

.vjs-error .vjs-text-track-settings {
  display: none;
}

.vjs-text-track-settings .vjs-modal-dialog-content {
  display: table;
}

.vjs-text-track-settings .vjs-track-settings-colors,
.vjs-text-track-settings .vjs-track-settings-font,
.vjs-text-track-settings .vjs-track-settings-controls {
  display: table-cell;
}

.vjs-text-track-settings .vjs-track-settings-controls {
  text-align: right;
  vertical-align: bottom;
}

@supports (display: grid) {
  .vjs-text-track-settings .vjs-modal-dialog-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    padding: 20px 24px 0px 24px;
  }
  .vjs-track-settings-controls .vjs-default-button {
    margin-bottom: 20px;
  }
  .vjs-text-track-settings .vjs-track-settings-controls {
    grid-column: 1/-1;
  }
  .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,
  .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {
    grid-template-columns: 1fr;
  }
}
.vjs-text-track-settings select {
  font-size: inherit;
}

.vjs-track-setting > select {
  margin-right: 1em;
  margin-bottom: 0.5em;
}

.vjs-text-track-settings fieldset {
  margin: 10px;
  border: none;
}

.vjs-text-track-settings fieldset span {
  display: inline-block;
  padding: 0 0.6em 0.8em;
}

.vjs-text-track-settings fieldset span > select {
  max-width: 7.3em;
}

.vjs-text-track-settings legend {
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
}

.vjs-text-track-settings .vjs-label {
  margin: 0 0.5em 0.5em 0;
}

.vjs-track-settings-controls button:focus,
.vjs-track-settings-controls button:active {
  outline-style: solid;
  outline-width: medium;
  background-image: linear-gradient(0deg, #fff 88%, #73859f 100%);
}

.vjs-track-settings-controls button:hover {
  color: rgba(43, 51, 63, 0.75);
}

.vjs-track-settings-controls button {
  background-color: #fff;
  background-image: linear-gradient(-180deg, #fff 88%, #73859f 100%);
  color: #2B333F;
  cursor: pointer;
  border-radius: 2px;
}

.vjs-track-settings-controls .vjs-default-button {
  margin-right: 1em;
}

.vjs-title-bar {
  background: rgba(0, 0, 0, 0.9);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0) 100%);
  font-size: 1.2em;
  line-height: 1.5;
  transition: opacity 0.1s;
  padding: 0.666em 1.333em 4em;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.vjs-error .vjs-title-bar {
  display: none;
}

.vjs-title-bar-title,
.vjs-title-bar-description {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vjs-title-bar-title {
  font-weight: bold;
  margin-bottom: 0.333em;
}

.vjs-playing.vjs-user-inactive .vjs-title-bar {
  opacity: 0;
  transition: opacity 1s;
}

.video-js .vjs-skip-forward-5 {
  cursor: pointer;
}
.video-js .vjs-skip-forward-10 {
  cursor: pointer;
}
.video-js .vjs-skip-forward-30 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-5 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-10 {
  cursor: pointer;
}
.video-js .vjs-skip-backward-30 {
  cursor: pointer;
}
.video-js .vjs-transient-button {
  position: absolute;
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(50, 50, 50, 0.5);
  cursor: pointer;
  opacity: 1;
  transition: opacity 1s;
}

.video-js:not(.vjs-has-started) .vjs-transient-button {
  display: none;
}

.video-js.not-hover .vjs-transient-button:not(.force-display),
.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display) {
  opacity: 0;
}

.video-js .vjs-transient-button span {
  padding: 0 0.5em;
}

.video-js .vjs-transient-button.vjs-left {
  left: 1em;
}

.video-js .vjs-transient-button.vjs-right {
  right: 1em;
}

.video-js .vjs-transient-button.vjs-top {
  top: 1em;
}

.video-js .vjs-transient-button.vjs-near-top {
  top: 4em;
}

.video-js .vjs-transient-button.vjs-bottom {
  bottom: 4em;
}

.video-js .vjs-transient-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}

@media print {
  .video-js > *:not(.vjs-tech):not(.vjs-poster) {
    visibility: hidden;
  }
}
.vjs-resize-manager {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: -1000;
}

.js-focus-visible .video-js *:focus:not(.focus-visible) {
  outline: none;
}

.video-js *:focus:not(:focus-visible) {
  outline: none;
}

.exercise-runtime-shell {
  --exercise-brand-start: #1a237e;
  --exercise-brand-end: #5272b2;
  --exercise-gradient: linear-gradient(135deg, #1a237e 0%, #5272b2 100%);
  --exercise-ink: #111827;
  --exercise-copy: #334155;
  --exercise-muted: #667085;
  --exercise-border: #dfe5ed;
  --exercise-border-soft: #e9edf3;
  --exercise-surface: #ffffff;
  --exercise-surface-soft: #f7f9fc;
  --exercise-selected: #eef2ff;
  --exercise-success: #18794e;
  --exercise-success-soft: #edf8f2;
  --exercise-danger: #c43d4b;
  --exercise-danger-soft: #fff1f2;
  --exercise-warning: #8a6508;
  --exercise-warning-soft: #fff8e6;
  width: 100% !important;
  max-width: 1040px !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 20px !important;
  container-type: inline-size;
  color: var(--exercise-copy);
  font-family: inherit !important;
}

.exercise-runtime-shell * {
  box-sizing: border-box;
  letter-spacing: 0 !important;
  animation: none !important;
  transition-property: color, background-color, border-color, opacity !important;
}

.exercise-runtime-shell *:hover {
  transform: none !important;
}

.exercise-runtime-shell button,
.exercise-runtime-shell [role="button"],
.exercise-runtime-shell input,
.exercise-runtime-shell textarea,
.exercise-runtime-shell select {
  font: inherit;
}

.exercise-runtime-shell button,
.exercise-runtime-shell [role="button"] {
  transform: none !important;
  box-shadow: none !important;
  transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, opacity 150ms ease !important;
}

.exercise-runtime-shell button:focus-visible,
.exercise-runtime-shell [role="button"]:focus-visible,
.exercise-runtime-shell input:focus-visible,
.exercise-runtime-shell textarea:focus-visible,
.exercise-runtime-shell select:focus-visible {
  outline: 3px solid rgba(82, 114, 178, 0.22) !important;
  outline-offset: 2px !important;
}

.exercise-runtime-shell > .user--class-exercise-main-header {
  margin: 0 !important;
  padding: 0 !important;
  color: #050505 !important;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-align: left !important;
  overflow-wrap: anywhere;
}

.exercise-runtime-shell > .user--class-started-image {
  width: 100% !important;
  max-height: 400px !important;
  margin: 0 !important;
  padding: 12px !important;
  display: block !important;
  object-fit: contain !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 14px !important;
  background: var(--exercise-surface-soft) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell > :where(
  .exercise-container,
  .match-exercise,
  .translation-essay-exercise,
  .form-word-exercise,
  .sorting-columns-exercise,
  .sentence-order-exercise,
  .sequence-component-container,
  .particle-exercise,
  .listening-pronunciation-container,
  .maestro-attempt
) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: inherit !important;
}

.exercise-runtime-shell :where(
  .exercise-header,
  .match-exercise__header,
  .translation-essay__header,
  .form-word__header,
  .user--class-exercise-header,
  .exercise-description,
  .instructions
) {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--exercise-copy) !important;
  font-size: 1rem !important;
  font-weight: 520 !important;
  line-height: 1.55 !important;
  text-align: left !important;
  box-shadow: none !important;
}

.exercise-runtime-shell :where(
  .exercise-content,
  .match-exercise__content,
  .translation-essay__content,
  .word-container,
  .sequence-exercise,
  .matching-container,
  .columns-container,
  .sentences-container,
  .shadowing-section,
  .listening-phase,
  .recording-phase,
  .playback-phase,
  .completed-phase
) {
  min-width: 0 !important;
  margin: 0 !important;
}

.exercise-runtime-shell :where(
  .question-card,
  .match-card,
  .source-text,
  .essay-prompt,
  .requirements,
  .answer-section,
  .answer-zone,
  .scrambled-zone,
  .available-words,
  .column,
  .sentence-item,
  .exercise-answer-block-multiple,
  .audio-container,
  .recording-section,
  .playback-section,
  .completion-message,
  .maestro-attempt
) {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 14px !important;
  background: var(--exercise-surface) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell :where(
  .question-text,
  .match-card__text,
  .sentence-text,
  .sequence-text,
  .text-content,
  .prompt__text,
  .transcript-content
) {
  color: var(--exercise-ink) !important;
  font-size: 0.98rem !important;
  font-weight: 560 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}

.exercise-runtime-shell :where(
  .multi-answer-hint,
  .section-label,
  .zone-label,
  .options__heading,
  .upload__heading,
  .attachment__heading,
  .prompt__heading,
  .column-header,
  .label
) {
  margin: 0 !important;
  color: var(--exercise-muted) !important;
  font-size: 0.76rem !important;
  font-weight: 680 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

.exercise-runtime-shell :where(
  .answer-button,
  .actions__button,
  .primary-button,
  .secondary-button,
  .user--class-generic-button-3,
  .submit-button,
  .continue-button,
  .button,
  .maestro-submit
) {
  min-height: 44px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 10px !important;
  background: var(--exercise-surface) !important;
  color: #41506a !important;
  cursor: pointer !important;
  appearance: none !important;
  font-size: 0.86rem !important;
  font-weight: 680 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

.exercise-runtime-shell :where(
  .primary-button,
  .actions__button--primary,
  .submit-button,
  .continue-button,
  .button-primary,
  .button-success,
  .maestro-submit
) {
  border-color: transparent !important;
  background: var(--exercise-gradient) !important;
  color: #ffffff !important;
}

.exercise-runtime-shell :where(
  .secondary-button,
  .actions__button--secondary,
  .button-secondary,
  .button-outline
) {
  border-color: var(--exercise-border) !important;
  background: #ffffff !important;
  color: #485872 !important;
}

.exercise-runtime-shell .button-danger {
  border-color: #efc8cd !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell button:hover:not(:disabled),
.exercise-runtime-shell [role="button"]:hover:not([aria-disabled="true"]) {
  border-color: #b9c6d8 !important;
  background-color: #f7f9fc !important;
}

.exercise-runtime-shell :where(
  .primary-button,
  .actions__button--primary,
  .submit-button,
  .continue-button,
  .button-primary,
  .button-success,
  .maestro-submit
):hover:not(:disabled) {
  border-color: transparent !important;
  background: var(--exercise-gradient) !important;
  filter: brightness(0.96);
}

.exercise-runtime-shell button:disabled,
.exercise-runtime-shell .button--disabled,
.exercise-runtime-shell .user--button-clicked,
.exercise-runtime-shell .inactive {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.exercise-runtime-shell :where(
  .action-buttons,
  .match-exercise__actions,
  .translation-essay__actions,
  .form-word__actions,
  .sorting-columns-exercise__actions,
  .user--class-exercise-buttons-wrap,
  .maestro-actions,
  .submit-section
) {
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  border-top: 1px solid var(--exercise-border-soft) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell :where(
  .submitted-icon,
  .actions__submitted-icon,
  .completion-hint,
  .mobile-status
) {
  min-height: 40px !important;
  margin-right: auto !important;
  padding: 8px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
  box-shadow: none !important;
  font-size: 0.78rem !important;
  font-weight: 650 !important;
}

.exercise-runtime-shell :where(
  .hint-container,
  .match-exercise__hint,
  .translation-essay__hint,
  .form-word__hint,
  .user--exercise-hint-mini
) {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 12px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  border: 1px solid #eadfae !important;
  border-radius: 10px !important;
  background: var(--exercise-warning-soft) !important;
  color: #684d08 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell :where(.hint-icon, .hint__icon) {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden;
  font-size: 0 !important;
}

.exercise-runtime-shell :where(.hint-icon, .hint__icon) svg {
  width: 18px !important;
  height: 18px !important;
}

.exercise-runtime-shell :where(.hint-text, .hint__text) {
  color: inherit !important;
  font-size: 0.82rem !important;
  font-weight: 520 !important;
  line-height: 1.5 !important;
}

.exercise-runtime-shell :where(input, textarea, select, .match-card__input) {
  min-height: 44px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--exercise-ink) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell textarea {
  min-height: 150px !important;
  padding: 14px !important;
  line-height: 1.55 !important;
  resize: vertical;
}

.exercise-runtime-shell input,
.exercise-runtime-shell select {
  padding: 0 12px !important;
}

.exercise-runtime-shell :where(input, textarea, select):focus {
  border-color: #8fa2c9 !important;
}

/* Choice exercises */
.exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .exercise-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .question-card {
  display: grid !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .answer-options {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

.exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .answer-options.vertical-layout {
  grid-template-columns: 1fr !important;
}

.exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .answer-button {
  width: 100% !important;
  min-height: 46px !important;
  justify-content: flex-start !important;
  text-align: left !important;
  white-space: normal !important;
}

.exercise-runtime-shell .answer-button.selected:not(.correct):not(.incorrect) {
  border-color: #9eadd0 !important;
  background: var(--exercise-selected) !important;
  color: var(--exercise-brand-start) !important;
}

.exercise-runtime-shell .answer-result-label {
  margin-left: auto !important;
  color: inherit !important;
  font-size: 0.68rem !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
}

.exercise-runtime-shell .exercise-completion-status {
  margin-right: auto !important;
  color: var(--exercise-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

.exercise-runtime-shell :where(.answer-button.correct, .teacher-correct) {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell :where(.answer-button.incorrect, .teacher-incorrect) {
  border-color: #edc1c7 !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell .teacher-highlight {
  outline: 3px solid rgba(82, 114, 178, 0.18) !important;
  outline-offset: 2px !important;
}

/* Matching and table-entry exercises */
.exercise-runtime-shell :where(.match-exercise__content, .match-exercise__items) {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.exercise-runtime-shell .match-exercise__options {
  margin: 0 !important;
  padding: 0 0 16px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .options__grid {
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.exercise-runtime-shell .options__item {
  min-height: 30px !important;
  padding: 5px 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #4b5870 !important;
  font-size: 0.78rem !important;
  font-weight: 520 !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .options__item.coloured {
  border-color: var(--exercise-border-soft) !important;
  background: var(--exercise-surface-soft) !important;
  color: #98a2b3 !important;
  opacity: 0.68 !important;
}

.exercise-runtime-shell .match-exercise__items {
  border-top: 1px solid var(--exercise-border-soft) !important;
}

.exercise-runtime-shell .match-card {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) minmax(220px, 0.72fr) !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--exercise-border-soft) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .match-card__badge {
  position: static !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8b95a7 !important;
  font-size: 0.72rem !important;
  font-weight: 620 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .match-card__content {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.exercise-runtime-shell .match-card__image-container {
  position: relative !important;
  width: 80px !important;
  height: 60px !important;
  flex: 0 0 80px !important;
  padding: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--exercise-surface-soft) !important;
}

.exercise-runtime-shell :where(.match-card__image, .image-card__img) {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 6px !important;
}

.exercise-runtime-shell .match-card__text {
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  text-align: left !important;
}

.exercise-runtime-shell .match-card__input-wrapper,
.exercise-runtime-shell .match-card__input-area {
  position: relative !important;
  min-width: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.exercise-runtime-shell .match-card__input {
  width: 100% !important;
  min-height: 42px !important;
  padding: 9px 38px 9px 12px !important;
  border-radius: 9px !important;
  text-align: left !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .match-card__input:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

.exercise-runtime-shell .match-card__input--correct {
  border-color: #a9d5bd !important;
  background: var(--exercise-success-soft) !important;
}

.exercise-runtime-shell .match-card__input--incorrect {
  border-color: #e8b9c0 !important;
  background: var(--exercise-danger-soft) !important;
}

.exercise-runtime-shell :where(.attachment__error, .error-message, .maestro-error) {
  margin-top: 7px !important;
  color: var(--exercise-danger) !important;
  font-size: 0.74rem !important;
  font-weight: 620 !important;
}

.exercise-runtime-shell .match-card__feedback {
  position: absolute !important;
  top: 50% !important;
  right: 11px !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  color: var(--exercise-danger) !important;
  font-size: 0.74rem !important;
  font-weight: 620 !important;
}

.exercise-runtime-shell :where(.match-card__feedback--correct, .match-card__feedback.correct) {
  color: var(--exercise-success) !important;
}

/* Image or PDF response */
.exercise-runtime-shell[data-exercise-type="image"] .match-exercise__content {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr) !important;
  align-items: start !important;
  gap: 16px !important;
}

.exercise-runtime-shell .match-exercise__images {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 12px !important;
}

.exercise-runtime-shell .image-card {
  min-height: 220px !important;
  padding: 10px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 12px !important;
  background: var(--exercise-surface-soft) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .image-card__loader {
  min-height: 180px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--exercise-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

.exercise-runtime-shell .image-card__img.is-loading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.exercise-runtime-shell .match-exercise__upload,
.exercise-runtime-shell .match-exercise__attachment {
  padding: 16px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .upload__label {
  min-height: 120px !important;
  margin-top: 10px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border: 1px dashed #b9c5d6 !important;
  border-radius: 10px !important;
  background: var(--exercise-surface-soft) !important;
  color: #53617a !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.exercise-runtime-shell .upload__icon {
  width: 24px !important;
  height: 24px !important;
  color: #5272b2 !important;
}

/* Translation and essay */
.exercise-runtime-shell .translation-essay__content {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.72fr) minmax(0, 1.28fr) !important;
  gap: 14px !important;
}

.exercise-runtime-shell :where(.source-text, .essay-prompt, .requirements) {
  grid-column: 1 !important;
}

.exercise-runtime-shell .source-text,
.exercise-runtime-shell .requirements,
.exercise-runtime-shell .answer-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.exercise-runtime-shell .section-label {
  position: static !important;
  inset: auto !important;
  width: fit-content !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .source-text .text-content,
.exercise-runtime-shell .answer-section .answer-textarea {
  margin: 0 !important;
  padding-top: 0 !important;
}

.exercise-runtime-shell .answer-section {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.exercise-runtime-shell .answer-textarea {
  width: 100% !important;
  min-height: 250px !important;
  flex: 1 !important;
}

.exercise-runtime-shell .requirements-content,
.exercise-runtime-shell .requirement-item,
.exercise-runtime-shell .word-counter {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.exercise-runtime-shell .requirements-content {
  align-items: flex-start !important;
  flex-direction: column !important;
  margin-top: 8px !important;
}

.exercise-runtime-shell .keywords-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.exercise-runtime-shell .keyword-tag {
  padding: 5px 8px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #53617a !important;
  font-size: 0.72rem !important;
}

.exercise-runtime-shell .keyword-tag.used {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

/* Word construction and fill gaps */
.exercise-runtime-shell .word-navigation {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.exercise-runtime-shell .nav-button,
.exercise-runtime-shell .move-button {
  width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #53617a !important;
}

.exercise-runtime-shell .word-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px !important;
}

.exercise-runtime-shell .answer-zone,
.exercise-runtime-shell .scrambled-zone {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .answer-zone,
.exercise-runtime-shell[data-exercise-type="form_word"] .scrambled-zone {
  min-height: 132px !important;
  padding: 16px !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .answer-zone {
  border-color: #d6dfec !important;
  background: #f8faff !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .scrambled-zone {
  background: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .zone-label {
  position: static !important;
  inset: auto !important;
  width: fit-content !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell :where(.placeholders-container, .letters-container) {
  display: flex !important;
  align-items: center !important;
  align-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] :where(.placeholders-container, .letters-container) {
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

.exercise-runtime-shell :where(.letter-placeholder, .letter-chip, .word-item) {
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--exercise-copy) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] :where(.letter-placeholder, .letter-chip) {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .letter-placeholder:not(.filled) {
  border-style: dashed !important;
  background: transparent !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .letter-placeholder.filled {
  border-color: #bdc9db !important;
  background: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .letter-placeholder.empty {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.exercise-runtime-shell[data-exercise-type="form_word"] .letter-chip {
  border-color: #d3dce9 !important;
  background: #f7f9fc !important;
  color: var(--exercise-ink) !important;
}

.exercise-runtime-shell :where(.letter-placeholder.correct, .word-item.correct) {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell :where(.letter-placeholder.incorrect, .word-item.incorrect) {
  border-color: #edc1c7 !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

/* Sorting */
.exercise-runtime-shell .columns-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.exercise-runtime-shell .available-words {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.exercise-runtime-shell .columns-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
  gap: 12px !important;
}

.exercise-runtime-shell .column {
  padding: 0 !important;
  overflow: hidden !important;
}

.exercise-runtime-shell .column-header {
  min-height: 46px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid var(--exercise-border-soft) !important;
  background: var(--exercise-surface-soft) !important;
  color: var(--exercise-ink) !important;
}

.exercise-runtime-shell .column-content {
  min-height: 140px !important;
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.exercise-runtime-shell :where(.placeholder-container, .word-placeholder) {
  min-height: 44px !important;
  border: 1px dashed #c5cfdd !important;
  border-radius: 9px !important;
  background: #fbfcfe !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] {
  gap: 16px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] > .user--class-exercise-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--exercise-copy) !important;
  font-size: 1rem !important;
  font-weight: 520 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .sorting-columns-exercise,
.exercise-runtime-shell[data-exercise-type="sorting_columns"] .columns-container {
  gap: 14px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .available-words {
  min-height: 0 !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 12px !important;
  background: var(--exercise-surface-soft) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-header {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-header > div {
  min-width: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 5px 9px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-label {
  color: var(--exercise-ink) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-status {
  color: var(--exercise-muted) !important;
  font-size: 0.74rem !important;
  font-weight: 520 !important;
  line-height: 1.35 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .sorting-progress {
  min-width: 50px !important;
  min-height: 28px !important;
  padding: 4px 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #53617a !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  line-height: 1 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-list {
  width: 100% !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  align-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-empty {
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  color: var(--exercise-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 520 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item {
  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 8px 12px !important;
  justify-content: flex-start !important;
  border: 1px solid #d5ddea !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: var(--exercise-copy) !important;
  font-size: 0.88rem !important;
  font-weight: 560 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item:hover:not(:disabled) {
  border-color: #b8c4d6 !important;
  background: #fbfcfe !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item.selected {
  border-color: #7389b7 !important;
  background: var(--exercise-selected) !important;
  color: var(--exercise-brand-start) !important;
  outline: 2px solid rgba(82, 114, 178, 0.15) !important;
  outline-offset: 1px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .columns-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .column {
  min-width: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .column-header {
  min-height: 48px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--exercise-border-soft) !important;
  border-radius: 0 !important;
  background: #fafbfc !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .column-header strong {
  min-width: 0 !important;
  color: var(--exercise-ink) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .column-header > span {
  min-width: 38px !important;
  min-height: 24px !important;
  padding: 3px 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: var(--exercise-muted) !important;
  font-size: 0.68rem !important;
  font-weight: 650 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .column-content {
  min-height: 116px !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-container {
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 5px 7px !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 7px !important;
  border: 1px dashed #c8d1df !important;
  border-radius: 8px !important;
  background: #fbfcfe !important;
  color: var(--exercise-muted) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] button.placeholder-container {
  cursor: pointer !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-container.is-empty:hover:not(:disabled),
.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-container.is-empty.active {
  border-color: #91a3c4 !important;
  background: var(--exercise-selected) !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-container.is-filled {
  border-style: solid !important;
  border-color: var(--exercise-border-soft) !important;
  background: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-index {
  width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  background: #eef1f6 !important;
  color: #6c788b !important;
  font-size: 0.66rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-hint {
  color: #8994a6 !important;
  font-size: 0.76rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-block-container {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item.placed {
  width: 100% !important;
  min-height: 32px !important;
  padding: 5px 8px !important;
  border-color: transparent !important;
  border-radius: 7px !important;
  background: #f4f6f9 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item.correct {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item.incorrect {
  border-color: #edc1c7 !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .teacher-status-indicator {
  position: static !important;
  margin: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .status-badge {
  width: fit-content !important;
  min-height: 24px !important;
  padding: 3px 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  font-size: 0.66rem !important;
  font-weight: 620 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .correct-badge {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .incorrect-badge {
  border-color: #edc1c7 !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .placeholder-container.teacher-highlight {
  border-color: #7d93bd !important;
  outline: 3px solid rgba(82, 114, 178, 0.16) !important;
  outline-offset: 1px !important;
}

.exercise-runtime-shell[data-exercise-type="sorting_columns"] .sorting-columns-exercise__actions {
  margin: 2px 0 0 !important;
}

@container (max-width: 700px) {
  .exercise-runtime-shell[data-exercise-type="sorting_columns"] .columns-grid {
    grid-template-columns: 1fr !important;
  }
}

@container (max-width: 460px) {
  .exercise-runtime-shell[data-exercise-type="sorting_columns"] .available-words {
    padding: 12px !important;
  }

  .exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-bank-header {
    align-items: flex-start !important;
  }

  .exercise-runtime-shell[data-exercise-type="sorting_columns"] .word-item {
    min-height: 40px !important;
    padding: 7px 10px !important;
  }
}

/* Sentence ordering */
.exercise-runtime-shell[data-exercise-type="sentence_order"] {
  gap: 14px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] > .user--class-exercise-header:empty {
  display: none !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-order-exercise {
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-workspace {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 12px !important;
  background: var(--exercise-surface-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-toolbar {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-toolbar__copy {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-toolbar__copy strong {
  color: var(--exercise-ink) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-toolbar__copy span {
  color: var(--exercise-muted) !important;
  font-size: 0.7rem !important;
  line-height: 1.35 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-count {
  min-width: 30px !important;
  min-height: 26px !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 7px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #536078 !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentences-container {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;
  display: grid !important;
  grid-template-columns: 24px 28px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  cursor: grab !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.drag-over {
  border-color: #8798bc !important;
  background: var(--exercise-selected) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.correct,
.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.incorrect {
  grid-template-columns: 28px minmax(0, 1fr) 30px !important;
  cursor: default !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.correct {
  border-color: #b8dfcb !important;
  background: var(--exercise-success-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.incorrect {
  border-color: #efc7cc !important;
  background: var(--exercise-danger-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.teacher-highlight {
  border-color: #8193b8 !important;
  outline: 3px solid rgba(82, 114, 178, 0.16) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-number {
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: var(--exercise-surface-soft) !important;
  color: #59677f !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-text {
  min-width: 0 !important;
  padding: 0 !important;
  color: var(--exercise-ink) !important;
  font-size: 0.9rem !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .move-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 6px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: #637089 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .move-button svg {
  width: 100% !important;
  height: 100% !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .drag-handle {
  width: 24px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  color: #8490a2 !important;
  cursor: grab !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .drag-handle svg {
  width: 18px !important;
  height: 18px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .position-status {
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .position-status.is-correct {
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .position-status svg {
  width: 16px !important;
  height: 16px !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-result {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  border: 1px solid #efc7cc !important;
  border-radius: 9px !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-result.is-correct {
  border-color: #b8dfcb !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-result strong {
  font-size: 0.75rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="sentence_order"] .order-result span {
  flex: 0 0 auto !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

@container (max-width: 520px) {
  .exercise-runtime-shell[data-exercise-type="sentence_order"] .order-toolbar {
    align-items: flex-start !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item {
    grid-template-columns: 20px 26px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    padding: 8px !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.correct,
  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item.incorrect {
    grid-template-columns: 26px minmax(0, 1fr) 28px !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-actions {
    flex-direction: column !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .move-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }
}

/* Fill-the-gap sequence */
.exercise-runtime-shell[data-exercise-type="sequence"] {
  gap: 14px !important;
}

.exercise-runtime-shell .sequence-exercise {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .exercise-answer-block-multiple {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-content: center !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .user--exercise-block-wrapper {
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .sequence-text {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  color: var(--exercise-ink) !important;
  font-size: 1rem !important;
  font-weight: 520 !important;
  line-height: 1.55 !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-placeholder {
  position: relative !important;
  display: inline-flex !important;
  min-width: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select {
  min-width: 116px !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 9px 0 11px !important;
  gap: 8px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--exercise-ink) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select:hover:not(:disabled) {
  border-color: #c8d0dc !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select:focus-visible {
  border-color: #5272b2 !important;
  outline: 2px solid rgba(82, 114, 178, 0.18) !important;
  outline-offset: 1px !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-value {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.94rem !important;
  font-weight: 520 !important;
  line-height: 1.2 !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-icon {
  margin: 0 !important;
  color: #667085 !important;
  font-size: 0.82rem !important;
  line-height: 1 !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-menu {
  top: calc(100% + 6px) !important;
  min-width: 100% !important;
  padding: 6px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-option {
  min-height: 36px !important;
  padding: 7px 9px !important;
  border-radius: 6px !important;
  color: var(--exercise-copy) !important;
}

.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-option:hover,
.exercise-runtime-shell[data-exercise-type="sequence"] .gap-select-option.active {
  background: var(--exercise-selected) !important;
  color: var(--exercise-brand-start) !important;
}

/* Pair connection */
.exercise-runtime-shell[data-exercise-type="particle"] .particle-exercise {
  position: relative !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-guide {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--exercise-border-soft) !important;
  color: var(--exercise-muted) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-guide__copy {
  max-width: 680px !important;
  font-size: 0.84rem !important;
  font-weight: 520 !important;
  line-height: 1.5 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-progress {
  min-height: 30px !important;
  padding: 5px 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex: 0 0 auto !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--exercise-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-progress span:first-child {
  color: var(--exercise-ink) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection {
  width: 100% !important;
  min-height: 60px !important;
  padding: 10px 12px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid #cbd5e5 !important;
  border-radius: 10px !important;
  background: var(--exercise-selected) !important;
  color: var(--exercise-copy) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__index {
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--exercise-brand-start) !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__body {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: baseline !important;
  gap: 2px 10px !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__label,
.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__instruction {
  color: var(--exercise-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 560 !important;
  line-height: 1.35 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__instruction {
  grid-column: 2 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__content {
  min-width: 0 !important;
  color: var(--exercise-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .cancel-selection,
.exercise-runtime-shell[data-exercise-type="particle"] .disconnect-button {
  position: static !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #667085 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] :where(.cancel-selection, .disconnect-button):hover {
  border-color: #e2b7bd !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .matching-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 16px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .matching-container .column {
  min-width: 0 !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pair-column-header {
  min-height: 28px !important;
  padding: 0 2px 4px !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: var(--exercise-ink) !important;
  font-size: 0.78rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .left-column .pair-column-header {
  padding-right: 42px !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .pair-column-header span:last-child {
  color: var(--exercise-muted) !important;
  font-size: 0.7rem !important;
  font-weight: 520 !important;
  text-align: right !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block-wrap {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 32px !important;
  align-items: center !important;
  gap: 8px !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  padding: 10px 12px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--exercise-copy) !important;
  font: inherit !important;
  text-align: left !important;
  appearance: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transform: none !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block:hover:not(:disabled) {
  border-color: #c1cada !important;
  background: #fbfcfe !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .right-column .match-block:disabled:not(.connected) {
  background: var(--exercise-surface-soft) !important;
  color: #7f899b !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block-number {
  position: static !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--exercise-surface-soft) !important;
  color: #667085 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block-content {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: auto !important;
  color: var(--exercise-ink) !important;
  font-size: 0.92rem !important;
  font-weight: 540 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block-pair {
  min-width: 28px !important;
  height: 26px !important;
  padding: 0 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  background: #e9eefb !important;
  color: var(--exercise-brand-start) !important;
  font-size: 0.72rem !important;
  font-weight: 720 !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.connected {
  border-color: #d2d9e5 !important;
  background: #fbfcfe !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.selected,
.exercise-runtime-shell[data-exercise-type="particle"] .match-block.current-match {
  border-color: #8ea0c6 !important;
  background: var(--exercise-selected) !important;
  color: var(--exercise-brand-start) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.selected .match-block-number,
.exercise-runtime-shell[data-exercise-type="particle"] .match-block.current-match .match-block-number {
  background: #ffffff !important;
  color: var(--exercise-brand-start) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.can-connect {
  border-color: #bac6dc !important;
  background: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.will-reassign {
  border-color: #d9cfac !important;
  background: var(--exercise-warning-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.correct,
.exercise-runtime-shell[data-exercise-type="particle"] .match-block.teacher-correct {
  border-color: #acd9bf !important;
  background: var(--exercise-success-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .match-block.incorrect,
.exercise-runtime-shell[data-exercise-type="particle"] .match-block.teacher-incorrect {
  border-color: #edc1c7 !important;
  background: var(--exercise-danger-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="particle"] .connections-layer {
  display: none !important;
}

@container (max-width: 680px) {
  .exercise-runtime-shell[data-exercise-type="particle"] .pairing-guide {
    align-items: flex-start !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__body {
    grid-template-columns: 1fr !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection__instruction {
    grid-column: 1 !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .matching-container {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .matching-container:not(.has-selection) .right-column {
    display: none !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .matching-container.has-selection .left-column {
    display: none !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pair-column-header {
    min-height: 28px !important;
  }
}

@container (max-width: 420px) {
  .exercise-runtime-shell[data-exercise-type="particle"] .pairing-guide {
    flex-direction: column !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pairing-selection {
    grid-template-columns: 28px minmax(0, 1fr) 32px !important;
    padding: 9px !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pair-column-header {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .exercise-runtime-shell[data-exercise-type="particle"] .pair-column-header span:last-child {
    text-align: left !important;
  }
}

/* Listening and pronunciation */
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] {
  gap: 14px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .listening-pronunciation-container {
  gap: 12px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .exercise-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .exercise-header h2 {
  margin: 0 !important;
  color: var(--exercise-ink) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .instructions p {
  margin: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps {
  width: 100% !important;
  min-width: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps ol {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li {
  min-width: 0 !important;
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 9px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #7b879b !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li > span {
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--exercise-border) !important;
  border-radius: 7px !important;
  background: var(--exercise-surface-soft) !important;
  color: #68758b !important;
  font-size: 0.64rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li > div {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps strong,
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps strong {
  font-size: 0.68rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps small {
  color: #8c97a9 !important;
  font-size: 0.56rem !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li.is-current {
  border-color: #a8b4ca !important;
  background: var(--exercise-selected) !important;
  color: #26355c !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li.is-current > span {
  border-color: #5272b2 !important;
  background: #5272b2 !important;
  color: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li.is-complete > span {
  border-color: #b8dfcb !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] :where(
  .shadowing-section,
  .listening-phase,
  .recording-phase,
  .playback-phase,
  .completed-phase
) {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] :where(.shadowing-section, .recording-section, .playback-section, .completion-message) {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 12px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 9px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading > span {
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 7px !important;
  background: var(--exercise-selected) !important;
  color: #52668e !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading > div {
  min-width: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading h3,
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading p {
  margin: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading h3 {
  color: var(--exercise-ink) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-heading p {
  margin-top: 3px !important;
  color: var(--exercise-muted) !important;
  font-size: 0.67rem !important;
  line-height: 1.4 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .audio-container {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .audio-container.has-transcript {
  grid-template-columns: minmax(0, 1.15fr) minmax(180px, 0.85fr) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] :where(.audio-player-container, .recording-player-container) {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 9px !important;
  background: var(--exercise-surface-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .transcript-section {
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .transcript-section h4 {
  margin: 0 0 6px !important;
  color: #536078 !important;
  font-size: 0.65rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .transcript-content {
  color: var(--exercise-copy) !important;
  font-size: 0.76rem !important;
  font-weight: 470 !important;
  line-height: 1.5 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-display {
  min-height: 104px !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 10px !important;
  background: var(--exercise-surface-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-visualizer {
  width: 54px !important;
  height: 54px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #efc8cd !important;
  border-radius: 50% !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .mic-icon-large {
  width: 24px !important;
  height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .mic-icon-large svg {
  width: 100% !important;
  height: 100% !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-info {
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-meta {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-meta .timer {
  margin: 0 !important;
  color: var(--exercise-ink) !important;
  font-size: 1rem !important;
  font-weight: 720 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-meta span,
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .status {
  color: var(--exercise-muted) !important;
  font-size: 0.66rem !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-meter {
  width: 100% !important;
  height: 5px !important;
  margin: 8px 0 !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e5e9f0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-meter > span {
  height: 100% !important;
  display: block !important;
  border-radius: inherit !important;
  background: #d64b57 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] :where(.phase-actions, .recording-controls, .recording-actions) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .phase-actions {
  margin: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-preview {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 10px !important;
  background: var(--exercise-surface-soft) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-duration {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-duration .label {
  color: #536078 !important;
  font-size: 0.68rem !important;
  font-weight: 680 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-duration .duration {
  padding: 4px 7px !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  color: #536078 !important;
  font-size: 0.66rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .upload-status {
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 9px !important;
  padding: 7px 8px !important;
  border: 1px solid #efc7cc !important;
  border-radius: 8px !important;
  background: var(--exercise-danger-soft) !important;
  color: var(--exercise-danger) !important;
  font-size: 0.65rem !important;
  font-weight: 650 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .upload-status.is-ready {
  border-color: #b8dfcb !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .upload-status .button {
  min-height: 32px !important;
  padding: 0 9px !important;
  font-size: 0.62rem !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .submit-section {
  min-height: 54px !important;
  padding-top: 10px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-message {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .success-icon {
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 9px !important;
  background: var(--exercise-success-soft) !important;
  color: var(--exercise-success) !important;
  box-shadow: none !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .success-icon svg {
  width: 19px !important;
  height: 19px !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-copy {
  min-width: 0 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-copy h3,
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-copy p {
  margin: 0 !important;
  text-align: left !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-copy h3 {
  color: var(--exercise-ink) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-copy p {
  margin-top: 3px !important;
  color: var(--exercise-muted) !important;
  font-size: 0.64rem !important;
  line-height: 1.4 !important;
}

.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] audio,
.exercise-runtime-shell[data-exercise-type="listening_pronunciation"] video {
  width: 100% !important;
  max-width: 100% !important;
}

@container (max-width: 660px) {
  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps ol {
    grid-template-columns: 1fr !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .pronunciation-steps li {
    min-height: 42px !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .audio-container.has-transcript {
    grid-template-columns: 1fr !important;
  }
}

@container (max-width: 480px) {
  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-display {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    padding: 10px !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .recording-visualizer {
    width: 44px !important;
    height: 44px !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-message {
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .completion-message .continue-button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  .exercise-runtime-shell[data-exercise-type="listening_pronunciation"] .upload-status {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

/* Tone analysis */
.exercise-runtime-shell .maestro-attempt {
  gap: 14px !important;
}

.exercise-runtime-shell .maestro-actions {
  justify-content: flex-end !important;
}

/* Parent attachments */
.exercise-runtime-shell :where(.video-js.custom-modifications, .pdf-container) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 1px solid var(--exercise-border-soft) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #0b0d12 !important;
  box-shadow: none !important;
}

.exercise-runtime-shell .video-js.custom-modifications .vjs-big-play-button {
  width: 58px !important;
  height: 58px !important;
  margin-top: -29px !important;
  margin-left: -29px !important;
  border-radius: 50% !important;
  background: rgba(26, 35, 126, 0.92) !important;
  line-height: 58px !important;
  transform: none !important;
}

/* Constructor previews use a narrow fixed rail even on wide viewports. */
[aria-label="Предпросмотр задания"] .exercise-runtime-shell :where(
  .match-exercise__content,
  .translation-essay__content,
  .word-container,
  .matching-container,
  .audio-container
) {
  grid-template-columns: 1fr !important;
}

[aria-label="Предпросмотр задания"] .exercise-runtime-shell :where(
  .source-text,
  .essay-prompt,
  .requirements,
  .answer-section
) {
  grid-column: 1 !important;
  grid-row: auto !important;
}

[aria-label="Предпросмотр задания"] .exercise-runtime-shell .connections-layer {
  display: none !important;
}

@container (max-width: 760px) {
  .exercise-runtime-shell[data-exercise-type="image"] .match-exercise__content,
  .exercise-runtime-shell .translation-essay__content,
  .exercise-runtime-shell .word-container,
  .exercise-runtime-shell .audio-container {
    grid-template-columns: 1fr !important;
  }

  .exercise-runtime-shell .source-text,
  .exercise-runtime-shell .essay-prompt,
  .exercise-runtime-shell .requirements,
  .exercise-runtime-shell .answer-section {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .exercise-runtime-shell .match-card {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }

  .exercise-runtime-shell :where(.match-card__input-wrapper, .match-card__input-area) {
    grid-column: 2 !important;
  }

  .exercise-runtime-shell .matching-container {
    gap: 28px !important;
  }
}

/* Viewport fallback for browsers and embedded previews that do not resolve
   the unnamed exercise container query reliably. */
@media (max-width: 768px) {
  .exercise-runtime-shell .translation-essay__content {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .exercise-runtime-shell .source-text,
  .exercise-runtime-shell .essay-prompt,
  .exercise-runtime-shell .requirements,
  .exercise-runtime-shell .answer-section {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

@container (max-width: 520px) {
  .exercise-runtime-shell {
    gap: 16px !important;
  }

  .exercise-runtime-shell .match-exercise__options {
    grid-template-columns: 1fr !important;
  }

  .exercise-runtime-shell > .user--class-exercise-main-header {
    font-size: 1.38rem !important;
  }

  .exercise-runtime-shell[data-exercise-type="multiplechoice_multiple"] .answer-options {
    grid-template-columns: 1fr !important;
  }

  .exercise-runtime-shell .matching-container {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .exercise-runtime-shell .connections-layer {
    display: none !important;
  }

  .exercise-runtime-shell .match-card {
    grid-template-columns: 28px minmax(0, 1fr) !important;
  }

  .exercise-runtime-shell .match-card__badge {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .exercise-runtime-shell .match-card__content {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .exercise-runtime-shell :where(.match-card__input-wrapper, .match-card__input-area) {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .exercise-runtime-shell .match-card__content {
    align-items: center !important;
    flex-direction: row !important;
  }

  .exercise-runtime-shell .match-card__image-container {
    width: 72px !important;
    height: 56px !important;
    flex-basis: 72px !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-item {
    grid-template-columns: 20px 26px minmax(0, 1fr) 36px !important;
  }

  .exercise-runtime-shell[data-exercise-type="sentence_order"] .sentence-actions,
  .exercise-runtime-shell[data-exercise-type="sentence_order"] .drag-handle {
    grid-column: auto !important;
  }

  .exercise-runtime-shell :where(
    .action-buttons,
    .match-exercise__actions,
    .translation-essay__actions,
    .form-word__actions,
    .sorting-columns-exercise__actions,
    .user--class-exercise-buttons-wrap,
    .maestro-actions,
    .submit-section
  ) {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .exercise-runtime-shell :where(
    .action-buttons,
    .match-exercise__actions,
    .translation-essay__actions,
    .form-word__actions,
    .sorting-columns-exercise__actions,
    .user--class-exercise-buttons-wrap,
    .maestro-actions,
    .submit-section
  ) button {
    width: 100% !important;
  }

  .exercise-runtime-shell :where(.submitted-icon, .actions__submitted-icon, .completion-hint) {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .exercise-runtime-shell * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

