/*
 * Open Sans
 * https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i&amp;subset=latin-ext
 */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'),
    url('./fonts/open-sans-v15-latin_latin-ext-300.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
    url('./fonts/open-sans-v15-latin_latin-ext-300italic.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
    url('./fonts/open-sans-v15-latin_latin-ext-regular.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), local('OpenSans-Italic'),
    url('./fonts/open-sans-v15-latin_latin-ext-italic.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
    url('./fonts/open-sans-v15-latin_latin-ext-600.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
    url('./fonts/open-sans-v15-latin_latin-ext-600italic.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
    url('./fonts/open-sans-v15-latin_latin-ext-700.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
    url('./fonts/open-sans-v15-latin_latin-ext-700italic.woff') format('woff');
}

/*
 * DejaVu Sans Mono
 */
@font-face {
  font-family: 'DejaVu Sans Mono';
  src: local('DejaVu Sans Mono'), url('./fonts/DejaVuSansMono.ttf');
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  font-weight: bold;
  src: url('./fonts/DejaVuSansMono-Bold.ttf');
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  font-style: oblique;
  font-weight: bold;
  src: url('./fonts/DejaVuSansMono-BoldOblique.ttf');
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  font-style: italic;
  font-weight: bold;
  src: url('./fonts/DejaVuSansMono-BoldOblique.ttf');
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  font-style: italic;
  src: url('./fonts/DejaVuSansMono-Oblique.ttf');
}

@font-face {
  font-family: 'DejaVu Sans Mono';
  font-style: oblique;
  src: url('./fonts/DejaVuSansMono-Oblique.ttf');
}

/*
 * JetBrains Mono
 */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 300;
  src: local('JetBrains Mono Light'),
    url('./fonts/JetBrainsMono-Light.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 300;
  src: local('JetBrains Mono Light Italic'),
    url('./fonts/JetBrainsMono-LightItalic.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  src: local('JetBrains Mono Regular'),
    url('./fonts/JetBrainsMono-Regular.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 300;
  src: local('JetBrains Mono Regular Italic'),
    url('./fonts/JetBrainsMono-Italic.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  src: local('JetBrains Mono Medium'),
    url('./fonts/JetBrainsMono-Medium.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 300;
  src: local('JetBrains Mono Medium Italic'),
    url('./fonts/JetBrainsMono-MediumItalic.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  src: local('JetBrains Mono Bold'),
    url('./fonts/JetBrainsMono-Bold.woff2') format('woff');
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 300;
  src: local('JetBrains Mono Bold Italic'),
    url('./fonts/JetBrainsMono-BoldItalic.woff2') format('woff');
}

#ag-editor-id {
  font-family: 'Open Sans', 'JetBrains Mono', 'Clear Sans', 'Helvetica Neue',
    Fira Code, Monaco, PingFang SC, Hiragino Sans GB, 微软雅黑, Arial,
    sans-serif, Microsoft YaHei, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.2px;
  font-weight: 400;
}

span code,
td code,
th code,
code,
code[class*='language-'],
.CodeMirror,
pre.ag-paragraph {
  font-family: 'JetBrains Mono', 'DejaVu Sans Mono', 'Source Code Pro',
    'Droid Sans Mono', Consolas, monospace;
  font-size: 14px;
}

kbd {
  color: var(--editorColor);
  background: var(--floatBgColor);
  border: 1px solid var(--floatBorderColor);
  border-radius: 4px;
  display: inline-block;
  font-size: 0.8em;
  padding: 0px 5px;
  box-shadow: inset 0 -1px 0 var(--floatBorderColor);
}

@media not print {
  #ag-editor-id {
    max-width: 85%;
    min-width: 400px;
    min-height: 100%;
    margin: 0 auto;
    padding: 20px 35px 100px 35px;
    box-sizing: border-box;
  }

  #ag-editor-id,
  [contenteditable] {
    outline: none;
  }

  .ag-gray {
    color: var(--editorColor30);
    text-decoration: none;
  }

  .ag-header-tight-space {
    margin-left: -0.3em;
  }

  .ag-image-src {
    word-break: break-all;
  }

  .v-modal {
    background: var(--maskColor) !important;
  }

  body > *:first-child {
    margin-top: 0 !important;
  }

  body > *:last-child {
    margin-bottom: 0 !important;
  }

  a {
    color: var(--themeColor);
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    position: relative;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: bold;
    line-height: 1.4;
    cursor: text;
    color: var(--editorColor80);
  }

  h1:hover a.anchor,
  h2:hover a.anchor,
  h3:hover a.anchor,
  h4:hover a.anchor,
  h5:hover a.anchor,
  h6:hover a.anchor {
    /*background: url("../../images/modules/styleguide/para.png") no-repeat 10px center;*/
    text-decoration: none;
  }

  h1 tt,
  h1 code {
    font-size: inherit;
  }

  h2 tt,
  h2 code {
    font-size: inherit;
  }

  h3 tt,
  h3 code {
    font-size: inherit;
  }

  h4 tt,
  h4 code {
    font-size: inherit;
  }

  h5 tt,
  h5 code {
    font-size: inherit;
  }

  h6 tt,
  h6 code {
    font-size: inherit;
  }

  h1 {
    font-size: 30px;
  }

  h2 {
    font-size: 24px;
  }

  h3 {
    font-size: 22px;
  }

  h4 {
    font-size: 20px;
  }

  h5 {
    font-size: 18px;
  }

  h6 {
    font-size: 16px;
  }

  h1 .ag-gray {
    font-size: 21px;
  }

  h2 .ag-gray {
    font-size: 20px;
  }

  h3 .ag-gray {
    font-size: 19px;
  }

  h4 .ag-gray {
    font-size: 18px;
  }

  h5 .ag-gray {
    font-size: 17px;
  }

  h6 .ag-gray {
    font-size: 16px;
  }

  p,
  blockquote,
  ul,
  ol,
  dl,
  table {
    margin: 0.5em 0;
  }

  li > ol,
  li > ul {
    margin: 0 0;
  }

  hr {
    height: 4px;
    padding: 0;
    margin: 16px 0;
    background-color: #e7e7e7;
    border: 0 none;
    overflow: hidden;
    box-sizing: content-box;
  }

  body > h2:first-child {
    margin-top: 0;
    padding-top: 0;
  }

  body > h1:first-child {
    margin-top: 0;
    padding-top: 0;
  }

  body > h1:first-child + h2 {
    margin-top: 0;
    padding-top: 0;
  }

  body > h3:first-child,
  body > h4:first-child,
  body > h5:first-child,
  body > h6:first-child {
    margin-top: 0;
    padding-top: 0;
  }

  a:first-child h1,
  a:first-child h2,
  a:first-child h3,
  a:first-child h4,
  a:first-child h5,
  a:first-child h6 {
    margin-top: 0;
    padding-top: 0;
  }

  h1 p,
  h2 p,
  h3 p,
  h4 p,
  h5 p,
  h6 p {
    margin-top: 0;
  }

  li p.first {
    display: inline-block;
  }

  li.ag-tight-list-item > p {
    padding: 0;
    margin: 0;
  }

  ul,
  ol {
    padding-left: 30px;
  }

  ul:first-child,
  ol:first-child {
    margin-top: 0;
  }

  ul:last-child,
  ol:last-child {
    margin-bottom: 0;
  }

  blockquote {
    position: relative;
    padding: 0 30px;
    color: var(--editorColor50);
  }

  blockquote::before {
    content: '';
    display: block;
    height: 100%;
    width: 2px;
    position: absolute;
    left: 15px;
    top: 0;
    background: var(--themeColor);
  }

  blockquote blockquote {
    padding-right: 0;
  }

  table {
    padding: 0;
    word-break: initial;
    box-shadow: 0 1px 5px rgb(0 0 0 / 20%), 0 2px 2px rgb(0 0 0 / 14%),
      0 3px 1px -2px rgb(0 0 0 / 12%);
  }

  table tr {
    margin: 0;
    padding: 0;
    border-radius: 4px;
  }

  /* table thead tr,
  table tr:nth-child(2n) {
    background-color: var(--editorColor04);
  } */
  table tr th {
    font-weight: bold;
    text-align: left;
    margin: 0;
    padding: 6px 13px;
    position: relative;
  }

  table tr td {
    text-align: left;
    margin: 0;
    padding: 6px 13px;
    position: relative;
  }

  table tr th::before {
    border: 1px solid var(--tableBorderColor);
  }
  table tr td::before {
    border-bottom: 1px solid var(--tableBorderColor);
    border-left: 1px solid var(--tableBorderColor);
    border-right: 1px solid var(--tableBorderColor);
  }

  table tr th::before,
  table tr td::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: calc(100% + 1px);
    height: calc(100% + 1px);
    box-sizing: border-box;
    pointer-events: none;
  }

  table tr th:first-child,
  table tr td:first-child {
    margin-top: 0;
  }

  table tr th:last-child,
  table tr td:last-child {
    margin-bottom: 0;
  }

  table tr .ag-drag-handler.left {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 9px;
    height: 19px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--iconColor);
    left: -11px;
    cursor: pointer;
    opacity: 0.5;
  }

  table tr .ag-drag-handler.left::before,
  table tr .ag-drag-handler.left::after {
    content: '';
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--iconColor);
    position: absolute;
    left: 2px;
    top: 4px;
  }

  table tr .ag-drag-handler.left::after {
    top: 10px;
  }

  table tr .ag-drag-handler.bottom {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 19px;
    height: 9px;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--iconColor);
    bottom: -15px;
    cursor: pointer;
    opacity: 0.5;
  }

  table tr .ag-drag-handler.bottom::before,
  table tr .ag-drag-handler.bottom::after {
    content: '';
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--iconColor);
    position: absolute;
    top: 2px;
    left: 4px;
  }

  table tr .ag-drag-handler.bottom::after {
    left: 10px;
  }

  table tr .ag-drag-handler.left,
  table tr .ag-drag-handler.bottom {
    display: none;
  }

  table.ag-active tr .ag-drag-handler {
    display: block;
  }

  table .ag-drag-cell {
    opacity: 0.7;
    z-index: 1;
    background: var(--floatBgColor);
    transition: left 0.3s ease-in-out, bottom 0.3s ease-in-out;
  }

  table .ag-drag-cell.ag-drag-left {
    left: -6px;
  }

  table .ag-drag-cell.ag-drag-bottom {
    bottom: -6px;
  }

  table .ag-cell-transform {
    transition: transform 0.3s ease-in-out;
  }

  table .ag-cell-selected::before {
    background: var(--editorColor04);
    z-index: 1;
  }

  table .ag-cell-border-top::before {
    border-top-color: var(--themeColor);
  }

  table .ag-cell-border-right::before {
    border-right-color: var(--themeColor);
  }

  table .ag-cell-border-bottom::before {
    border-bottom-color: var(--themeColor);
  }

  table .ag-cell-border-left::before {
    border-left-color: var(--themeColor);
  }

  span code,
  td code,
  th code {
    background-color: var(--codeBlockBgColor);
    border-radius: 3px;
    padding: 0;
    /*font-family: Menlo, Monaco, Consolas, "Courier New", monospace;*/
    padding: 2px 4px 0px 4px;
    font-size: 85%;
    margin: 0;
    padding: 0.2em 0.4em;
    color: var(--editorColor);
  }

  :not(pre) > code[class*='language-'],
  pre:not(.CodeMirror-line),
  pre[class*='language-'],
  pre.ag-paragraph {
    overflow: visible;
    font-size: 90%;
    line-height: 1.6;
    background: var(--codeBlockBgColor);
    border: 1px solid var(--editorColor10);
    border-radius: 3px;
    color: var(--editorColor50);
  }

  .ag-hide.ag-ruby > .ag-ruby-render,
  .ag-hide.ag-math > .ag-math-render {
    color: var(--editorColor);
  }

  blockquote .ag-hide.ag-ruby > .ag-ruby-render,
  blockquote .ag-hide.ag-math > .ag-math-render {
    color: var(--editorColor50);
  }

  .ag-ruby > .ag-ruby-render,
  .ag-math > .ag-math-render {
    color: var(--editorColor);
    background: var(--floatBgColor);
    box-shadow: var(--floatShadow);
  }

  .ag-ruby > .ag-ruby-render::before,
  .ag-math > .ag-math-render::before {
    border-bottom-color: var(--floatBgColor);
  }

  #ag-editor-id pre.ag-html-block {
    background: transparent;
    padding: 0 0.5rem;
    margin-top: 0;
  }

  #ag-editor-id pre.ag-active.ag-html-block {
    background: var(--codeBlockBgColor);
  }

  .ag-image-marked-text::before {
    background: url(../lib/assets/icons/image_light.png);
    background-size: cover;
  }

  .ag-image-marked-text.ag-image-fail::before {
    background-image: url(../lib/assets/icons/image_light_fail.png);
    background-size: cover;
  }

  .ag-inline-image.ag-image-success .ag-image-marked-text::before {
    background: url(../lib/assets/icons/image_dark.png);
    background-size: cover;
  }

  .ag-inline-image.ag-image-success
    .ag-image-marked-text.ag-image-fail::before {
    background-image: url(../lib/assets/icons/image_dark_fail.png);
    background-size: cover;
  }

  body.dark .ag-image-marked-text::before {
    background: url(../lib/assets/icons/image_dark.png);
    background-size: cover;
  }

  body.dark .ag-image-marked-text.ag-image-fail::before {
    background-image: url(../lib/assets/icons/image_dark_fail.png);
    background-size: cover;
  }

  .ag-front-icon {
    fill: var(--editorColor30);
  }

  .ag-front-icon::before {
    border: 3px solid var(--editorColor50);
    border-bottom: none;
    border-left-color: transparent;
    border-right-color: transparent;
  }
}

/* end not print */

@media print {
  html {
    font-size: 13px;
  }

  blockquote,
  table,
  pre {
    page-break-inside: avoid;
  }

  pre {
    word-wrap: break-word;
  }
}

/* cover default flowchart.js and sequence style */
figure[data-role] svg rect[fill='#ffffff'] {
  fill: var(--editorBgColor);
}

figure[data-role] svg rect[stroke='#000000'] {
  stroke: var(--editorColor);
}

figure[data-role] svg text[fill='#000000'] {
  fill: var(--editorColor);
}

figure[data-role] svg path[stroke='#000000'] {
  stroke: var(--editorColor);
}

figure[data-role] svg path[fill='#ffffff'] {
  fill: var(--editorBgColor);
}

figure[data-role] svg path[fill='#000000'] {
  fill: var(--editorColor);
}

figure[data-role] svg use[fill='black'] {
  fill: var(--editorColor);
}

figure[data-role] svg use[fill='#000000'] {
  fill: var(--editorColor);
}
