.markblocks-markdown-body {
    --markblocks-border: #d9e0ea;
    --markblocks-muted: #667085;
    --markblocks-accent: #2563eb;
    line-height: 1.72;
    overflow-wrap: anywhere;
}

.markblocks-markdown-body > :first-child { margin-top: 0; }
.markblocks-markdown-body > :last-child { margin-bottom: 0; }
.markblocks-markdown-body h1,
.markblocks-markdown-body h2,
.markblocks-markdown-body h3,
.markblocks-markdown-body h4,
.markblocks-markdown-body h5,
.markblocks-markdown-body h6 { margin: 1.55em 0 .55em; line-height: 1.22; }
.markblocks-markdown-body p { margin: 0 0 1.15em; }
.markblocks-markdown-body ul,
.markblocks-markdown-body ol { margin: 0 0 1.15em 1.35em; padding: 0; }
.markblocks-markdown-body li { margin: .28em 0; }
.markblocks-markdown-body li > input[type="checkbox"] { margin-right: .45em; }
.markblocks-markdown-body a { color: var(--markblocks-accent); text-decoration: underline; text-underline-offset: 2px; }
.markblocks-markdown-body blockquote {
    margin: 1.4em 0;
    padding: .2em 0 .2em 1.15em;
    border-left: 4px solid var(--markblocks-accent);
    color: var(--markblocks-muted);
}
.markblocks-markdown-body blockquote > :last-child { margin-bottom: 0; }
.markblocks-markdown-body hr { border: 0; border-top: 1px solid var(--markblocks-border); margin: 2em 0; }
.markblocks-markdown-body img { max-width: 100%; height: auto; border-radius: 8px; }
.markblocks-markdown-image { margin: 1.4em 0; }
.markblocks-inline-code {
    padding: .16em .4em;
    border: 1px solid rgba(127, 127, 127, .2);
    border-radius: 5px;
    background: rgba(127, 127, 127, .09);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: .9em;
}
.markblocks-table-wrap {
    --markblocks-border: #d9e0ea;
    --markblocks-accent: #2563eb;
    width: 100%;
    overflow-x: auto;
    margin: 1.4em 0;
}
.markblocks-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    font-size: .96em;
}
.markblocks-table-wrap table th,
.markblocks-table-wrap table td {
    padding: .72em .85em;
    border: 1px solid var(--markblocks-border);
    vertical-align: middle;
    text-align: left !important;
}
.markblocks-table-wrap table th {
    font-weight: 700;
    border-bottom: 2px solid var(--markblocks-accent);
    background: rgba(127, 127, 127, .06);
}
.markblocks-table-wrap table .markblocks-align-left { text-align: left !important; }
.markblocks-table-wrap table .markblocks-align-center { text-align: center !important; }
.markblocks-table-wrap table .markblocks-align-right { text-align: right !important; }

.markblocks-code-block {
    --markblocks-code-bg: #0b1220;
    --markblocks-code-toolbar: #111b2e;
    --markblocks-code-text: #e5edf8;
    --markblocks-code-muted: #93a4bc;
    --markblocks-code-border: rgba(255,255,255,.1);
    position: relative;
    margin: 1.4em 0;
    overflow: hidden;
    border: 1px solid var(--markblocks-code-border);
    border-radius: 10px;
    background: var(--markblocks-code-bg);
    box-shadow: 0 12px 30px rgba(2, 8, 23, .16);
}
.markblocks-code-block.markblocks-theme-light {
    --markblocks-code-bg: #f8fafc;
    --markblocks-code-toolbar: #eef2f7;
    --markblocks-code-text: #172033;
    --markblocks-code-muted: #526079;
    --markblocks-code-border: #d8e0eb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}
.markblocks-code-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 42px;
    padding: 0 12px 0 15px;
    border-bottom: 1px solid var(--markblocks-code-border);
    background: var(--markblocks-code-toolbar);
}
.markblocks-code-language {
    color: var(--markblocks-code-muted);
    font: 600 11px/1.2 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.markblocks-copy-code {
    appearance: none;
    border: 1px solid var(--markblocks-code-border);
    border-radius: 6px;
    padding: 5px 9px;
    background: transparent;
    color: var(--markblocks-code-muted);
    cursor: pointer;
    font: 600 11px/1.2 system-ui, sans-serif;
}
.markblocks-copy-code:hover,
.markblocks-copy-code:focus { color: var(--markblocks-code-text); border-color: currentColor; outline: none; }
.markblocks-code-block pre {
    margin: 0;
    padding: 18px 20px 20px;
    max-width: 100%;
    overflow: auto;
    background: transparent;
    color: var(--markblocks-code-text);
    tab-size: 4;
}
.markblocks-code-block code {
    display: block;
    min-width: max-content;
    color: inherit;
    background: transparent;
    white-space: pre;
    font: 13.5px/1.65 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    text-shadow: none;
}
.markblocks-code-block.markblocks-wrap-lines code { min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.markblocks-token.comment { color: #7f8ea3; font-style: italic; }
.markblocks-token.string { color: #a7e3a1; }
.markblocks-token.keyword { color: #7dcfff; font-weight: 600; }
.markblocks-token.number,
.markblocks-token.boolean { color: #c4a7ff; }
.markblocks-token.function { color: #ffd580; }
.markblocks-token.property,
.markblocks-token.decorator { color: #ff9fb5; }
.markblocks-token.variable { color: #f6c177; }
.markblocks-token.operator { color: #8bd5ca; }
.markblocks-token.builtin { color: #f5a97f; }
.markblocks-token.tag { color: #ff8fa3; }
.markblocks-token.entity { color: #8bd5ca; }
.markblocks-theme-light .markblocks-token.comment { color: #69758a; }
.markblocks-theme-light .markblocks-token.string { color: #18794e; }
.markblocks-theme-light .markblocks-token.keyword { color: #005cc5; }
.markblocks-theme-light .markblocks-token.number,
.markblocks-theme-light .markblocks-token.boolean { color: #6f42c1; }
.markblocks-theme-light .markblocks-token.function { color: #8a4b08; }
.markblocks-theme-light .markblocks-token.property,
.markblocks-theme-light .markblocks-token.decorator { color: #b31d28; }
.markblocks-theme-light .markblocks-token.variable { color: #9a6700; }
.markblocks-theme-light .markblocks-token.operator,
.markblocks-theme-light .markblocks-token.entity { color: #0b7285; }
.markblocks-theme-light .markblocks-token.builtin { color: #a23d00; }
.markblocks-theme-light .markblocks-token.tag { color: #b31d28; }
.markblocks-source-hidden-note {
    padding: 12px 14px;
    border: 1px dashed #98a2b3;
    border-radius: 8px;
    background: #f8fafc;
    color: #475467;
    font-size: 13px;
}

.markblocks-markdown-error {
    padding: 0.75rem 1rem;
    border: 1px solid currentColor;
    border-radius: 4px;
}
