/*
 * Coral article typography
 * Scoped to the rendered post body so theme widgets and comments stay intact.
 */
.post_song,
.links_song {
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}

.post_song_word {
    min-width: 0;
}

.post_song_word > .songmax,
.links_song > .songmax,
.coral-media-detail .songmax,
.post_book .songmax {
    --article-accent: #f1404b;
    --article-accent-soft: rgba(241, 64, 75, .1);
    --article-text: #303744;
    --article-heading: #222831;
    --article-muted: #788392;
    --article-border: #e6e9ee;
    --article-surface: #f7f8fa;
    --article-surface-strong: #eef1f4;
    --article-code-text: #384252;
    color: var(--article-text);
    font-size: 16px;
    line-height: 1.85;
    letter-spacing: 0;
    text-align: left;
    word-break: normal;
    overflow-wrap: break-word;
    text-rendering: optimizeLegibility;
}

.post_song_word > .songmax::selection,
.post_song_word > .songmax *::selection {
    color: var(--article-heading);
    background: var(--article-accent-soft);
}

.post_song_word > .songmax > :first-child {
    margin-top: 0;
}

.post_song_word > .songmax > :last-child {
    margin-bottom: 0;
}

.post_song_word > .songmax > h1:first-child,
.post_song_word > .songmax > h2:first-child,
.post_song_word > .songmax > h3:first-child,
.post_song_word > .songmax > h4:first-child,
.post_song_word > .songmax > h5:first-child,
.post_song_word > .songmax > h6:first-child {
    margin-top: 0;
}

.post_song_word > .songmax p {
    margin: 0 0 1.05em;
}

.post_song_word > .songmax a {
    position: relative;
    overflow: visible;
    color: var(--article-accent);
    text-decoration: underline;
    text-decoration-color: rgba(241, 64, 75, .35);
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
    vertical-align: baseline;
    white-space: normal;
    word-break: break-word;
    transition: color .2s ease, text-decoration-color .2s ease;
}

.post_song_word > .songmax a::before {
    display: none;
}

.post_song_word > .songmax a:hover,
.post_song_word > .songmax a:focus-visible {
    color: #cf2936;
    text-decoration-color: currentColor;
}

.post_song_word > .songmax strong {
    color: var(--article-heading);
    font-weight: 650;
}

.post_song_word > .songmax em {
    font-style: italic;
}

.post_song_word > .songmax del {
    color: var(--article-muted);
    text-decoration-color: var(--article-accent);
}

.post_song_word > .songmax small {
    color: var(--article-muted);
    font-size: .875em;
}

.post_song_word > .songmax h1,
.post_song_word > .songmax h2,
.post_song_word > .songmax h3,
.post_song_word > .songmax h4,
.post_song_word > .songmax h5,
.post_song_word > .songmax h6 {
    display: block;
    width: auto;
    color: var(--article-heading);
    font-family: inherit;
    font-weight: 650;
    line-height: 1.4;
    background: none;
    scroll-margin-top: 1.5rem;
}

.post_song_word > .songmax h1 {
    margin: 2em 0 .85em;
    padding-bottom: .4em;
    border-bottom: 1px solid var(--article-border);
    font-size: 1.75em;
}

.post_song_word > .songmax h2 {
    margin: 1.9em 0 .8em;
    padding-left: .65em;
    border-left: 4px solid var(--article-accent);
    font-size: 1.5em;
}

.post_song_word > .songmax h3 {
    margin: 1.75em 0 .7em;
    font-size: 1.25em;
}

.post_song_word > .songmax h4 {
    margin: 1.6em 0 .65em;
    font-size: 1.125em;
}

.post_song_word > .songmax h5 {
    margin: 1.5em 0 .6em;
    font-size: 1em;
}

.post_song_word > .songmax h6 {
    margin: 1.5em 0 .6em;
    color: var(--article-muted);
    font-size: .9375em;
}

.post_song_word > .songmax h1 small,
.post_song_word > .songmax h2 small,
.post_song_word > .songmax h3 small,
.post_song_word > .songmax h4 small,
.post_song_word > .songmax h5 small,
.post_song_word > .songmax h6 small {
    color: var(--article-muted);
}

.post_song_word > .songmax blockquote {
    margin: 1.35em 0;
    padding: .85em 1em;
    border-left: 3px solid var(--article-accent);
    border-radius: 0 4px 4px 0;
    color: #515b69;
    background: var(--article-surface);
    background-image: none;
}

.post_song_word > .songmax blockquote blockquote {
    margin: .75em 0;
    background: var(--article-surface-strong);
}

.post_song_word > .songmax blockquote > :last-child {
    margin-bottom: 0;
}

.post_song_word > .songmax q {
    color: var(--article-heading);
}

.post_song_word > .songmax q::before {
    content: open-quote;
}

.post_song_word > .songmax q::after {
    content: close-quote;
}

.post_song_word > .songmax ul,
.post_song_word > .songmax ol {
    margin: .75em 0 1.1em;
    padding: 0 0 0 1.7em;
    border-radius: 0;
}

.post_song_word > .songmax ul {
    list-style: disc;
}

.post_song_word > .songmax ol {
    list-style: decimal;
}

.post_song_word > .songmax li {
    position: relative;
    margin: .28em 0;
    padding: 0 0 0 .12em;
    font-size: inherit;
    line-height: inherit;
}

.post_song_word > .songmax ul li::before {
    display: none;
}

.post_song_word > .songmax ul li::marker {
    color: var(--article-accent);
}

.post_song_word > .songmax ol li::marker {
    color: var(--article-accent);
    font-weight: 600;
}

.post_song_word > .songmax li > ul,
.post_song_word > .songmax li > ol {
    margin: .25em 0;
    padding-left: 1.45em;
}

.post_song_word > .songmax li > ul {
    list-style: circle;
}

.post_song_word > .songmax li > p {
    margin: .4em 0;
}

.post_song_word > .songmax input[type="checkbox"] {
    width: 1em;
    height: 1em;
    margin: 0 .45em 0 -1.45em;
    vertical-align: -.08em;
    accent-color: var(--article-accent);
}

.post_song_word > .songmax li.todo {
    display: flex;
    align-items: flex-start;
    gap: .45em;
    margin: .3em 0;
    padding: 0 !important;
    list-style: none;
    font-size: inherit !important;
}

.post_song_word > .songmax li.todo::before {
    display: none;
}

.post_song_word > .songmax li.todo svg {
    flex: 0 0 1em;
    width: 1em;
    height: 1em;
    margin-top: .42em;
    color: var(--article-accent);
}

.post_song_word > .songmax dl {
    margin: 1em 0 1.25em;
}

.post_song_word > .songmax dt {
    color: var(--article-heading);
    font-weight: 650;
}

.post_song_word > .songmax dd {
    margin: .2em 0 .8em 1.4em;
    color: var(--article-muted);
}

.post_song_word > .songmax :not(pre) > code {
    margin: 0 .1em;
    padding: .14em .38em;
    border: 1px solid rgba(241, 64, 75, .12);
    border-radius: 3px;
    color: #d63a52;
    background: #fff1f3;
    font: .875em/1.6 Menlo, Monaco, Consolas, "Courier New", monospace;
    overflow-wrap: anywhere;
}

.post_song_word > .songmax pre {
    position: relative;
    margin: 1.35em 0;
    padding: 42px 16px 16px;
    border: 1px solid var(--article-border);
    border-radius: 6px;
    color: var(--article-code-text);
    background: var(--article-surface);
    box-shadow: none;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.post_song_word > .songmax pre::before {
    content: " ";
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 12px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fc625d;
    box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
}

.post_song_word > .songmax pre::after {
    height: 32px;
    padding: 0 12px;
    color: #98a1ad;
    background: var(--article-surface-strong);
    font-size: 11px;
    font-weight: 600;
    line-height: 32px;
    letter-spacing: .04em;
}

.post_song_word > .songmax pre code {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font-size: .875em;
    line-height: 1.7;
}

.post_song_word > .songmax kbd {
    display: inline-block;
    min-width: 1.8em;
    padding: .12em .42em;
    border: 1px solid #cbd1d9;
    border-bottom-width: 2px;
    border-radius: 4px;
    color: var(--article-heading);
    background: #fff;
    font: .8em/1.45 Menlo, Monaco, Consolas, "Courier New", monospace;
    text-align: center;
}

.post_song_word > .songmax mark {
    margin: 0;
    padding: .08em .22em;
    border: 0;
    border-radius: 2px;
    color: var(--article-heading);
    background: #fff0a8;
}

.post_song_word > .songmax abbr[title] {
    border-bottom: 1px dotted var(--article-muted);
    text-decoration: none;
}

.post_song_word > .songmax hr {
    height: 1px;
    margin: 2.2em 0;
    border: 0;
    background: var(--article-border);
}

.post_song_word > .songmax hr::after {
    display: none;
}

.post_song_word > .songmax .scroll-hidden {
    margin: 1.35em 0;
    border: 1px solid var(--article-border);
    border-radius: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.post_song_word > .songmax table {
    width: 100%;
    margin: 1.35em 0;
    border: 1px solid var(--article-border);
    border-collapse: collapse;
    border-spacing: 0;
    font-size: .9375em;
}

.post_song_word > .songmax .scroll-hidden > table {
    margin: 0;
    border: 0;
}

.post_song_word > .songmax th,
.post_song_word > .songmax td {
    min-width: 7em;
    padding: .7em .8em;
    border: 1px solid var(--article-border);
    text-align: left;
    vertical-align: top;
    white-space: normal;
}

.post_song_word > .songmax th {
    color: var(--article-heading);
    background: var(--article-surface-strong);
    font-weight: 650;
}

.post_song_word > .songmax tbody tr:nth-child(even) {
    background: var(--article-surface);
}

.post_song_word > .songmax img,
.post_song_word > .songmax video {
    max-width: 100%;
    height: auto;
}

.post_song_word > .songmax > img,
.post_song_word > .songmax > p > img,
.post_song_word > .songmax > p > a > img {
    display: block;
    margin: 1.4em auto;
    border-radius: 4px;
}

.post_song_word > .songmax figure {
    margin: 1.4em 0;
}

.post_song_word > .songmax figure figcaption {
    margin-top: .6em;
    color: var(--article-muted);
    font-size: .8125em;
    line-height: 1.6;
    text-align: center;
}

.post_song_word > .songmax details {
    margin: 1.25em 0;
    padding: .8em 1em;
    border: 1px solid var(--article-border);
    border-radius: 6px;
    background: var(--article-surface);
}

.post_song_word > .songmax summary {
    color: var(--article-heading);
    font-weight: 600;
    cursor: pointer;
}

.post_song_word > .songmax details[open] summary {
    margin-bottom: .65em;
}

.post_song_word > .songmax .footnotes {
    margin-top: 2.5em;
    padding-top: 1em;
    border-top: 1px solid var(--article-border);
    color: var(--article-muted);
    font-size: .875em;
}

.post_song_word > .songmax sub,
.post_song_word > .songmax sup {
    font-size: .75em;
    line-height: 0;
}

.nice-dark-mode .post_song_word > .songmax {
    --article-accent: #ff6b73;
    --article-accent-soft: rgba(255, 107, 115, .16);
    --article-text: #c8cdd5;
    --article-heading: #f0f2f5;
    --article-muted: #969faa;
    --article-border: #3b4048;
    --article-surface: #25282d;
    --article-surface-strong: #1d2024;
    --article-code-text: #d1d6de;
}

.nice-dark-mode .post_song_word > .songmax a:hover,
.nice-dark-mode .post_song_word > .songmax a:focus-visible {
    color: #ff8b91;
}

.nice-dark-mode .post_song_word > .songmax blockquote {
    color: #b9c0ca;
}

.nice-dark-mode .post_song_word > .songmax :not(pre) > code {
    border-color: rgba(255, 107, 115, .18);
    color: #ff9096;
    background: #34252a;
}

.nice-dark-mode .post_song_word > .songmax kbd {
    border-color: #555d68;
    color: var(--article-heading);
    background: #202328;
}

.nice-dark-mode .post_song_word > .songmax mark {
    color: #f4e6ad;
    background: #55491f;
}

@media only screen and (max-width: 767px) {
    .post_song,
    .links_song {
        max-width: none;
    }

    .post_song_word > .songmax {
        font-size: 16px;
        line-height: 1.78;
    }

    .post_song_word > .songmax h1 {
        font-size: 1.5em;
    }

    .post_song_word > .songmax h2 {
        margin-top: 1.65em;
        font-size: 1.32em;
    }

    .post_song_word > .songmax h3 {
        margin-top: 1.55em;
        font-size: 1.18em;
    }

    .post_song_word > .songmax h4 {
        font-size: 1.08em;
    }

    .post_song_word > .songmax blockquote {
        padding: .7em .85em;
    }

    .post_song_word > .songmax ul,
    .post_song_word > .songmax ol {
        padding-left: 1.45em;
    }

    .post_song_word > .songmax pre {
        margin-right: -4px;
        margin-left: -4px;
        border-radius: 4px;
    }

    .post_song_word > .songmax th,
    .post_song_word > .songmax td {
        padding: .6em .7em;
    }
}

@media print {
    .post_song {
        max-width: none;
    }

    .post_song_word > .songmax {
        color: #111;
        font-size: 11pt;
    }

    .post_song_word > .songmax a {
        color: #111;
        text-decoration: underline;
    }

    .post_song_word > .songmax pre,
    .post_song_word > .songmax blockquote,
    .post_song_word > .songmax details {
        break-inside: avoid;
    }
}
