/* GitHub Markdown Styles - Isolated from other CSS */

/* Reset and isolate readme content */
.readme-content {
    /* Reset all inherited styles */
    all: initial;
    
    /* Re-enable block display */
    display: block;
    
    /* Base styles */
    font: 400 16px/1.5 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    color: #111 !important;
    background-color: #fdfdfd !important;
    -webkit-text-size-adjust: 100%;
    -webkit-font-feature-settings: 'kern' 1;
    -moz-font-feature-settings: 'kern' 1;
    -o-font-feature-settings: 'kern' 1;
    font-feature-settings: 'kern' 1;
    font-kerning: normal;
    padding: 0 !important;
    box-sizing: border-box !important;
    
    /* Prevent content overflow - no horizontal scroll */
    overflow-x: hidden !important;
    overflow-y: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Reset all child elements */
.readme-content * {
    all: unset;
    display: revert;
    box-sizing: border-box;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Re-apply base font to all elements */
.readme-content,
.readme-content * {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial,
        sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol' !important;
    color: #24292e !important;
    line-height: 1.5 !important;
}

@media only screen and (max-width: 600px) {
    .readme-content {
        padding: 0 !important;
    }

    .readme-content main,
    .readme-content .markdown-body {
        padding: 0 !important;
    }
}

/* Main container styling - removed border and padding */
.readme-content main,
.readme-content .markdown-body {
    display: block !important;
    margin: 0px !important;
    max-width: 100% !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
}

/* Horizontal rule */
.readme-content hr {
    display: block !important;
    color: #bbb !important;
    background-color: #bbb !important;
    height: 1px !important;
    flex: 0 1 auto !important;
    margin: 1em 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Links */
.readme-content a {
    color: #0366d6 !important;
    text-decoration: none !important;
    background-color: transparent !important;
    cursor: pointer !important;
}

.readme-content a:visited {
    color: #0366d6 !important;
}

.readme-content a:hover {
    color: #0366d6 !important;
    text-decoration: underline !important;
}

/* Pre and code blocks */
.readme-content pre {
    display: block !important;
    background-color: #f6f8fa !important;
    border-radius: 3px !important;
    font-size: 85% !important;
    line-height: 1.45 !important;
    overflow: hidden !important;
    padding: 16px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.readme-content code {
    display: inline !important;
    background-color: rgba(27, 31, 35, 0.05) !important;
    border-radius: 3px !important;
    font-size: 85% !important;
    margin: 0 !important;
    word-wrap: break-word !important;
    padding: 0.2em 0.4em !important;
    font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
        monospace !important;
    white-space: pre-wrap !important;
}

.readme-content pre > code {
    background-color: transparent !important;
    border: 0 !important;
    display: inline !important;
    line-height: inherit !important;
    margin: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    word-wrap: normal !important;
    font-size: 100% !important;
    white-space: pre !important;
}

/* Blockquotes */
.readme-content blockquote {
    display: block !important;
    margin-left: 30px !important;
    margin-top: 0px !important;
    margin-bottom: 16px !important;
    margin-right: 0 !important;
    border-left-width: 3px !important;
    padding: 0 1em !important;
    color: #828282 !important;
    border-left: 4px solid #e8e8e8 !important;
    padding-left: 15px !important;
    font-size: 18px !important;
    letter-spacing: -1px !important;
    font-style: italic !important;
}

.readme-content blockquote * {
    font-style: normal !important;
    letter-spacing: 0 !important;
    color: #6a737d !important;
}

/* Tables */
.readme-content table {
    display: table !important;
    border-spacing: 0 !important;
    border-collapse: collapse !important;
    font-size: 12px !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 16px !important;
    margin-top: 0 !important;
    table-layout: fixed !important;
    word-break: break-all !important;
}

.readme-content table * {
    border-spacing: 0 !important;
}

.readme-content td {
    display: table-cell !important;
    padding: 4px 8px !important;
    border: 1px solid #dfe2e5 !important;
    word-break: break-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.readme-content th {
    display: table-cell !important;
    font-weight: 600 !important;
    padding: 4px 8px !important;
    border: 1px solid #dfe2e5 !important;
    word-break: break-all !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.readme-content tr {
    display: table-row !important;
    background-color: #fff !important;
    border-top: 1px solid #c6cbd1 !important;
}

.readme-content tbody {
    display: table-row-group !important;
}

.readme-content thead {
    display: table-header-group !important;
}

.readme-content table tr:nth-child(2n) {
    background-color: #f6f8fa !important;
}

/* Images */
.readme-content img {
    display: inline-block !important;
    border: none !important;
    box-sizing: border-box !important;
}

/* Default max-width but allow smaller widths */
.readme-content img:not([style*="width"]) {
    max-width: 100% !important;
    height: auto !important;
}

/* Images with width style should respect it but not exceed container */
.readme-content img[style*="width"] {
    max-width: 100% !important;
}

/* Respect height="0" specifically */
.readme-content img[style*="display:none"] {
    display: none !important;
}

/* Paragraphs */
.readme-content p {
    display: block !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    color: #24292e !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

/* Lists */
.readme-content ul {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-left: 2em !important;
    list-style-type: disc !important;
}

.readme-content ol {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-left: 2em !important;
    list-style-type: decimal !important;
}

.readme-content li {
    display: list-item !important;
    color: #24292e !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}

.readme-content li + li {
    margin-top: 0.25em !important;
}

/* Nested lists */
.readme-content ul ul,
.readme-content ul ol,
.readme-content ol ol,
.readme-content ol ul {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.readme-content li > p {
    margin-top: 16px !important;
}

/* Headings */
.readme-content h1,
.readme-content h2,
.readme-content h3 {
    display: block !important;
    border-bottom: 1px solid #eaecef !important;
    color: #111 !important;
}

.readme-content h1,
.readme-content h2,
.readme-content h3,
.readme-content h4,
.readme-content h5,
.readme-content h6 {
    display: block !important;
    margin-top: 24px !important;
    margin-bottom: 16px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.readme-content h1 {
    font-size: 2em !important;
    padding-bottom: .3em !important;
}

.readme-content h2 {
    font-size: 1.5em !important;
    padding-bottom: .3em !important;
}

.readme-content h3 {
    font-size: 1.25em !important;
    padding-bottom: .3em !important;
}

.readme-content h4 {
    display: block !important;
    font-size: 1em !important;
    color: #111 !important;
}

.readme-content h5 {
    display: block !important;
    font-size: .875em !important;
    color: #111 !important;
}

.readme-content h6 {
    display: block !important;
    font-size: .85em !important;
    color: #656d76 !important;
}

/* First and last child margins */
.readme-content > *:first-child,
.readme-content .markdown-body > *:first-child {
    margin-top: 0 !important;
}

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

/* Strong and emphasis */
.readme-content strong,
.readme-content b {
    font-weight: 600 !important;
}

.readme-content em,
.readme-content i {
    font-style: italic !important;
}

/* Definition lists */
.readme-content dl {
    display: block !important;
    padding: 0 !important;
}

.readme-content dl dt {
    display: block !important;
    padding: 0 !important;
    margin-top: 16px !important;
    font-size: 1em !important;
    font-style: italic !important;
    font-weight: 600 !important;
}

.readme-content dl dd {
    display: block !important;
    padding: 0 16px !important;
    margin-bottom: 16px !important;
    margin-left: 0 !important;
}

/* Task lists */
.readme-content .task-list-item {
    list-style-type: none !important;
}

.readme-content .task-list-item + .task-list-item {
    margin-top: 3px !important;
}

.readme-content .task-list-item input {
    margin: 0 .2em .25em -1.6em !important;
    vertical-align: middle !important;
}

/* Details/Summary */
.readme-content details {
    display: block !important;
}

.readme-content summary {
    display: list-item !important;
    cursor: pointer !important;
}

.readme-content details summary {
    margin-bottom: 16px !important;
}

/* Keyboard */
.readme-content kbd {
    display: inline-block !important;
    padding: 3px 5px !important;
    font-size: 11px !important;
    line-height: 10px !important;
    color: #444d56 !important;
    vertical-align: middle !important;
    background-color: #fafbfc !important;
    border: solid 1px #c6cbd1 !important;
    border-bottom-color: #959da5 !important;
    border-radius: 3px !important;
    box-shadow: inset 0 -1px 0 #959da5 !important;
}

/* GitHub Alerts */
.readme-content .markdown-alert {
    padding: 0.5rem 1rem !important;
    margin-bottom: 16px !important;
    color: inherit !important;
    border-left: .25em solid #d1d9e0 !important;
    background-color: transparent !important;
}

.readme-content .markdown-alert > :first-child {
    margin-top: 0 !important;
}

.readme-content .markdown-alert > :last-child {
    margin-bottom: 0 !important;
}

.readme-content .markdown-alert .markdown-alert-title {
    display: flex !important;
    font-weight: 500 !important;
    align-items: center !important;
    line-height: 1 !important;
    margin-bottom: 0.5rem !important;
}

.readme-content .markdown-alert.markdown-alert-note {
    border-left-color: #0969da !important;
    background-color: #f3f6fa !important;
}

.readme-content .markdown-alert.markdown-alert-note .markdown-alert-title {
    color: #0969da !important;
}

.readme-content .markdown-alert.markdown-alert-tip {
    border-left-color: #1a7f37 !important;
    background-color: #f0f9f3 !important;
}

.readme-content .markdown-alert.markdown-alert-tip .markdown-alert-title {
    color: #1a7f37 !important;
}

.readme-content .markdown-alert.markdown-alert-important {
    border-left-color: #8250df !important;
    background-color: #fbf3ff !important;
}

.readme-content .markdown-alert.markdown-alert-important .markdown-alert-title {
    color: #8250df !important;
}

.readme-content .markdown-alert.markdown-alert-warning {
    border-left-color: #9a6700 !important;
    background-color: #fff8e1 !important;
}

.readme-content .markdown-alert.markdown-alert-warning .markdown-alert-title {
    color: #9a6700 !important;
}

.readme-content .markdown-alert.markdown-alert-caution {
    border-left-color: #cf222e !important;
    background-color: #ffebe9 !important;
}

.readme-content .markdown-alert.markdown-alert-caution .markdown-alert-title {
    color: #cf222e !important;
}

/* Additional overflow prevention for all content */
.readme-content svg {
    max-width: 100% !important;
    height: auto !important;
}

.readme-content iframe {
    max-width: 100% !important;
}

.readme-content video {
    max-width: 100% !important;
    height: auto !important;
}

.readme-content object,
.readme-content embed {
    max-width: 100% !important;
}

/* Prevent long URLs from breaking layout */
.readme-content a {
    word-break: break-all !important;
}

/* Handle long code snippets */
.readme-content pre code {
    word-break: break-all !important;
    white-space: pre-wrap !important;
    overflow-x: visible !important;
}

/* Ensure all block elements respect container */
.readme-content div,
.readme-content section,
.readme-content article,
.readme-content aside,
.readme-content figure {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Prevent table overflow */
.readme-content .table-responsive,
.readme-content .table-wrapper {
    overflow: hidden !important;
    max-width: 100% !important;
}

/* Prevent any element from being wider than viewport */
.readme-content > * {
    max-width: 100% !important;
}