@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap');

body {
    font-family: 'Noto Sans SC', 'Helvetica Neue', Arial, sans-serif;
    background-color: #0c111c; /* A deep, dark blue-gray */
}

/* Custom styles for rendered markdown */
.prose {
    font-size: 1rem;
    line-height: 1.75;
}

.prose h1, .prose h2, .prose h3, .prose h4, .prose h5, .prose h6 {
    color: #ffffff;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: 1em;
}

.prose h3 {
    border-bottom: 1px solid #374151; /* gray-700 */
    padding-bottom: 0.4em;
}

.prose strong {
    color: #93c5fd; /* blue-300 */
}

.prose a {
    color: #60a5fa; /* blue-400 */
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.prose a:hover {
    color: #3b82f6; /* blue-500 */
}

.prose blockquote {
    border-left-color: #3b82f6; /* blue-500 */
    color: #d1d5db; /* gray-300 */
}

.prose code {
    background-color: #1f2937; /* gray-800 */
    color: #f3f4f6;
    padding: 0.2em 0.4em;
    border-radius: 0.25rem;
}

.prose table {
    width: 100%;
    margin-top: 2em;
    margin-bottom: 2em;
    border-collapse: collapse;
}

.prose th {
    background-color: #1f2937; /* gray-800 */
    color: #d1d5db; /* gray-300 */
    padding: 0.75rem 1rem;
    border: 1px solid #374151; /* gray-700 */
    text-align: left;
    font-weight: 600;
}

.prose td {
    padding: 0.75rem 1rem;
    border: 1px solid #374151; /* gray-700 */
    background-color: rgba(17, 24, 39, 0.5); /* gray-900 with alpha */
    vertical-align: top;
}

.prose tr:nth-child(even) td {
    background-color: rgba(31, 41, 55, 0.5); /* gray-800 with alpha */
}

.prose ul, .prose ol {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose ul > li::before {
    background-color: #60a5fa;
}
