html,
body {
    font-family: 'TeX Gyre Heros', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, 'Noto Sans CJK SC';
}

.serif {
    font-family: 'TeX Gyre Termes', 'Nimbus Roman', 'Times New Roman', 'FreeSerif', 'Noto Serif', serif, 'Noto Serif CJK SC';
}

.sans-serif {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, 'Noto Sans CJK SC';
}

.monospace {
    font-family: 'JetBrains Mono NL', 'Noto Sans Mono', 'TeX Gyre Cursor', monospace, 'Noto Sans CJK SC';
}


/* Baseline resets and layout */
.StdSinglePageContent {
    hyphens: auto;
    font-size: 1.1rem;
    max-width: 800px;
    padding: 40px 0 0;
    margin: 0;
    line-height: 1.6;
    color: #1a1a1a;
}

/* Headings */
.StdSinglePageContent h1,
.StdSinglePageContent h2,
.StdSinglePageContent h3,
.StdSinglePageContent h4 {
    font-weight: 700;
    color: #111827;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.StdSinglePageContent h1 {
    font-size: 2.0em;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.3em;
}

.StdSinglePageContent h2 {
    font-size: 1.45em;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.3em;
}

.StdSinglePageContent h3 {
    font-size: 1.25em;
}

.StdSinglePageContent h4 {
    font-size: 1em;
}

/* Inline elements */
.StdSinglePageContent p {
    margin-top: 0;
    margin-bottom: 1em;
}

.StdSinglePageContent a {
    text-decoration: underline;
    color: #2563eb;
    /* Classic blue link */
    font-weight: 500;
}

.StdSinglePageContent a:hover {
    color: #1d4ed8;
}

.StdSinglePageContent strong {
    font-weight: 700;
    color: #111827;
}

/* Lists */
.StdSinglePageContent ul,
.StdSinglePageContent ol {
    margin-top: 0;
    margin-bottom: 1em;
    padding-left: 1.5em;
}

.StdSinglePageContent ul {
    list-style-type: disc;
}

.StdSinglePageContent ol {
    list-style-type: decimal;
}

.StdSinglePageContent li {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
}

/* Blockquotes */
.StdSinglePageContent blockquote {
    margin: 1em 0;
    padding-left: 1em;
    border-left: 4px solid #e5e7eb;
    color: #4b5563;
    font-style: italic;
}

/* Code Blocks & Inline Code */
.StdSinglePageContent code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.875em;
    background-color: #f3f4f6;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
    color: #eb5757;
    /* Standard reddish inline code */
}

/* Prevents inline code background leaking into full pre blocks if your markdown parser nests them */
.StdSinglePageContent pre code {
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    color: inherit;
    font-size: inherit;
}

.StdSinglePageContent pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    background-color: #1f2937;
    /* Dark theme for code blocks */
    color: #f9fafb;
    padding: 1em;
    border-radius: 0.375rem;
    overflow-x: auto;
    margin: 1em 0;
}

/* Tables */
.StdSinglePageContent table {
    width: 100%;
    border-collapse: collapse;
    margin: 1em 0;
}

.StdSinglePageContent th,
.StdSinglePageContent td {
    border: 1px solid #e5e7eb;
    padding: 0.625em;
    text-align: left;
}

.StdSinglePageContent th {
    background-color: #f9fafb;
    font-weight: 600;
}

/* Miscellaneous */
.StdSinglePageContent hr {
    border: 0;
    border-top: 1px solid #e5e7eb;
    margin: 2em 0;
}

.StdSinglePageContent img {
    max-width: 100%;
    height: auto;
    margin: 1em auto;
    border-radius: 0.375rem;
}


