.learn-body {
    color: #334155;
    font-size: 1.125rem;
    line-height: 1.85;
    margin-left: auto;
    margin-right: auto;
    max-width: 48rem;
}

.learn-body > * + * { margin-top: 2rem; }
.learn-body .learn-rich-text > * + * { margin-top: 1.4rem; }
.learn-body .learn-rich-text a { color: #3b5998; text-decoration: underline; text-underline-offset: 0.18em; }
.learn-body .learn-rich-text a:hover { color: #2a4073; }
.learn-body .learn-rich-text ul,
.learn-body .learn-rich-text ol { margin: 1.25rem 0; padding-left: 1.75rem; }
.learn-body .learn-rich-text ul { list-style: disc; }
.learn-body .learn-rich-text ol { list-style: decimal; }
.learn-body .learn-rich-text li + li { margin-top: 0.45rem; }
.learn-body .learn-rich-text hr { border: 0; border-top: 1px solid #cbd5e1; margin: 2.5rem 0; }
.learn-body .learn-rich-text h2,
.learn-body .learn-rich-text h3,
.learn-body .learn-rich-text h4 { color: #2a4073; font-weight: 800; letter-spacing: -0.02em; line-height: 1.25; margin-top: 2.75rem; }
.learn-body .learn-rich-text h2 { font-size: 2rem; }
.learn-body .learn-rich-text h3 { font-size: 1.5rem; }
.learn-body .learn-rich-text h4 { font-size: 1.25rem; }

.learn-body .learn-heading {
    color: #2a4073;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.2;
    margin-top: 3.5rem !important;
}

.learn-body .learn-heading--subsection { font-size: 1.5rem; margin-top: 2.75rem !important; }
.learn-body .learn-image img { border-radius: 0.9rem; box-shadow: 0 18px 45px rgba(42, 64, 115, 0.16); height: auto; width: 100%; }
.learn-body .learn-image figcaption { color: #64748b; font-size: 0.875rem; line-height: 1.5; margin-top: 0.75rem; text-align: center; }
.learn-body .learn-image--wide { margin-left: 50%; max-width: min(68rem, calc(100vw - 2rem)); transform: translateX(-50%); width: 68rem; }

.learn-body .learn-quote {
    border-left: 5px solid #22c55e;
    color: #2a4073;
    font-size: 1.45rem;
    font-weight: 600;
    line-height: 1.55;
    padding: 0.75rem 0 0.75rem 1.75rem;
}

.learn-body .learn-quote figcaption { color: #64748b; font-size: 0.95rem; font-weight: 500; margin-top: 0.75rem; }
.learn-body .learn-callout { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 1rem; padding: 1.5rem; }
.learn-body .learn-callout--key_point { background: #f0fdf4; border-color: #bbf7d0; }
.learn-body .learn-callout h3 { color: #2a4073; font-size: 1.15rem; font-weight: 800; margin-bottom: 0.6rem; }
.learn-body .learn-code { background: #172033; border-radius: 0.9rem; box-shadow: 0 14px 35px rgba(15, 23, 42, 0.2); overflow: hidden; }
.learn-body .learn-code__language { border-bottom: 1px solid #334155; color: #86efac; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.75rem; letter-spacing: 0.08em; padding: 0.65rem 1rem; text-transform: uppercase; }
.learn-body .learn-code pre { color: #e2e8f0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9rem; line-height: 1.65; margin: 0; overflow-x: auto; padding: 1.25rem; white-space: pre; }

.learn-body .learn-table {
    margin-left: 50%;
    max-width: calc(100vw - 2rem);
    overflow-x: auto;
    padding: 0.2rem;
    transform: translateX(-50%);
    width: 64rem;
}

.learn-body .learn-table:focus-visible {
    border-radius: 0.9rem;
    outline: 3px solid rgba(34, 197, 94, 0.55);
    outline-offset: 3px;
}

.learn-body .learn-table table {
    border: 1px solid #cbd5e1;
    border-collapse: separate;
    border-radius: 0.8rem;
    border-spacing: 0;
    font-size: 0.98rem;
    line-height: 1.55;
    min-width: 42rem;
    overflow: hidden;
    width: 100%;
}

.learn-body .learn-table caption {
    color: #2a4073;
    font-size: 1rem;
    font-weight: 700;
    padding: 0 0 0.75rem;
    text-align: left;
}

.learn-body .learn-table thead { background: #e8eef9; }

.learn-body .learn-table th {
    border-bottom: 2px solid #9fb0d2;
    color: #2a4073;
    font-weight: 800;
    letter-spacing: 0.01em;
    padding: 0.9rem 1rem;
    text-align: left;
    vertical-align: bottom;
}

.learn-body .learn-table td {
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    padding: 0.9rem 1rem;
    vertical-align: top;
}

.learn-body .learn-table th + th,
.learn-body .learn-table td + td { border-left: 1px solid #e2e8f0; }
.learn-body .learn-table tbody tr:nth-child(even) { background: #f8fafc; }
.learn-body .learn-table tbody tr:last-child td { border-bottom: 0; }
.learn-body .learn-table td p { margin: 0; }
.learn-body .learn-table td p + p { margin-top: 0.6rem; }
.learn-body .learn-table td strong { color: #1e293b; font-weight: 750; }
.learn-body .learn-table td a { color: #3b5998; text-decoration: underline; text-underline-offset: 0.16em; }
.learn-body .learn-table td a:hover { color: #2a4073; }

@media (max-width: 640px) {
    .learn-body { font-size: 1.05rem; }
    .learn-body .learn-heading { font-size: 1.7rem; }
    .learn-body .learn-heading--subsection { font-size: 1.35rem; }
    .learn-body .learn-quote { font-size: 1.2rem; padding-left: 1.15rem; }
    .learn-body .learn-table table { font-size: 0.92rem; }
}
