:root {
     --ma-bg: #ffffff;
     --ma-text: #0f172a;
     --ma-muted: #475569;
     --ma-border: #e2e8f0;
     --ma-accent: #2563eb;
     --ma-accent-weak: #e5f2ff;
     --ma-note-bg: #f8fafc;
     --ma-radius: 5px;
     --ma-gap: 1.25rem;
     --ma-gap-lg: 2rem;
     --ma-pad: 1rem;
     --ma-pad-sm: .5rem;
     --sev-low: #22c55e;
     --sev-med: #eab308;
     --sev-high: #f97316;
     --sev-ext: #ef4444;
}

.ma-root table * {
     font-size: 14px;
}

/* Root i typografia */
.ma-root,
.ma-section {
     color: var(--ma-text);
}

.ma-root p {
     margin: .5rem 0 1rem;
}

.ma-root .muted {
     color: var(--ma-muted);
}

/* Nagłówki */
.ma-root h2,
.ma-root h3,
.ma-root h4 {
     margin: var(--ma-gap-lg) 0 var(--ma-gap);
     line-height: 1.2;
     scroll-margin-top: 80px;
}

.ma-root h2 {
     font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem);
}

.ma-root h3 {
     font-size: clamp(1.15rem, 1rem + .6vw, 1.4rem);
}

.ma-root h4 {
     font-size: clamp(1rem, .95rem + .4vw, 1.2rem);
}

/* Sekcje */
.ma-section {
     padding: 0 0 var(--ma-gap);
     border-bottom: 2px solid var(--secondary-text-color);
}

/* Listy */
.ma-tldr,
.ma-list {
     list-style: square;
     padding-left: 1.25rem;
     margin: .25rem 0 var(--ma-gap);
}

.ma-tldr li {
     margin: .25rem 0;
}

.ma-list li {
     margin: .35rem 0;
}

.ma-tldr li::marker,
.ma-list li::marker {
     color: var(--secondary-text-color);
}

/* Notki */
.ma-note {
     font-size: 14px;
     background: #ffdacb;
     color: #6c2e15;
     font-weight: bold;
     padding: var(--ma-pad);
     border-radius: var(--ma-radius);
     margin: .75rem 0 var(--ma-gap);
}

/* Tabele */
.ma-table {
     width: 100%;
     margin: var(--ma-gap) 0 var(--ma-gap-lg);
     overflow-x: auto;
     border-radius: var(--ma-radius);
     border: 1px solid var(--ma-border);
     background: var(--ma-bg);
}

.ma-table table {
     width: 100%;
     border-collapse: collapse;
     min-width: 640px;
}

.ma-table thead th {
     position: sticky;
     top: 0;
     background: var(--ma-accent-weak);
     color: var(--ma-text);
     text-align: left;
     font-weight: 600;
     font-size: .95rem;
     border-bottom: 1px solid var(--ma-border);
}

.ma-table th,
.ma-table td {
     padding: .75rem .9rem;
     border-bottom: 1px solid var(--ma-border);
     vertical-align: top;
}

.ma-table tbody tr:nth-child(even) td {
     background: #fcfdfd;
}

/* Severity wierszy */
.sev-low td {
     background: color-mix(in srgb, var(--sev-low) 7%, transparent);
}

.sev-med td {
     background: color-mix(in srgb, var(--sev-med) 7%, transparent);
}

.sev-high td {
     background: color-mix(in srgb, var(--sev-high) 7%, transparent);
}

.sev-extreme td {
     background: color-mix(in srgb, var(--sev-ext) 7%, transparent);
}

/* Legenda tagów */
.ma-legend {
     display: flex;
     flex-wrap: wrap;
     gap: .5rem;
     margin: .5rem 0 var(--ma-gap);
}

.ma-tag {
     display: inline-block;
     font-size: .75rem;
     line-height: 1;
     padding: .35rem .5rem;
     border-radius: 999px;
     font-weight: 600;
     background: var(--ma-note-bg);
     border: 1px solid var(--ma-border);
     color: var(--ma-text);
}

.ma-tag.is-low {
     border-color: transparent;
     background: color-mix(in srgb, var(--sev-low) 50%, var(--ma-border));
}

.ma-tag.is-med {
     border-color: transparent;
     background: color-mix(in srgb, var(--sev-med) 50%, var(--ma-border));
}

.ma-tag.is-high {
     border-color: transparent;
     background: color-mix(in srgb, var(--sev-high) 50%, var(--ma-border));
}

.ma-tag.is-extreme {
     border-color: transparent;
     background: color-mix(in srgb, var(--sev-ext) 50%, var(--ma-border));
}