.lib-column {
  display: flex;
  gap: var(--lib-column-gap);
}
.lib-column.lib-column-row {
  flex-direction: column;
}
.lib-column.align-start {
  align-items: start;
}
.lib-column.align-end {
  align-items: end;
}
.lib-column.align-center {
  align-items: center;
}
.lib-column > .lib-column-middle {
  flex: auto;
  min-width: 0;
  min-height: 0;
  position: relative;
}
.lib-av-grid {
  display: grid;
  position: relative;
}
.lib-av-grid.align-start {
  align-items: start;
}
.lib-av-grid.align-end {
  align-items: end;
}
.lib-av-grid.align-center {
  align-items: center;
}
.lib-av-grid > * {
  min-width: 0;
}
.agile-scrollbar {
  position: relative;
}
.agile-scrollbar.not-user-select {
  user-select: none;
}
.agile-scrollbar.scrollbar-hide > .agile-scroll-bar-x,
.agile-scrollbar.scrollbar-hide > .agile-scroll-bar-y {
  display: none;
}
.agile-scrollbar.scrollbar-hover > .agile-scroll-bar-x,
.agile-scrollbar.scrollbar-hover > .agile-scroll-bar-y {
  opacity: 0;
}
.agile-scrollbar.scrollbar-hover:hover > .agile-scroll-bar-x,
.agile-scrollbar.scrollbar-hover:hover > .agile-scroll-bar-y {
  opacity: 1;
}
.agile-scrollbar .agile-scroll {
  overflow: hidden;
  height: 100%;
  position: relative;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.agile-scrollbar .agile-scroll.scroll-x {
  overflow-x: auto;
}
.agile-scrollbar .agile-scroll.scroll-y {
  overflow-y: auto;
}
.agile-scrollbar .agile-scroll::-webkit-scrollbar {
  display: none;
}
.agile-scrollbar .agile-scroll-bar-x,
.agile-scrollbar .agile-scroll-bar-y {
  position: absolute;
  background-color: #ddd;
  border-radius: 6px;
  cursor: pointer;
  z-index: 10;
}
.agile-scrollbar .agile-scroll-bar-x.act,
.agile-scrollbar .agile-scroll-bar-y.act {
  opacity: 1;
}
.agile-scrollbar .agile-scroll-bar-x:hover,
.agile-scrollbar .agile-scroll-bar-y:hover,
.agile-scrollbar .agile-scroll-bar-x.act,
.agile-scrollbar .agile-scroll-bar-y.act {
  background-color: #bbb;
}
.agile-scrollbar .agile-scroll-bar-x {
  bottom: 0;
  width: 100px;
  left: 0;
  height: 6px;
  transition: height 0.3s, background-color 0.5s, opacity 0.3s;
}
.agile-scrollbar .agile-scroll-bar-x:hover,
.agile-scrollbar .agile-scroll-bar-x.act {
  height: 10px;
}
.agile-scrollbar .agile-scroll-bar-y {
  position: absolute;
  right: 0;
  top: 0;
  width: 6px;
  height: 100px;
  transition: width 0.3s, background-color 0.5s, opacity 0.3s;
}
.agile-scrollbar .agile-scroll-bar-y:hover,
.agile-scrollbar .agile-scroll-bar-y.act {
  width: 10px;
}
.lib-color-picker {
  background: #1d2024;
  width: 200px;
}
.lib-color-picker.light {
  background: #f7f8f9;
}
.lib-color-picker.light .color-display .sucker {
  background: #eceef0;
}
.lib-color-picker.light .color-value .name {
  background: #e7e8e9;
}
.lib-color-picker.light .color-value input {
  color: #666;
  background: #eceef0;
}
.lib-color-picker .color-set-area {
  display: flex;
  margin-bottom: 10px;
}
.lib-color-picker .color-set-area .saturation {
  position: relative;
  height: 152px;
  width: 152px;
  overflow: hidden;
}
.lib-color-picker .color-set-area .saturation .slide {
  position: absolute;
  left: 100px;
  top: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.lib-color-picker .color-set-area .hue,
.lib-color-picker .color-set-area .color-alpha {
  width: 16px;
  height: 152px;
  position: relative;
  margin-left: 8px;
}
.lib-color-picker .color-set-area .hue canvas,
.lib-color-picker .color-set-area .color-alpha canvas {
  width: 100%;
  height: 100%;
}
.lib-color-picker .color-set-area .hue .slide,
.lib-color-picker .color-set-area .color-alpha .slide {
  position: absolute;
  left: 0;
  top: 100px;
  width: 100%;
  height: 4px;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.lib-color-picker .color-display {
  margin-bottom: 10px;
}
.lib-color-picker .color-display .show-box {
  height: 30px;
  position: relative;
}
.lib-color-picker .color-display .show-box div {
  height: 100%;
  width: 100%;
}
.lib-color-picker .color-display .sucker {
  width: 30px;
  height: 30px;
  background: #2e333a;
  cursor: pointer;
}
.lib-color-picker .color-display .sucker svg {
  font-size: 1em;
  fill: #9099a4;
  transition: all 0.3s;
}
.lib-color-picker .color-display .sucker svg:hover,
.lib-color-picker .color-display .sucker svg.active {
  fill: #1593ff;
}
.lib-color-picker .color-value {
  padding-bottom: 10px;
}
.lib-color-picker .color-value .name {
  width: 60px;
  height: 30px;
  color: #999;
  background: #252930;
  text-align: center;
  line-height: 30px;
}
.lib-color-picker .color-value input {
  height: 30px;
  min-width: 100px;
  padding: 0 12px;
  border: 0;
  color: #fff;
  background: #2e333a;
  width: 100%;
  outline: none;
}
.lib-color-picker .color-quick-selection .quick-item {
  height: 0;
  padding: 50% 0;
  border-radius: 4px;
  transition: all 0.1s;
  position: relative;
}
.lib-color-picker .color-quick-selection .quick-item:hover {
  transform: scale(1.4);
}
.lib-color-picker .color-quick-selection .quick-item div {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 4px;
}
.lib-color-picker .transparent-bg {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c6QAAACdJREFUKFNjPHP19n8GJGCspYLMZWCkg4L///+juOHstTuobqC9AgCYGinl3vgvfQAAAABJRU5ErkJggg==');
}
.lib-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lib-ellipsis-2,
.lib-ellipsis-3,
.lib-ellipsis-4 {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.lib-ellipsis-3 {
  -webkit-line-clamp: 3;
}
.lib-ellipsis-4 {
  -webkit-line-clamp: 4;
}
#lib-ellipsis-tooltip {
  position: fixed;
  box-shadow: 0px 6px 15px 0px rgba(0, 0, 0, 0.39);
  max-width: 300px;
  padding: 10px;
  border-radius: 4px;
  z-index: 10000;
  background-color: #fff;
  visibility: hidden;
}
.lib-proportion-box {
  width: 100%;
}
.lib-proportion-box .lib-proportion-inner {
  position: relative;
}
.lib-proportion-box .lib-proportion-inner .lib-proportion-content {
  inset: 0;
  position: absolute;
}
.lib-html-code-preview {
  width: 100%;
  height: 100%;
  min-width: 200px;
  min-height: 200px;
  border: 0;
}
.lib-code-editor {
  height: 300px;
  position: relative;
}
.lib-code-editor .lib-code-editor-example {
  height: 100%;
}
.lib-code-editor .lib-code-editor-loading {
  position: absolute;
  inset: 0;
  color: #e1e1e1;
  background-color: #1e1e1e;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lib-html-code-run {
  border-radius: 4px;
  overflow: hidden;
  border: 0.5px solid hsla(0, 0%, 50.2%, 0.4);
  display: flex;
  flex-direction: column;
  height: 600px;
}
.lib-html-code-run-hd {
  display: flex;
  height: 52px;
  align-items: center;
  background-color: #18212d;
}
.lib-html-code-run-hd .hd-left {
  display: flex;
  width: 50%;
  column-gap: 10px;
  padding-left: 20px;
}
.lib-html-code-run-hd .hd-right {
  width: 50%;
  display: flex;
}
.lib-html-code-run-hd .lib-btn-code {
  border-radius: 4px;
  background-color: hsla(0, 0%, 100%, 0.12);
  padding: 5px 10px;
  cursor: pointer;
  color: hsla(0, 0%, 100%, 0.7);
  display: flex;
  column-gap: 5px;
  align-items: center;
}
.lib-html-code-run-hd .lib-btn-code img {
  width: 12px;
}
.lib-html-code-run-hd .lib-btn-code:hover,
.lib-html-code-run-hd .lib-btn-code.act {
  background-color: hsla(0, 0%, 100%, 0.06);
}
.lib-html-code-run-hd .lib-btn-code.act {
  color: hsla(0, 0%, 100%, 0.9);
}
.lib-html-code-run-bd {
  display: flex;
  flex: 1;
}
.lib-html-code-run-bd .code-editor-list {
  width: 50%;
  position: relative;
  height: 100%;
}
.lib-html-code-run-bd .code-editor-list .lib-code-editor {
  height: 100%;
}
.lib-html-code-run-bd .bd-right {
  width: 50%;
  height: 100%;
}
