/* GitHub-inspired markdown styles */
.markdown {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.markdown > *:first-child {
  margin-top: 0 !important;
}

.markdown > *:last-child {
  margin-bottom: 0 !important;
}

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

.markdown h1 {
  font-size: 2em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #f0f2f5;
}

@media (prefers-color-scheme: dark) {
  .markdown h1 {
    border-bottom-color: #30363d;
  }
}

.markdown h2 {
  font-size: 1.5em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #f0f2f5;
}

@media (prefers-color-scheme: dark) {
  .markdown h2 {
    border-bottom-color: #30363d;
  }
}

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

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

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

.markdown h6 {
  font-size: 0.85em;
  color: #6a737d;
}

@media (prefers-color-scheme: dark) {
  .markdown h6 {
    color: #8b949e;
  }
}

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

/* Links */
.markdown a {
  color: #0366d6;
  text-decoration: none;
}

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

@media (prefers-color-scheme: dark) {
  .markdown a {
    color: #58a6ff;
  }
}

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

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

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

.markdown ul ul,
.markdown ul ol,
.markdown ol ol,
.markdown ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown li {
  word-wrap: break-word;
}

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

.markdown li + li {
  margin-top: 0.25em;
}

/* Task lists */
.markdown ul:has(> li > input[type="checkbox"]) {
  padding-left: 1rem;
}

/* Nested task lists need indentation */
.markdown li:has(> input[type="checkbox"]) ul:has(> li > input[type="checkbox"]) {
  padding-left: 2em;
  margin-top: 0;
  margin-bottom: 0;
}

.markdown li:has(> input[type="checkbox"]) {
  list-style-type: none;
  margin-left: 0;
  position: relative;
  padding-left: 1.75rem;
}

/* Position checkbox absolutely to the left */
.markdown li:has(> input[type="checkbox"]) > input[type="checkbox"] {
  position: absolute;
  left: 0;
  top: 0.25rem;
}

/* Tighter spacing for nested task list items */
.markdown li:has(> input[type="checkbox"]) ul li + li {
  margin-top: 0.25em;
}


.markdown li > input[type="checkbox"] {
  appearance: none;
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  flex-shrink: 0;
  border-radius: 0.25rem;
  border: 1px solid #d0d7de;
  background-color: #f6f8fa;
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
}

@media (prefers-color-scheme: dark) {
  .markdown li > input[type="checkbox"] {
    border-color: #30363d;
    background-color: #161b22;
  }
}

.markdown li > input[type="checkbox"]:hover {
  border-color: #0969da;
}

@media (prefers-color-scheme: dark) {
  .markdown li > input[type="checkbox"]:hover {
    border-color: #58a6ff;
  }
}

.markdown li > input[type="checkbox"]:checked {
  border-color: #0969da;
  background-color: #0969da;
}

@media (prefers-color-scheme: dark) {
  .markdown li > input[type="checkbox"]:checked {
    border-color: #58a6ff;
    background-color: #58a6ff;
  }
}

.markdown li > input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 0.25rem;
  top: 0.0625rem;
  width: 0.375rem;
  height: 0.625rem;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.markdown li > input[type="checkbox"]:focus-visible {
  outline: 2px solid #0969da;
  outline-offset: 2px;
}

@media (prefers-color-scheme: dark) {
  .markdown li > input[type="checkbox"]:focus-visible {
    outline-color: #58a6ff;
  }
}

.markdown li > input[type="checkbox"]:disabled {
  cursor: not-allowed;
}

/* Code */
.markdown code,
.markdown tt {
  padding: 1px 3px;
  margin: 0;
  font-size: 85%;
  background-color: rgba(175, 184, 193, 0.2);
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
}

@media (prefers-color-scheme: dark) {
  .markdown code,
  .markdown tt {
    background-color: rgba(110, 118, 129, 0.4);
  }
}

.markdown pre {
  margin-top: 0;
  margin-bottom: 16px;
  padding: 16px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
  background-color: #f6f8fa !important;
}

@media (prefers-color-scheme: dark) {
  .markdown pre {
    background-color: #0d1117 !important;
  }
}

.markdown pre code {
  padding: 0;
  margin: 0;
  font-size: 100%;
  word-break: normal;
  white-space: pre;
  border: 0;
  background: transparent !important;
}

/* Blockquotes */
.markdown blockquote {
  margin: 0;
  padding: 0 1em;
  color: #6a737d;
  border-left: 0.25em solid #dfe2e5;
  margin-bottom: 16px;
}

@media (prefers-color-scheme: dark) {
  .markdown blockquote {
    color: #8b949e;
    border-left-color: #30363d;
  }
}

.markdown blockquote > :first-child {
  margin-top: 0;
}

.markdown blockquote > :last-child {
  margin-bottom: 0;
}

/* Tables */
.markdown table {
  border-spacing: 0;
  border-collapse: collapse;
  margin-top: 0;
  margin-bottom: 16px;
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
}

.markdown table th {
  font-weight: 600;
}

.markdown table th,
.markdown table td {
  padding: 6px 13px;
  border: 1px solid #d0d7de;
}

@media (prefers-color-scheme: dark) {
  .markdown table th,
  .markdown table td {
    border-color: #30363d;
  }
}

.markdown table tr {
  background-color: #ffffff;
  border-top: 1px solid #c6cbd1;
}

@media (prefers-color-scheme: dark) {
  .markdown table tr {
    background-color: #0d1117;
    border-top-color: #21262d;
  }
}

.markdown table tr:nth-child(2n) {
  background-color: #f6f8fa;
}

@media (prefers-color-scheme: dark) {
  .markdown table tr:nth-child(2n) {
    background-color: #161b22;
  }
}

/* Horizontal rule */
.markdown hr {
  height: 1px;
  padding: 0;
  margin: 24px 0;
  background-color: #e1e4e8;
  border: 0;
}

@media (prefers-color-scheme: dark) {
  .markdown hr {
    background-color: #30363d;
  }
}

/* Images */
.markdown img {
  max-width: 100%;
  box-sizing: content-box;
  background-color: #ffffff;
}

@media (prefers-color-scheme: dark) {
  .markdown img {
    background-color: #0d1117;
  }
}

/* Strong/Bold */
.markdown strong {
  font-weight: 600;
}

/* Emphasis/Italic */
.markdown em {
  font-style: italic;
}

/* Strike through */
.markdown del {
  text-decoration: line-through;
}

/* Details/Summary */
.markdown details {
  margin-bottom: 16px;
}

.markdown summary {
  cursor: pointer;
  font-weight: 600;
  margin-bottom: 8px;
}

/* Alert/Callout styles for GitHub-flavored markdown */
.markdown .markdown-alert {
  padding: 0.5rem 1rem;
  margin-bottom: 16px;
  border-left: 0.25em solid;
  border-radius: 0 6px 6px 0;
}

.markdown .markdown-alert.markdown-alert-note {
  border-left-color: #0969da;
  background-color: rgba(9, 105, 218, 0.1);
}

@media (prefers-color-scheme: dark) {
  .markdown .markdown-alert.markdown-alert-note {
    background-color: rgba(88, 166, 255, 0.1);
  }
}

.markdown .markdown-alert.markdown-alert-tip {
  border-left-color: #1a7f37;
  background-color: rgba(26, 127, 55, 0.1);
}

@media (prefers-color-scheme: dark) {
  .markdown .markdown-alert.markdown-alert-tip {
    background-color: rgba(63, 185, 80, 0.1);
  }
}

.markdown .markdown-alert.markdown-alert-important {
  border-left-color: #8250df;
  background-color: rgba(130, 80, 223, 0.1);
}

@media (prefers-color-scheme: dark) {
  .markdown .markdown-alert.markdown-alert-important {
    background-color: rgba(163, 113, 247, 0.1);
  }
}

.markdown .markdown-alert.markdown-alert-warning {
  border-left-color: #d1242f;
  background-color: rgba(209, 36, 47, 0.1);
}

@media (prefers-color-scheme: dark) {
  .markdown .markdown-alert.markdown-alert-warning {
    background-color: rgba(248, 81, 73, 0.1);
  }
}

.markdown .markdown-alert.markdown-alert-caution {
  border-left-color: #bf8700;
  background-color: rgba(191, 135, 0, 0.1);
}

@media (prefers-color-scheme: dark) {
  .markdown .markdown-alert.markdown-alert-caution {
    background-color: rgba(187, 128, 9, 0.1);
  }
}
