
/* <editor-fold desc="coma from heti"> */

.coma {
    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
    color: var(--nord1);
    -webkit-font-smoothing: subpixel-antialiased;
    line-height: 1.6;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
    letter-spacing: 0.02em;
}
.coma::after { clear: both; }
.coma #coma-toc { display: none; }
.coma #annotations { display: none; }
.coma > *:first-child, .coma section > *:first-child, .coma td > *:first-child { margin-block-start: 0 !important; }
.coma > *:last-child,  .coma section > *:last-child,  .coma td > *:last-child  { margin-block-end: 0 !important; }
.coma blockquote {
    margin-block-start: 12px;
    margin-block-end: 24px;
    padding-block-start: 12px;
    padding-block-end: 12px;
    padding-inline-start: 16px;
    padding-inline-end: 16px;
    background-color: hsla(0deg, 0%, 0%, 0.054);
    font-size: 1.1rem;
    font-style: unset; /* reset uikit */
}
.coma blockquote p {
    margin-block-start: 0;
    margin-block-end: 0;
}
[data-darkmode=dark] .coma blockquote {
    background-color: hsla(0deg, 0%, 100%, 0.054);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma blockquote {
        background-color: hsla(0deg, 0%, 100%, 0.054);
    }
}
.coma figure {
    display: block;
    text-align: center;
}
.coma figure > img {
    display: block;
    margin-inline-start: auto;
    margin-inline-end: auto;
}
.coma img { max-width: 100% }
hr.coma-short {
    width: 30%;
    height: 1px;
    margin-block-start: 32px;
    margin-block-end: 31px;
    margin-inline-start: auto;
    margin-inline-end: auto;
    border: 0;
    background-color: hsl(0deg, 0%, 80%);
}
[data-darkmode=dark] .coma hr {
    background-color: hsl(0deg, 0%, 25%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma hr {
        background-color: hsl(0deg, 0%, 25%);
    }
}
.coma p {
    margin-block-start: 12px;
    margin-block-end: 12px;
    text-align: justify;
    font-size: 1rem;
    margin: 15px 0;
    line-height: 1.7;
}
.coma pre {
    margin-block-start: 12px;
    margin-block-end: 12px;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-block-start: 12px;
    padding-block-end: 12px;
    padding-inline-start: 16px;
    padding-inline-end: 16px;
    overflow: auto;
    font-family: "SFMono-Regular", consolas, "Liberation Mono", menlo, courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    white-space: pre;
    word-wrap: normal;
    border-radius: 4px;
    background-color: hsla(0deg, 0%, 0%, 0.054);
}
[data-darkmode=dark] .coma pre {
    background-color: hsla(0deg, 0%, 100%, 0.054);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma pre {
        background-color: hsla(0deg, 0%, 100%, 0.054);
    }
}
.coma pre code {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    color: inherit;
}
.coma a,
.coma abbr,
.coma code,
.coma .coma-spacing,
.coma [lang=en-US] {
    letter-spacing: normal;
}
.coma h1, .coma h2, .coma h3, .coma h4, .coma h5, .coma h6 {
    position: relative;
    margin: 0;
    margin-block-start: 24px;
    margin-block-end: 12px;
    font-weight: 600;
    color: var(--nord0);
}
.coma h1.hr, .coma h2.hr, .coma h3.hr, .coma h4.hr, .coma h5.hr, .coma h6.hr { border-bottom: 1px solid rgba(0,0,0,0.12); }
.coma h1 { font-size: 1.7rem; }
.coma h2 { font-size: 1.5rem; }
.coma h3 { font-size: 1.35rem; }
.coma h4 { font-size: 1.25rem; }
.coma h5 { font-size: 1.15rem; }
.coma h6 { font-size: 1.05rem; }
.coma h1, .coma h2, .coma h3 { letter-spacing: 0.05em; }
.coma h1 + h2,
.coma h2 + h3,
.coma h3 + h4,
.coma h4 + h5,
.coma h5 + h6 {
    margin-block-start: 12px;
}
.coma ul,
.coma ol,
.coma dl {
    margin-block-start: 12px;
    margin-block-end: 24px;
}
.coma ul,
.coma ol {
    padding-inline-start: 32px;
}
.coma ul ul,
.coma ul ol,
.coma ol ul,
.coma ol ol {
    margin-block-start: 0;
    margin-block-end: 0;
}
.coma ul {
    list-style-type: disc;
}
.coma ol {
    list-style-type: decimal;
}
.coma ul ul,
.coma ol ul {
    list-style-type: circle;
}
.coma ul ul ul,
.coma ul ol ul,
.coma ol ul ul,
.coma ol ol ul {
    list-style-type: square;
}
.coma li {
    list-style-type: unset;
}
.coma table {
    box-sizing: border-box;
    table-layout: fixed;
    margin-block-start: 12px;
    margin-block-end: 24px;
    border-collapse: collapse;
    border-width: 1px;
    border-style: solid;
    border-color: hsl(0deg, 0%, 80%);
    word-break: break-word;
}
.coma table.center { margin-inline-start: auto; margin-inline-end: auto;}
[data-darkmode=dark] .coma table {
    border-color: hsl(0deg, 0%, 25%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma table {
        border-color: hsl(0deg, 0%, 25%);
    }
}
.coma th,
.coma td {
    padding-block-start: 6px;
    padding-block-end: 6px;
    padding-inline-start: 8px;
    padding-inline-end: 8px;
    border-width: 1px;
    border-style: solid;
    border-color: hsl(0deg, 0%, 80%);
}
[data-darkmode=dark] .coma th,
[data-darkmode=dark] .coma td {
    border-color: hsl(0deg, 0%, 25%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma th,
    [data-darkmode=auto] .coma td {
        border-color: hsl(0deg, 0%, 25%);
    }
}
table.coma-borderless-o { border-style: hidden; }
table.coma-borderless-o th, table.coma-borderless-o td { border-left-style: hidden; border-right-style: hidden; }
table.coma-borderless-i th, table.coma-borderless-i td { border-top-style: hidden; border-bottom-style: hidden; }

.coma caption {
    caption-side: bottom;
    margin-block-start: 2px;
    margin-block-end: -4px;
    font-size: 14px;
    line-height: 24px;
}
.coma a {
    color: #1e9fff;
    text-decoration: none;
}
.coma a:hover {
    padding-block-end: 1px;
    border-block-end: 1px solid currentColor;
    text-decoration: none;
}
.coma abbr[title] {
    padding-block-end: 1px;
    border-block-end: 1px dotted;
    text-decoration: none;
    cursor: help;
}
.coma b,
.coma strong {
    font-weight: 600;
}
.coma code {
    margin-inline-start: 0.25em;
    margin-inline-end: 0.25em;
    font-family: "Microsoft Yahei", "SFMono-Regular", consolas, "Liberation Mono", menlo, courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 0.9em;
    color: #0085ad;
    padding: 0.25rem 0.5rem;
    margin: 0;
    background-color: rgba(100,100,100,0.08);
    border-radius: 3px;
    -webkit-box-decoration-break: clone; /* 没有这行的话，内部换行不会受到 padding 的约束 */
    white-space: unset; /* reset uikit */
}
.coma code.coma-anno-1 { background: #d8eafc; color: #1e87f0; } /* primary */
.coma code.coma-anno-2 { background: #edfbf6; color: #32d296; } /* success */
.coma code.coma-anno-3 { background: #fff6ee; color: #faa05a; } /* warning */
.coma code.coma-anno-4 { background: #fef4f6; color: #f0506e; } /* danger */
.coma figcaption {
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
    text-align: start;
}
.coma ins,
.coma u {
    padding-block-end: 1px;
    border-block-end: 1px solid;
    text-decoration: none;
}
.coma mark {
    padding-block-start: 2px;
    padding-block-end: 2px;
    padding-inline-start: 1px;
    padding-inline-end: 1px;
    margin-inline-start: 1px;
    margin-inline-end: 1px;
    background-color: hsla(58deg, 100%, 50%, 0.88);
    color: inherit;
}
[data-darkmode=dark] .coma mark {
    background-color: hsla(58deg, 100%, 15%, 0.88);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma mark {
        background-color: hsla(58deg, 100%, 15%, 0.88);
    }
}
.coma q {
    quotes: "「" "」" "『" "』";
}
.coma rt {
    font-size: 0.875em;
    font-weight: 400;
}
.coma small {
    font-size: 0.875em;
}
.coma strong {
    font-weight: 600;
}
.coma sub,
.coma sup {
    position: relative;
    margin-inline-start: 0.25em;
    margin-inline-end: 0.25em;
    font-size: 0.75em;
    /*font-family: "Helvetica Neue", helvetica, arial, "Heti Hei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/
    font-style: normal;
    line-height: 1;
    vertical-align: baseline;
}
.coma sub {
    bottom: -0.25em;
}
.coma sup {
    top: -0.5em;
}
.coma sup:target,
.coma sup a:target {
    background-color: hsl(210deg, 100%, 93%);
}
[data-darkmode=dark] .coma sup:target,
[data-darkmode=dark] .coma sup a:target {
    background-color: hsl(210deg, 40%, 38%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma sup:target,
    [data-darkmode=auto] .coma sup a:target {
        background-color: hsl(210deg, 40%, 38%);
    }
}
.coma summary {
    padding-inline-start: 1em;
    outline: 0;
    cursor: pointer;
}
.coma summary::-webkit-details-marker {
    width: 0.6em;
    margin-inline-end: 0.4em;
}
.coma u[title] {
    cursor: help;
    border-block-end-width: 3px;
    border-block-end-style: double;
    border-block-end-color: hsla(0deg, 0%, 0%, 0.54);
}
[data-darkmode=dark] .coma u[title] {
    border-block-end-color: hsla(0deg, 0%, 100%, 0.54);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma u[title] {
        border-block-end-color: hsla(0deg, 0%, 100%, 0.54);
    }
}
.coma abbr[title],
.coma del,
.coma ins,
.coma s,
.coma u {
    margin-inline-start: 1px;
    margin-inline-end: 1px;
}
.coma--columns-1, .coma--columns-2, .coma--columns-3, .coma--columns-4,
.coma--columns-16em, .coma--columns-20em, .coma--columns-24em, .coma--columns-28em,
.coma--columns-32em, .coma--columns-36em, .coma--columns-40em, .coma--columns-44em, .coma--columns-48em, .coma comma {
    max-width: none;
    column-gap: 2em;
}
.coma--columns-1 p, .coma--columns-2 p, .coma--columns-3 p, .coma--columns-4 p,
.coma--columns-16em p, .coma--columns-20em p, .coma--columns-24em p, .coma--columns-28em p,
.coma--columns-32em p, .coma--columns-36em p, .coma--columns-40em p, .coma--columns-44em p, .coma--columns-48em p, .coma comma p {
    margin-block-start: 6px;
    margin-block-end: 12px;
    text-indent: 2em;
}
.coma--columns-1 {
    column-count: 1;
}
.coma--columns-2 {
    column-count: 2;
}
.coma--columns-3 {
    column-count: 3;
}
.coma--columns-4 {
    column-count: 4;
}
.coma--columns-16em {
    column-width: 16em;
}
.coma--columns-20em {
    column-width: 20em;
}
.coma--columns-24em {
    column-width: 24em;
}
.coma--columns-28em {
    column-width: 28em;
}
.coma--columns-32em {
    column-width: 32em;
}
.coma--columns-36em {
    column-width: 36em;
}
.coma--columns-40em {
    column-width: 40em;
}
.coma--columns-44em {
    column-width: 44em;
}
.coma--columns-48em {
    column-width: 48em;
}
.coma--vertical {
    max-width: none;
    max-height: 42em;
    writing-mode: vertical-rl;
    letter-spacing: 0.125em;
}
.coma--vertical h1,
.coma--vertical h2,
.coma--vertical h3,
.coma--vertical h4,
.coma--vertical h5,
.coma--vertical h6 {
    text-align: start;
}
.coma--vertical q {
    quotes: "「" "」" "『" "』";
}
.coma-poetry {
    /*font-family: "Times New Roman", times, "Heti Song", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/
}
.coma-poetry h1, .coma-poetry h2, .coma-poetry h3, .coma-poetry h4, .coma-poetry h5, .coma-poetry h6 {
    /*font-family: "Times New Roman", times, "Heti Kai Black", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/
    font-weight: 800;
    text-align: center;
}
.coma-poetry-subtitle,
.coma-poetry h1 .coma-meta,.coma-poetry h2 .coma-meta,.coma-poetry h3 .coma-meta,
.coma-poetry h4 .coma-meta,.coma-poetry h5 .coma-meta,.coma-poetry h6 .coma-meta {
    font-weight: 400;
}
@media screen and (min-width: 640px) {
    .coma-poetry-subtitle,
    .coma-poetry h1 .coma-meta, .coma-poetry h2 .coma-meta, .coma-poetry h3 .coma-meta,
    .coma-poetry h4 .coma-meta, .coma-poetry h5 .coma-meta, .coma-poetry h6 .coma-meta {
        position: absolute;
        line-height: inherit;
        text-indent: 0;
        display: inline;
        margin-block-start: 4px;
        margin-inline-start: 8px;
    }
}
.coma-poetry .coma-poetry-subtitle,
.coma-poetry .coma-meta {
    line-height: 24px;
    text-align: center;
    text-indent: 0;
}
.coma-poetry p {
    text-align: center;
    text-indent: 0;
}
.coma--annotation p {
    margin-block-start: 0;
    margin-block-end: 0;
    line-height: 2.25;
    text-indent: 2em;
}
.coma--annotation em {
    -webkit-text-emphasis: filled circle;
    -webkit-text-emphasis-position: under;
    text-emphasis: filled circle;
    text-emphasis-position: under right;
    font-weight: 400;
}
.coma--annotation em:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)), .coma--annotation em:not(:lang(zh)) {
    -webkit-text-emphasis: none;
    text-emphasis: none;
}
.coma--annotation .coma-meta {
    margin-block-start: 12px;
    margin-block-end: 24px;
}
.coma .coma-meta {
    display: block;
    text-indent: 0;
}
.coma .coma-verse {
    text-align: center;
    text-indent: 0;
}
.coma .coma-large {
    font-size: 18px;
    line-height: 24px;
}
.coma .coma-x-large {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.05em;
}
.coma .coma-poetry-subtitle {
    font-size: 14px;
    line-height: 24px;
    bottom: 0;
    text-indent: 0;
}
.coma .coma-small {
    font-size: 14px;
    line-height: 24px;
}
.coma .coma-x-small {
    font-size: 12px;
    line-height: 18px;
}
.coma .coma-list-latin {
    list-style-type: upper-latin;
}
.coma .coma-list-latin ol {
    list-style-type: lower-roman;
}
.coma .coma-list-latin ol ol {
    list-style-type: lower-latin;
}
.coma .coma-list-han {
    list-style-type: cjk-ideographic;
}
.coma .coma-list-han ol {
    list-style-type: decimal;
}
.coma .coma-list-han ol ol {
    list-style-type: decimal-leading-zero;
}
.coma .coma-fn {
    margin-block-start: 59px;
    border-block-start: 1px solid;
    border-block-start-color: hsl(0deg, 0%, 80%);
    font-size: 14px;
    font-family: "Helvetica Neue", helvetica, arial, "Heti Hei", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 24px;
}
[data-darkmode=dark] .coma .coma-fn {
    border-block-start-color: hsl(0deg, 0%, 25%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma .coma-fn {
        border-block-start-color: hsl(0deg, 0%, 25%);
    }
}
.coma .coma-fn ol {
    margin-block-start: 12px;
    margin-block-end: 0;
}
.coma .coma-fn li:target {
    background-color: hsl(210deg, 100%, 93%);
}
[data-darkmode=dark] .coma .coma-fn li:target {
    background-color: hsl(210deg, 40%, 38%);
}
@media (prefers-color-scheme: dark) {
    [data-darkmode=auto] .coma .coma-fn li:target {
        background-color: hsl(210deg, 40%, 38%);
    }
}
.coma .coma-hang {
    position: absolute;
    line-height: inherit;
    text-indent: 0;
}
.coma .coma-em {
    -webkit-text-emphasis: filled circle;
    -webkit-text-emphasis-position: under;
    text-emphasis: filled circle;
    text-emphasis-position: under right;
}
.coma .coma-em:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)), .coma .coma-em:not(:lang(zh)) {
    -webkit-text-emphasis: none;
    text-emphasis: none;
}
.coma .coma-ruby--inline {
    display: inline-flex;
    flex-direction: column-reverse;
    height: 1.5em;
    vertical-align: top;
}
.coma .coma-ruby--inline rt {
    display: inline;
    margin-bottom: -0.25em;
    line-height: 1;
    text-align: center;
}
.coma .coma-spacing {
    display: inline;
}
.coma .coma-spacing-start, .coma .coma-spacing-x { margin-inline-end: 0.25em; }
.coma .coma-spacing-end, .coma .coma-spacing-x { margin-inline-start: 0.25em; }
.coma coma-adjacent {
    display: inline;
}
.coma .coma-adjacent-half {
    margin-inline-end: -0.5em;
}
.coma .coma-adjacent-quarter {
    margin-inline-end: -0.25em;
}

.coma .layui-collapse {
    margin: 7px 0;
}

/* </editor-fold> */

.coma p.coma-alert { font-size: 0.9rem; }
.coma .coma-alert p { font-size: 0.9rem; margin: 0; }
.coma-ppt p.coma-alert { font-size: 0.8rem; line-height: 1.1rem; }
.coma-ppt .coma-alert p { font-size: 0.8rem; line-height: 1.1rem; margin: 0; }

.coma-alert { position: relative; margin-bottom: 20px; padding: 15px; background: #f8f8f8; color: #666; }
*+.coma-alert { margin-top: 20px; }
.coma-alert>:first-child { margin-top: 0; }
.coma-alert>:last-child { margin-bottom: 0; }

.coma-alert-primary, .coma-alert-note, .coma-alert-blue { background: #d8eafc; color: #1e87f0; }
.coma-alert-success, .coma-alert-info, .coma-alert-green { background: #edfbf6; color: #32d296; }
.coma-alert-warning, .coma-alert-warn, .coma-alert-yellow { background: #fff6ee; color: #faa05a; }
.coma-alert-danger, .coma-alert-error, .coma-alert-red { background: #fef4f6; color: #f0506e; }
.coma p.coma-alert-title { font-size: 1rem; font-weight: bold; margin-bottom: 5px; margin-top: -5px; }

.coma p.coma-center, .coma-center { text-align: center; } /* .coma p.xx for higher priority */
.coma p.coma-right, .coma-right { text-align: right; }
.coma p.coma-justify, .coma-justify { text-align: justify; text-align-last: justify; }

.coma .center { text-align: center; }
.coma .hidden { visibility: hidden; height: 0; margin-block-start: 0; margin-block-end: 0 } /* 只有 visibility 可以满足锚点跳转需求 */

/* <editor-fold desc="coma-ppt from remark"> */

.coma-ppt { transform-origin: top left; transition: all .3s linear; -webkit-transition: all .3s linear; transform: scale(0.1); overflow-x: hidden; margin: 0 auto; }
.coma-ppt-item { background-color: #FFF !important; }
.coma-ppt-item > div { display: flex; flex-direction: column; height: 100%; }
.coma-ppt-item > div > div.footnotes { flex: 0; }
.coma-ppt-item > div > div { display: flex; flex-direction: column; height: 100%; flex: 1 }
.coma-ppt-item > div > div.l2r { flex-direction: row; }
.coma-ppt-item > div > div.center { text-align: center; justify-content: center; }
.coma-ppt-item > div > div.middle { vertical-align: middle; align-items: center; }
.coma-ppt-rotate { transform: rotate(90deg); }

.coma-ppt .shade { background-color: rgb(215, 216, 210); }
.coma-ppt blockquote { /*padding-left: 3em; padding-right: 3em;*/ color: #222; }
/*.coma-ppt .footnotes { padding-left: 2em; padding-right: 2em; }
.coma-ppt-item > div > div > p { padding-left: 2em; padding-right: 2em; }*/
.coma-ppt .text-075 p { font-size: 0.75rem; line-height: 1.1rem; }
.coma-ppt p { max-height: 100% }
.coma-ppt img { max-height: 100% }
.coma-ppt hr { width: 100%; }
.coma-ppt .flex-1 { flex: 1 }

.coma-ppt-ind {
    position: fixed;
    bottom: 5px;
    transform-origin: bottom;
    width: 100%;
    text-align: center;
    -webkit-transition-duration: .3s; /* for fade in and fade out */
    transition-duration: .3s;
}
.coma-ppt-ind > div {
    display: inline-block;
    padding: 10px;
    background-color: rgba(0,0,0,.65);
    border-radius: 7px;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    color: #fff;
}
.coma-ppt-ind .coma-goto {
    height: 22px;
    line-height: 22px;
    color: #999;
    margin-left: 10px;
    margin-right: 10px;
    padding: 0;
    border: none;
}
.coma-ppt-ind input {
    display: inline-block;
    width: 40px;
    margin: 0 10px;
    padding: 0 3px;
    text-align: center;
    border: 1px solid #eee;
    color: rgba(0,0,0,.85);
}
.coma-ppt-ind button {
    margin-left: 10px;
    padding: 0 10px;
    cursor: pointer;
    border: 1px solid #eee;
}
.coma-ppt-ind button, .coma-ppt-ind input {
    border-radius: 2px;
    background-color: #eee;
    box-sizing: border-box;
}
.coma-ppt-ind .layui-icon { cursor: pointer; }

.coma .layui-layer-page .layui-layer-content { overflow-x: hidden; overflow-y: scroll; } /* 全屏之后的 carousel 外层 */

/* </editor-fold> */

/* 需要在 coma 后面，避免被 .coma li 覆盖 */
ul.layui-fixbar li { list-style-type: none; }