/* ------------------------------------------------------------
   GitHub-like Markdown CSS (light/dark, responsive)
   Target: <article class="markdown-body"> ... </article>
   ------------------------------------------------------------ */

/* Base colors (light) */
:root {
    --gh-bg: #ffffff;
    --gh-fg: #1f2328;
    --gh-muted: #57606a;
    --gh-border: #d0d7de;
    --gh-subtle-bg: #f6f8fa;
    --gh-accent: #0969da;
    --gh-accent-visited: #8250df;

    --gh-code-fg: #1f2328;
    --gh-code-bg: #f6f8fa;

    --gh-kbd-bg: #f6f8fa;
    --gh-kbd-border: #d0d7de;

    --gh-table-stripe: #f6f8fa;
    --gh-shadow: 0 1px 0 rgba(31, 35, 40, 0.04);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
    :root {
        --gh-bg: #0d1117;
        --gh-fg: #e6edf3;
        --gh-muted: #8b949e;
        --gh-border: #30363d;
        --gh-subtle-bg: #161b22;
        --gh-accent: #2f81f7;
        --gh-accent-visited: #a371f7;

        --gh-code-fg: #e6edf3;
        --gh-code-bg: #161b22;

        --gh-kbd-bg: #161b22;
        --gh-kbd-border: #30363d;

        --gh-table-stripe: #161b22;
        --gh-shadow: none;
    }
}

html,
body {
    background: var(--gh-bg);
    color: var(--gh-fg);
    margin: 0;
    padding: 0;
}

/* System font stack close to GitHub */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans",
        "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo,
        Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
    line-height: 1.6;
    font-size: 16px;
}

/* Main container */
.markdown-body {
    box-sizing: border-box;
    max-width: 980px;
    /* GitHub-ish */
    margin: 0 auto;
    padding: 32px 20px;
}

/* Smaller padding on mobile */
@media (max-width: 600px) {
    .markdown-body {
        padding: 18px 14px;
    }
}

/* Header block in your template */
.markdown-body header {
    margin-bottom: 24px;
    padding-bottom: 16px;
    /*border-bottom: 1px solid var(--gh-border);*/
}

.markdown-body .title {
    margin: 0 0 8px 0;
}

/* Subtitle/author/date */
.markdown-body .subtitle,
.markdown-body .author,
.markdown-body .date {
    margin: 4px 0;
    color: var(--gh-muted);
}

/* Links */
.markdown-body a {
    color: var(--gh-accent);
    text-decoration: none;
}

.markdown-body a:hover {
    text-decoration: underline;
}

.markdown-body a:visited {
    color: var(--gh-accent-visited);
}

/* Headings */
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
    font-weight: 600;
    line-height: 1.25;
    margin-top: 24px;
    margin-bottom: 16px;
}

.markdown-body h1 {
    font-size: 2em;
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--gh-border);
}

.markdown-body h2 {
    font-size: 1.5em;
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--gh-border);
}

.markdown-body h3 {
    font-size: 1.25em;
}

.markdown-body h4 {
    font-size: 1em;
}

.markdown-body h5 {
    font-size: 0.875em;
}

.markdown-body h6 {
    font-size: 0.85em;
    color: var(--gh-muted);
}

/* Paragraphs */
.markdown-body p {
    margin-top: 0;
    margin-bottom: 16px;
}

/* Lists */
.markdown-body ul,
.markdown-body ol {
    padding-left: 2em;
    margin-top: 0;
    margin-bottom: 16px;
}

.markdown-body li {
    margin: 0.25em 0;
}

.markdown-body li>p {
    margin-top: 8px;
}

/* Task lists */
.markdown-body input[type="checkbox"] {
    margin: 0 0.6em 0.15em -1.6em;
    vertical-align: middle;
}

/* Blockquotes */
.markdown-body blockquote {
    margin: 0 0 16px 0;
    padding: 0 1em;
    color: var(--gh-muted);
    border-left: 0.25em solid var(--gh-border);
}

/* Horizontal rule */
.markdown-body hr {
    border: 0;
    border-top: 1px solid var(--gh-border);
    margin: 24px 0;
}

/* Inline code */
.markdown-body code {
    font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas,
        "Liberation Mono", monospace;
    font-size: 0.9em;
    color: var(--gh-code-fg);
    background: var(--gh-code-bg);
    padding: 0.2em 0.4em;
    border-radius: 6px;
}

/* Code blocks */
.markdown-body pre {
    margin: 0 0 16px 0;
    padding: 16px;
    overflow: auto;
    font-size: 0.9em;
    line-height: 1.45;
    background: var(--gh-code-bg);
    border: 1px solid var(--gh-border);
    border-radius: 10px;
    box-shadow: var(--gh-shadow);
}

.markdown-body pre code {
    background: transparent;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
    color: inherit;
}

/* Tables */
.markdown-body table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 0 16px 0;
    display: block;
    overflow: auto;
    /* horizontal scroll on small screens */
}

.markdown-body table th,
.markdown-body table td {
    border: 1px solid var(--gh-border);
    padding: 6px 13px;
}

.markdown-body table th {
    font-weight: 600;
    background: var(--gh-subtle-bg);
}

.markdown-body table tr:nth-child(2n) {
    background: var(--gh-table-stripe);
}

/* Images */
.markdown-body img {
    max-width: 100%;
    height: auto;
    box-sizing: content-box;
    background: transparent;
}

/* Make shields badges behave like GitHub (avoid full-width) */
.markdown-body a>img[src*="img.shields.io"] {
    width: auto !important;
    height: 20px;
    max-width: none !important;
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
}

/* KBD */
.markdown-body kbd {
    display: inline-block;
    padding: 3px 5px;
    font: 0.85em ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, "Liberation Mono", monospace;
    line-height: 1;
    color: var(--gh-fg);
    background: var(--gh-kbd-bg);
    border: 1px solid var(--gh-kbd-border);
    border-bottom-width: 2px;
    border-radius: 6px;
}

/* Details/Summary (often used in GitHub docs) */
.markdown-body details {
    margin: 0 0 16px 0;
    padding: 10px 12px;
    border: 1px solid var(--gh-border);
    border-radius: 10px;
    background: var(--gh-subtle-bg);
}

.markdown-body summary {
    cursor: pointer;
    font-weight: 600;
}

/* TOC block in your template */
.markdown-body nav#TOC,
.markdown-body nav[id$="TOC"] {
    margin: 16px 0 24px 0;
    padding: 12px 14px;
    border: 1px solid var(--gh-border);
    border-radius: 10px;
    background: var(--gh-subtle-bg);
}

.markdown-body nav#TOC ul,
.markdown-body nav[id$="TOC"] ul {
    margin: 0;
}