/* ---- Markdown-rendered content ----------------------------------- */

.markdown {
    line-height:  1.7;
    color:        #2c2c2c;
    font-size:    0.9375rem;
}

/* Headings */
.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
    font-weight:   600;
    line-height:   1.25;
    margin-top:    1.5em;
    margin-bottom: 0.5em;
    color:         #1a1a1a;
}
.markdown h1 { font-size: 1.75rem; border-bottom: 2px solid #e0e0e0; padding-bottom: 0.25em; }
.markdown h2 { font-size: 1.35rem; border-bottom: 1px solid #e8e8e8; padding-bottom: 0.2em; }
.markdown h3 { font-size: 1.1rem; }
.markdown h4 { font-size: 1rem; }

/* Heading anchor links */
.markdown .heading-anchor {
    margin-left:     0.4em;
    font-size:       0.6em;
    font-weight:     400;
    vertical-align:  middle;
    color:           #aaa;
    text-decoration: none;
    opacity:         0;
    transition:      opacity 0.15s;
}
.markdown h1:hover .heading-anchor,
.markdown h2:hover .heading-anchor,
.markdown h3:hover .heading-anchor,
.markdown h4:hover .heading-anchor,
.markdown h5:hover .heading-anchor,
.markdown h6:hover .heading-anchor { opacity: 1; }
.markdown .heading-anchor:hover { color: #2a6496; text-decoration: none; }

/* Paragraph & inline */
.markdown p       { margin-bottom: 1em; }
.markdown strong  { font-weight: 600; }
.markdown em      { font-style: italic; }
.markdown a       { color: #2a6496; text-decoration: none; }
.markdown a:hover { text-decoration: underline; }
.markdown hr      { border: none; border-top: 1px solid #e0e0e0; margin: 1.5em 0; }

/* Blockquote */
.markdown blockquote {
    margin:       1em 0;
    padding:      0.6em 1em;
    border-left:  4px solid #c0c0c0;
    background:   #f7f7f7;
    color:        #555;
    font-style:   italic;
}
.markdown blockquote p:last-child { margin-bottom: 0; }

/* Lists */
.markdown ul,
.markdown ol {
    margin:        0 0 1em 0;
    padding-left:  1.75em;
}
.markdown li { margin-bottom: 0.25em; }
.markdown li > ul,
.markdown li > ol { margin-bottom: 0; }

/* Inline code */
.markdown code {
    font-family:      'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size:        0.85em;
    background:       #f0f0f0;
    border:           1px solid #ddd;
    border-radius:    3px;
    padding:          0.1em 0.35em;
    color:            #c7254e;
}

/* Code block */
.markdown pre {
    background:    #f6f6f6;
    border:        1px solid #ddd;
    border-radius: 4px;
    padding:       1em;
    overflow-x:    auto;
    margin-bottom: 1em;
}
.markdown pre code {
    background:   none;
    border:       none;
    border-radius: 0;
    padding:      0;
    color:        inherit;
    font-size:    0.875em;
}

/* Table */
.markdown table {
    width:            100%;
    border-collapse:  separate;
    border-spacing:   0;
    margin-bottom:    1.5em;
    font-size:        0.875rem;
    border:           1px solid #e0e0e0;
    border-radius:    6px;
    overflow:         hidden;
}
.markdown thead tr {
    background:       #f0f2f4;
}
.markdown thead th {
    font-weight:      600;
    text-align:       left;
    padding:          0.6em 1em;
    color:            #333;
    border-bottom:    2px solid #d0d4d9;
    white-space:      nowrap;
}
.markdown thead th:not(:last-child) {
    border-right:     1px solid #d8dce0;
}
.markdown tbody tr {
    transition:       background 0.1s;
}
.markdown tbody tr:nth-child(even) {
    background:       #f8f9fa;
}
.markdown tbody tr:hover {
    background:       #eef2ff;
}
.markdown tbody td {
    padding:          0.55em 1em;
    border-bottom:    1px solid #e8eaed;
    vertical-align:   top;
    line-height:      1.5;
}
.markdown tbody td:not(:last-child) {
    border-right:     1px solid #e8eaed;
}
.markdown tbody tr:last-child td {
    border-bottom:    none;
}
.markdown tbody td:first-child {
    font-weight:      500;
    color:            #222;
}
