:root {
    --zmt-solution-ink: #0f172a;
    --zmt-solution-muted: #526071;
    --zmt-solution-surface: #ffffff;
    --zmt-solution-subtle: #f5f7fa;
    --zmt-solution-accent: #112a46;
    --zmt-solution-inner-radius: 12px;
    --zmt-solution-padding: 8px;
    --zmt-solution-outer-radius: calc(var(--zmt-solution-inner-radius) + var(--zmt-solution-padding));
    -webkit-font-smoothing: antialiased;
}

.zmt-solution-reader {
    box-sizing: border-box;
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: clamp(24px, 4vw, 56px) clamp(16px, 3vw, 32px);
    color: var(--zmt-solution-ink);
    font-size: 16px;
    line-height: 1.78;
    text-wrap: pretty;
}

.zmt-solution-reader *,
.zmt-solution-reader *::before,
.zmt-solution-reader *::after {
    box-sizing: border-box;
}

.zmt-solution-reader__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 32px;
    align-items: end;
    margin-bottom: 28px;
}

.zmt-solution-reader__header h1 {
    max-width: 18ch;
    margin: 4px 0 10px;
    font-size: clamp(32px, 5vw, 58px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.zmt-solution-reader__eyebrow {
    margin: 0;
    color: var(--zmt-solution-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.zmt-solution-reader__summary {
    max-width: 62ch;
    margin: 0;
    color: var(--zmt-solution-muted);
    font-size: 18px;
}

.zmt-solution-reader__metadata {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 1px;
    overflow: hidden;
    margin: 0;
    border: 1px solid #e3e8ee;
    border-radius: var(--zmt-solution-outer-radius);
    background: #e3e8ee;
}

.zmt-solution-reader__metadata div {
    min-width: 96px;
    padding: 12px 14px;
    background: var(--zmt-solution-surface);
}

.zmt-solution-reader__metadata dt {
    color: var(--zmt-solution-muted);
    font-size: 12px;
}

.zmt-solution-reader__metadata dd {
    margin: 2px 0 0;
    font-weight: 700;
}

.zmt-solution-reader__locked,
.zmt-solution-reader--empty {
    max-width: 48rem;
    padding: clamp(24px, 5vw, 48px);
    border: 1px solid #e3e8ee;
    border-radius: var(--zmt-solution-outer-radius);
    background: linear-gradient(145deg, #fff, #f5f7fa);
}

.zmt-solution-reader__locked > span {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: #e8eef5;
    color: var(--zmt-solution-accent);
    font-size: 13px;
    font-weight: 700;
}

.zmt-solution-reader__toolbar {
    position: sticky;
    z-index: 5;
    top: 12px;
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding: 10px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: var(--zmt-solution-outer-radius);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
    backdrop-filter: blur(12px);
}

.zmt-solution-reader__select-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.zmt-solution-reader__select {
    display: none;
    min-height: 44px;
    min-width: 0;
    flex: 1;
    border: 1px solid #d6dee7;
    border-radius: var(--zmt-solution-inner-radius);
    background: #fff;
    color: var(--zmt-solution-ink);
    padding: 0 36px 0 12px;
}

.zmt-solution-reader__downloads {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.zmt-solution-reader__action {
    border: 1px solid #d6dee7;
    background: #fff;
    color: var(--zmt-solution-ink);
    padding: 0 14px;
    font: inherit;
    font-size: 14px;
    font-weight: 650;
    cursor: pointer;
}

.zmt-solution-reader__action:hover {
    border-color: #9eabb9;
    background: var(--zmt-solution-subtle);
}

.zmt-solution-reader__action:focus-visible,
.zmt-solution-reader__file:focus-visible,
.zmt-solution-reader__select:focus-visible {
    outline: 3px solid rgba(17, 42, 70, .22);
    outline-offset: 2px;
}

.zmt-solution-reader__action:disabled {
    cursor: wait;
    opacity: .58;
}

.zmt-solution-reader__notice {
    min-width: 0;
    margin: 0 0 0 4px;
    color: var(--zmt-solution-muted);
    font-size: 13px;
}

.zmt-solution-reader h1,
.zmt-solution-reader h2,
.zmt-solution-reader h3,
.zmt-solution-reader__title {
    text-wrap: balance;
}

.zmt-solution-reader__layout {
    display: grid;
    grid-template-columns: minmax(220px, 280px) minmax(0, 48rem);
    align-items: start;
    justify-content: center;
    gap: 32px;
}

.zmt-solution-reader__navigation,
.zmt-solution-reader__document,
.zmt-solution-reader__delivery {
    border-radius: var(--zmt-solution-outer-radius);
    background: var(--zmt-solution-surface);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 12px 34px rgba(15, 23, 42, .08);
}

.zmt-solution-reader__navigation,
.zmt-solution-reader__delivery {
    padding: 16px;
}

.zmt-solution-reader__navigation {
    position: sticky;
    top: 96px;
}

.zmt-solution-reader__navigation > p {
    margin: 0 0 10px;
    color: var(--zmt-solution-muted);
    font-size: 13px;
}

.zmt-solution-reader__navigation [role="tablist"] {
    display: grid;
    gap: 6px;
}

.zmt-solution-reader__file {
    width: 100%;
    justify-content: flex-start;
    gap: 10px;
    border: 0;
    background: transparent;
    color: var(--zmt-solution-muted);
    padding: 9px 10px;
    text-align: left;
    cursor: pointer;
}

.zmt-solution-reader__file > span {
    color: #8793a1;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.zmt-solution-reader__file > strong {
    min-width: 0;
    font-size: 14px;
    line-height: 1.35;
}

.zmt-solution-reader__file:hover,
.zmt-solution-reader__file.is-active {
    background: var(--zmt-solution-subtle);
    color: var(--zmt-solution-ink);
}

.zmt-solution-reader__file.is-active {
    box-shadow: inset 0 0 0 1px var(--zmt-solution-accent);
}

.zmt-solution-reader__document {
    min-width: 0;
    padding: clamp(20px, 4vw, 48px);
}

.zmt-solution-reader__document[hidden] {
    display: none;
}

.zmt-solution-reader__document > header {
    margin-bottom: 36px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e3e8ee;
}

.zmt-solution-reader__document > header p {
    margin: 0 0 4px;
    color: var(--zmt-solution-muted);
    font-size: 13px;
    font-weight: 700;
}

.zmt-solution-reader__document > header h2 {
    margin: 0;
    font-size: clamp(26px, 4vw, 40px);
    line-height: 1.15;
    letter-spacing: -.025em;
}

.zmt-solution-reader__section + .zmt-solution-reader__section {
    margin-top: 44px;
}

.zmt-solution-reader__section h3 {
    margin: 0 0 14px;
    font-size: 22px;
    line-height: 1.3;
}

.zmt-solution-reader__body {
    color: #273549;
}

.zmt-solution-reader__body > :first-child {
    margin-top: 0;
}

.zmt-solution-reader__body > :last-child {
    margin-bottom: 0;
}

.zmt-solution-reader__body table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

.zmt-solution-reader__body th,
.zmt-solution-reader__body td {
    padding: 10px 12px;
    border: 1px solid #dfe5ec;
    text-align: left;
    vertical-align: top;
}

.zmt-solution-reader__delivery {
    max-width: 48rem;
    margin: 24px auto 0;
}

.zmt-solution-reader__delivery h2,
.zmt-solution-reader__delivery p {
    margin-top: 0;
}

.zmt-solution-reader__count,
.zmt-solution-reader__version,
.zmt-solution-reader [data-dynamic-number] {
    font-variant-numeric: tabular-nums;
}

.zmt-solution-reader__action,
.zmt-solution-reader__file {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: var(--zmt-solution-inner-radius);
    transition-property: color, background-color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}

.zmt-solution-reader__action:active,
.zmt-solution-reader__file:active {
    transform: scale(.96);
}

.zmt-solution-reader img {
    outline: 1px solid rgba(0, 0, 0, .1);
    outline-offset: -1px;
}

@media (prefers-color-scheme: dark) {
    .zmt-solution-reader img {
        outline-color: rgba(255, 255, 255, .1);
    }
}

@media (max-width: 767px) {
    .zmt-solution-reader {
        padding-inline: 12px;
    }

    .zmt-solution-reader__header {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .zmt-solution-reader__metadata {
        grid-template-columns: repeat(3, 1fr);
    }

    .zmt-solution-reader__metadata div {
        min-width: 0;
        padding: 10px 8px;
    }

    .zmt-solution-reader__metadata dd {
        font-size: 14px;
        white-space: nowrap;
    }

    .zmt-solution-reader__toolbar {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .zmt-solution-reader__select {
        display: block;
        flex-basis: 100%;
    }

    .zmt-solution-reader__downloads {
        display: grid;
        width: 100%;
        margin-left: 0;
        gap: 4px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zmt-solution-reader__downloads .zmt-solution-reader__action {
        min-width: 0;
        min-height: 44px;
        padding-inline: 2px;
        font-size: 12px;
        white-space: nowrap;
    }

    .zmt-solution-reader__notice {
        width: 100%;
        margin-left: 0;
    }

    .zmt-solution-reader__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zmt-solution-reader__navigation {
        display: none;
    }

    .zmt-solution-reader__document {
        padding: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zmt-solution-reader__action,
    .zmt-solution-reader__file {
        transition-duration: 0ms;
    }
}

@media print {
    .zmt-solution-reader {
        width: 100%;
        padding: 0;
    }

    .zmt-solution-reader__toolbar,
    .zmt-solution-reader__navigation {
        display: none !important;
    }

    .zmt-solution-reader__layout {
        display: block;
    }

    .zmt-solution-reader__document,
    .zmt-solution-reader__document[hidden] {
        display: block;
        padding: 24px 0;
        break-after: page;
        box-shadow: none;
    }

    .zmt-solution-reader__section,
    .zmt-solution-reader__body table {
        break-inside: avoid;
    }
}
.zmt-solution-reader__toc { margin: 24px 0 32px; padding: 20px 24px; border: 1px solid currentColor; border-radius: 8px; }
.zmt-solution-reader__toc ul { list-style: none; padding: 0; margin: 8px 0 0; }
.zmt-solution-reader__toc a { display: inline-block; padding: 7px 0; color: inherit; text-underline-offset: 4px; }
.zmt-solution-reader__section { scroll-margin-top: 32px; }
.zmt-solution-reader__table { max-width: 100%; overflow-x: auto; }
.zmt-solution-reader__table table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.zmt-solution-reader__table th, .zmt-solution-reader__table td { padding: 10px 12px; border: 1px solid #b6b6b6; text-align: left; vertical-align: top; }
.zmt-solution-reader__abstract p { line-height: 1.9; }

/* Report body follows the existing Achao reports. The surrounding site's theme is independent. */
.zmt-solution-reader {
    --zmt-solution-ink: #29251f;
    --zmt-solution-muted: #756d60;
    --zmt-solution-surface: #fff;
    --zmt-solution-subtle: #fffdf8;
    --zmt-solution-accent: #d4af37;
    --zmt-solution-inner-radius: 7px;
    --zmt-solution-outer-radius: 8px;
    color: #29251f;
    line-height: 1.9;
}
.zmt-solution-reader__documents { min-width: 0; }
.zmt-solution-reader__document { border: 1px solid #e9e2d4; box-shadow: 0 2px 8px #514a4008; }
.zmt-solution-reader__document > header {
    padding: clamp(24px, 4vw, 40px);
    border: 0;
    border-radius: 8px;
    background: #171614;
    color: #fff8df;
}
.zmt-solution-reader__document > header p { color: #d9c67d; letter-spacing: .12em; margin-bottom: 16px; }
.zmt-solution-reader__document > header h2 { color: #f1c94c; line-height: 1.55; font-weight: 700; letter-spacing: 0; }
.zmt-solution-reader__body { color: #514a40; overflow-wrap: anywhere; }
.zmt-solution-reader__body p { margin: 0 0 1em; }
.zmt-solution-reader__abstract { padding: 8px 0; color: #514a40; }
.zmt-solution-reader__toc { border-color: #e9e2d4; background: #fffdf8; }
.zmt-solution-reader__toc h3 { color: #29251f; }
.zmt-solution-reader__toc a:hover { color: #785b12; }
.zmt-solution-reader__section { padding: 24px; border: 1px solid #e9e2d4; border-radius: 7px; box-shadow: 0 1px 4px #514a4006; }
.zmt-solution-reader__section + .zmt-solution-reader__section { margin-top: 28px; }
.zmt-solution-reader__section > h3 { padding-bottom: 16px; border-bottom: 1px solid #e1d8ca; color: #29251f; line-height: 1.55; }
.zmt-report-subsection { margin: 24px 0; }
.zmt-report-subsection h4 { color: #29251f; font-size: 18px; line-height: 1.6; margin: 0 0 14px; }
.zmt-report-block--callout { padding: 18px 20px; background: #fff8df; border-left: 3px solid #d4af37; border-radius: 4px; margin: 20px 0; }
.zmt-report-block--script { padding: 20px; background: #fffdf8; border: 1px solid #e9e2d4; border-radius: 7px; margin: 20px 0; white-space: normal; }
.zmt-report-script__copy { min-width: 0; }
.zmt-report-storyboard { display: grid; gap: 12px; }
.zmt-report-storyboard__overview { padding: 12px 15px; border-left: 3px solid #a98958; border-radius: 6px; background: #f6f2e9; }
.zmt-report-storyboard__overview > strong { display: block; margin-bottom: 5px; color: #765a36; font-size: 13px; }
.zmt-report-storyboard__beat { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 13px; padding: 14px; border: 1px solid #e4e5de; border-radius: 8px; background: #fff; }
.zmt-report-storyboard__time { align-self: start; padding: 5px 7px; border-radius: 5px; background: #e6eee7; color: #284c3e; font-size: 12px; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; }
.zmt-report-storyboard__fields { display: grid; gap: 10px; min-width: 0; }
.zmt-report-storyboard__field { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 8px; min-width: 0; }
.zmt-report-storyboard__field > strong { color: #80603a; font-size: 12px; white-space: nowrap; }
.zmt-report-storyboard__field > div { min-width: 0; }
.zmt-report-storyboard__field p, .zmt-report-storyboard__overview p { margin: 0 0 8px; }
.zmt-report-storyboard__field p:last-child, .zmt-report-storyboard__overview p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .zmt-report-storyboard__beat { grid-template-columns: 1fr; } .zmt-report-storyboard__time { justify-self: start; } .zmt-report-storyboard__field { grid-template-columns: 1fr; gap: 3px; } }
.zmt-report-block--comparison, .zmt-report-block--timeline { padding: 16px 20px; border-left: 3px solid #f1c94c; margin: 20px 0; }
.zmt-solution-reader__body table { display: table; width: 100%; font-size: 14px; }
.zmt-solution-reader__body th, .zmt-solution-reader__body td { border-color: #ebe4d8; line-height: 1.75; }
.zmt-solution-reader__body th { background: #f4f0e6; color: #514631; font-weight: 650; }
.zmt-solution-reader__metadata, .zmt-solution-reader__toolbar { border-color: #e9e2d4; }
.zmt-solution-reader__action:focus-visible, .zmt-solution-reader__file:focus-visible,
.zmt-solution-reader__select:focus-visible, .zmt-solution-reader__toc a:focus-visible { outline: 3px solid #9b761c; outline-offset: 3px; }
@media(max-width:767px) {
    .zmt-solution-reader__document { padding: 16px; }
    .zmt-solution-reader__section { padding: 18px 14px; }
    .zmt-solution-reader__body table { min-width: 480px; }
    .zmt-solution-reader__table { overscroll-behavior-inline: contain; }
}
@media print {
    @page { size: A4; margin: 20mm 17mm; }
    .zmt-solution-reader { color: #29251f; font-size: 10.5pt; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
    .zmt-solution-reader__header, .zmt-solution-reader__delivery { display: none; }
    .zmt-solution-reader__document { border: none; padding: 0; }
    .zmt-solution-reader__document > header { padding: 24mm 10mm; break-after: page; }
    .zmt-solution-reader__toc { break-after: page; }
    .zmt-solution-reader__section { padding: 0; border: none; box-shadow: none; break-inside: auto; }
    .zmt-solution-reader__section h3, .zmt-report-subsection h4 { break-after: avoid; }
    .zmt-solution-reader__body table { min-width: 0; font-size: 9pt; break-inside: auto; }
    .zmt-solution-reader__table { overflow: visible; }
    .zmt-solution-reader__body thead { display: table-header-group; }
    .zmt-solution-reader__body tr { break-inside: avoid; }
    .zmt-report-block--script { break-inside: auto; }
    .zmt-solution-reader p { orphans: 3; widows: 3; }
}
.zmt-report-chapter-number { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; margin-right: 12px; padding: 2px 8px; border-radius: 5px; background: #f1c94c; color: #29251f; font-size: 16px; font-variant-numeric: tabular-nums; vertical-align: baseline; }

/* Reader V2: shared catalogue and long-form reading surface for all four libraries. */
.zmt-solution-reader--v2 {
    --zmt-reader-black: #171614;
    --zmt-reader-gold: #d4af37;
    --zmt-reader-gold-bright: #f1c94c;
    --zmt-reader-line: #e7e0d4;
    --zmt-reader-shadow: 0 0 0 1px rgba(41, 37, 31, .055), 0 1px 2px -1px rgba(41, 37, 31, .07), 0 12px 36px rgba(41, 37, 31, .055);
    width: min(100%, 1540px);
    font-size: 18px;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.zmt-solution-reader--v2 img { outline-color: rgba(0, 0, 0, .1); }

.zmt-solution-reader--v2 .zmt-solution-reader__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(28px, 5vw, 72px);
    align-items: end;
    margin-bottom: 32px;
    padding: clamp(28px, 5vw, 64px);
    border-radius: 16px;
    background: var(--zmt-reader-black);
    color: #fff8df;
    box-shadow: 0 20px 50px rgba(23, 22, 20, .14);
}

.zmt-solution-reader--v2 .zmt-solution-reader__hero h1 {
    max-width: 20ch;
    margin: 8px 0 14px;
    color: var(--zmt-reader-gold-bright);
    font-size: clamp(34px, 5vw, 62px);
    line-height: 1.14;
    letter-spacing: -.02em;
    text-wrap: balance;
}

.zmt-solution-reader--v2 .zmt-solution-reader__hero .zmt-solution-reader__eyebrow { color: #d9c67d; }
.zmt-solution-reader--v2 .zmt-solution-reader__hero .zmt-solution-reader__summary { color: #f1ead9; }
.zmt-solution-reader--v2 .zmt-solution-reader__metadata { border: 0; background: rgba(255, 255, 255, .12); }
.zmt-solution-reader--v2 .zmt-solution-reader__metadata div { min-width: 112px; background: rgba(255, 255, 255, .06); }
.zmt-solution-reader--v2 .zmt-solution-reader__metadata dt { color: #c9bfaa; }
.zmt-solution-reader--v2 .zmt-solution-reader__metadata dd { color: #fff8df; }

.zmt-solution-overview {
    margin-bottom: 32px;
    padding: clamp(22px, 3vw, 38px);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--zmt-reader-shadow);
}

.zmt-solution-overview__heading,
.zmt-solution-reader__navigation-heading,
.zmt-solution-reader__toc-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.zmt-solution-reader__kicker,
.zmt-solution-reader__toc-heading p {
    margin: 0 0 2px;
    color: #8b6b18;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .12em;
}

.zmt-solution-overview__heading h2,
.zmt-solution-reader__toc-heading h3 { margin: 0; color: #29251f; }

.zmt-solution-reader__text-action,
.zmt-solution-reader__start,
.zmt-solution-reader__chapter-pager button,
.zmt-solution-reader__navigation-heading button {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    border-radius: 9px;
    background: #f4f0e6;
    color: #4b4029;
    font: inherit;
    cursor: pointer;
}

.zmt-solution-reader__text-action { padding: 0 14px; font-size: 14px; }
.zmt-solution-overview__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.zmt-solution-overview__reports { display: grid; gap: 10px; margin-top: 22px; }

.zmt-solution-overview__report {
    overflow: clip;
    border-radius: 12px;
    background: #fffdf8;
    box-shadow: 0 0 0 1px rgba(41, 37, 31, .075);
}

.zmt-solution-overview__report > summary {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 32px;
    gap: 12px;
    min-height: 72px;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
}

.zmt-solution-overview__report > summary::-webkit-details-marker,
.zmt-solution-overview__report > summary::marker { display: none; content: ''; }
.zmt-solution-overview__number { color: #98751e; font-size: 13px; font-variant-numeric: tabular-nums; }
.zmt-solution-overview__report summary strong { display: block; color: #29251f; line-height: 1.5; text-wrap: balance; }
.zmt-solution-overview__report summary small { display: block; margin-top: 2px; color: #7c7467; font-size: 13px; font-variant-numeric: tabular-nums; }
.zmt-solution-overview__chevron { transition-property: transform; transition-duration: 180ms; transition-timing-function: cubic-bezier(.2, 0, 0, 1); }
.zmt-solution-overview__report[open] > summary .zmt-solution-overview__chevron { transform: rotate(180deg); }
.zmt-solution-overview__outline { padding: 0 20px 20px 70px; }

.zmt-solution-outline,
.zmt-solution-reader__chapter-tree { margin: 0; padding: 0; list-style: none; }
.zmt-solution-outline > li + li { border-top: 1px solid var(--zmt-reader-line); }
.zmt-solution-outline details { position: relative; padding: 5px 0; }
.zmt-solution-outline summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #3f382f;
    cursor: pointer;
    list-style: none;
}
.zmt-solution-outline summary::-webkit-details-marker,
.zmt-solution-outline summary::marker { display: none; content: ''; }
.zmt-solution-outline details[open] > summary [aria-hidden="true"] { transform: rotate(180deg); }
.zmt-solution-outline ol { margin: 2px 0 8px; padding: 0 0 0 20px; list-style: none; }
.zmt-solution-outline a { display: flex; min-height: 40px; align-items: center; color: #655b4d; font-size: 14px; line-height: 1.5; text-decoration: none; }
.zmt-solution-outline a:hover { color: #785b12; text-decoration: underline; text-underline-offset: 4px; }
.zmt-solution-outline__read { position: absolute; top: 7px; right: 30px; width: auto; padding: 0 8px; opacity: 0; }
.zmt-solution-outline details:hover > .zmt-solution-outline__read,
.zmt-solution-outline details:focus-within > .zmt-solution-outline__read { opacity: 1; }
.zmt-solution-reader__start { margin-top: 14px; padding: 0 18px; background: var(--zmt-reader-black); color: #fff8df; font-size: 14px; }

.zmt-solution-reader--v2 .zmt-solution-reader__locked { margin: 0 auto; box-shadow: var(--zmt-reader-shadow); scroll-margin-top: 100px; }
.zmt-solution-workspace { scroll-margin-top: 12px; }
.zmt-solution-reader--v2 .zmt-solution-reader__toolbar { top: 8px; z-index: 20; }
.zmt-solution-reader--v2 .zmt-solution-reader__downloads { flex-wrap: wrap; justify-content: flex-end; }
.zmt-solution-reader__catalogue-button,
.zmt-solution-reader__navigation-heading button { display: none; }
.zmt-solution-reader__current { min-width: 0; margin: 0; color: #40392f; font-size: 14px; font-weight: 700; text-wrap: pretty; }

.zmt-solution-reader--v2 .zmt-solution-reader__layout {
    display: grid;
    grid-template-columns: minmax(220px, 260px) minmax(0, 780px) minmax(200px, 240px);
    justify-content: center;
    gap: 24px;
}

.zmt-solution-reader--v2 .zmt-solution-reader__navigation,
.zmt-solution-reader__chapter-rail {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);
    overflow: auto;
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--zmt-reader-shadow);
    scrollbar-width: thin;
}

.zmt-solution-reader--v2 .zmt-solution-reader__navigation { padding: 12px; }
.zmt-solution-reader__navigation-heading { padding: 4px 4px 10px; }
.zmt-solution-reader__navigation-heading span { display: block; color: #8a8173; font-size: 11px; letter-spacing: .1em; }
.zmt-solution-reader__navigation-heading strong { color: #29251f; font-size: 16px; }
.zmt-solution-reader__nav-report + .zmt-solution-reader__nav-report { border-top: 1px solid var(--zmt-reader-line); }
.zmt-solution-reader--v2 .zmt-solution-reader__file { min-height: 48px; border-radius: 8px; }
.zmt-solution-reader--v2 .zmt-solution-reader__file.is-active { background: #f8f4e9; box-shadow: inset 0 0 0 1px var(--zmt-reader-gold); }
.zmt-solution-reader__nav-chapters { padding: 2px 4px 10px 14px; }
.zmt-solution-reader__chapter-tree details { padding: 2px 0; }
.zmt-solution-reader__chapter-tree summary { display: grid; grid-template-columns: minmax(0, 1fr) 20px; align-items: start; list-style: none; }
.zmt-solution-reader__chapter-tree summary::-webkit-details-marker,
.zmt-solution-reader__chapter-tree summary::marker { display: none; content: ''; }
.zmt-solution-reader__chapter-tree summary > a { min-height: 40px; padding: 8px 6px; color: #655b4d; font-size: 13px; line-height: 1.45; text-decoration: none; }
.zmt-solution-reader__chapter-tree summary > span { padding-top: 9px; color: #9c9284; transition-property: transform; transition-duration: 160ms; }
.zmt-solution-reader__chapter-tree details[open] > summary > span { transform: rotate(180deg); }
.zmt-solution-reader__chapter-tree ol { margin: 0; padding: 0 0 4px 14px; list-style: none; }
.zmt-solution-reader__chapter-tree ol a { display: block; min-height: 40px; padding: 8px 6px; color: #776e61; font-size: 12px; line-height: 1.45; text-decoration: none; }
.zmt-solution-reader__chapter-tree a:hover,
.zmt-solution-reader__chapter-tree a.is-current { color: #765a12; background: #fbf6e8; }
.zmt-solution-reader__chapter-tree a.is-current { box-shadow: inset 0 0 0 1px var(--zmt-reader-gold); }

.zmt-solution-reader__chapter-rail { padding: 16px 12px; }
.zmt-solution-reader__chapter-rail > p { margin: 0 6px 10px; color: #8a8173; font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.zmt-solution-reader--v2 .zmt-solution-reader__document { padding: clamp(24px, 4vw, 50px); scroll-margin-top: 90px; }
.zmt-solution-reader--v2 .zmt-solution-reader__document > header { margin: calc(clamp(24px, 4vw, 50px) * -1) calc(clamp(24px, 4vw, 50px) * -1) 36px; border-radius: 12px 12px 0 0; }
.zmt-solution-reader--v2 .zmt-solution-reader__section { padding: 0; border: 0; border-radius: 0; box-shadow: none; scroll-margin-top: 100px; }
.zmt-solution-reader--v2 .zmt-solution-reader__section + .zmt-solution-reader__section { margin-top: 64px; padding-top: 38px; border-top: 1px solid var(--zmt-reader-line); }
.zmt-solution-reader--v2 .zmt-report-subsection { scroll-margin-top: 100px; }
.zmt-solution-reader--v2 .zmt-solution-reader__toc { padding: 26px; border: 0; border-radius: 12px; box-shadow: 0 0 0 1px rgba(41, 37, 31, .06); }
.zmt-solution-reader--v2 .zmt-solution-reader__toc .zmt-solution-outline > li { padding-block: 4px; }
.zmt-solution-reader--v2 .zmt-solution-reader__toc .zmt-solution-outline ol { padding-left: 24px; }
.zmt-solution-reader--v2 .zmt-solution-reader__toc a { min-height: 36px; font-size: 14px; }
.zmt-solution-reader__chapter-pager { display: flex; justify-content: space-between; gap: 12px; margin-top: 54px; padding-top: 24px; border-top: 1px solid var(--zmt-reader-line); }
.zmt-solution-reader__chapter-pager button { padding: 0 16px; font-size: 14px; }
.zmt-solution-reader__chapter-pager button:disabled { cursor: default; opacity: .45; }

.zmt-solution-reader__dialog {
    width: min(92vw, 720px);
    max-height: min(82vh, 760px);
    padding: 24px;
    border: 0;
    border-radius: 16px;
    background: #fff;
    color: #29251f;
    box-shadow: 0 28px 80px rgba(23, 22, 20, .24);
}
.zmt-solution-reader__dialog::backdrop { background: rgba(23, 22, 20, .5); backdrop-filter: blur(3px); }
.zmt-solution-reader__dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zmt-solution-reader__dialog-heading h2 { margin: 0; font-size: 24px; }
.zmt-solution-reader__dialog-heading button,
.zmt-solution-reader__dialog form button,
.zmt-solution-reader__bookmark-list button {
    min-width: 44px;
    min-height: 44px;
    border: 0;
    border-radius: 9px;
    background: #f4f0e6;
    color: #3f382f;
    font: inherit;
    cursor: pointer;
    transition-property: color, background-color, transform;
    transition-duration: 160ms;
}
.zmt-solution-reader__dialog-heading button { font-size: 25px; }
.zmt-solution-reader__dialog form { margin-top: 22px; }
.zmt-solution-reader__dialog form > label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.zmt-solution-reader__dialog form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.zmt-solution-reader__dialog input,
.zmt-solution-reader__dialog select { min-height: 44px; border: 1px solid #cfc7bb; border-radius: 8px; background: #fff; color: #29251f; padding: 0 12px; font: inherit; font-size: 15px; }
.zmt-solution-reader__dialog form button { padding: 0 18px; background: var(--zmt-reader-black); color: #fff8df; }
.zmt-solution-reader__dialog [role="status"] { min-height: 24px; color: #756d60; font-size: 14px; }
.zmt-solution-reader__search-results,
.zmt-solution-reader__bookmark-list { display: grid; gap: 8px; overflow: auto; margin: 0; padding: 0; list-style: none; }
.zmt-solution-reader__search-results li,
.zmt-solution-reader__bookmark-list li { border-radius: 10px; background: #fffdf8; box-shadow: 0 0 0 1px rgba(41, 37, 31, .07); }
.zmt-solution-reader__search-results button { display: block; width: 100%; min-height: 44px; border: 0; background: transparent; color: #29251f; padding: 14px; text-align: left; cursor: pointer; }
.zmt-solution-reader__search-results strong,
.zmt-solution-reader__search-results span { display: block; }
.zmt-solution-reader__search-results span { margin-top: 5px; color: #756d60; font-size: 13px; line-height: 1.6; }
.zmt-solution-reader__bookmark-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 6px; }
.zmt-solution-reader__bookmark-list li > button:first-child { justify-content: flex-start; padding: 8px 12px; text-align: left; }
.zmt-solution-reader__bookmark-list .zmt-solution-reader__delete { padding: 0 12px; color: #76543d; }

.zmt-solution-reader__text-action,
.zmt-solution-reader__start,
.zmt-solution-reader__chapter-pager button,
.zmt-solution-reader--v2 .zmt-solution-reader__action,
.zmt-solution-reader--v2 .zmt-solution-reader__file {
    transition-property: color, background-color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}

.zmt-solution-reader__text-action:active,
.zmt-solution-reader__start:active,
.zmt-solution-reader__chapter-pager button:active { transform: scale(.96); }
.zmt-solution-reader--v2 button:focus-visible,
.zmt-solution-reader--v2 summary:focus-visible,
.zmt-solution-reader--v2 a:focus-visible { outline: 3px solid #9b761c; outline-offset: 3px; }

@media (max-width: 1359px) {
    .zmt-solution-reader--v2 .zmt-solution-reader__layout { grid-template-columns: minmax(220px, 270px) minmax(0, 780px); }
    .zmt-solution-reader__chapter-rail { display: none; }
}

@media (max-width: 900px) {
    .zmt-solution-reader--v2 { padding-inline: 14px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__hero { grid-template-columns: 1fr; }
    .zmt-solution-reader__catalogue-button { display: inline-flex; }
    .zmt-solution-reader--v2 .zmt-solution-reader__navigation {
        display: block;
        position: fixed;
        z-index: 100000;
        inset: 0 auto 0 0;
        width: min(88vw, 390px);
        max-height: none;
        padding: 16px;
        border-radius: 0 16px 16px 0;
        transform: translateX(-105%);
        transition-property: transform;
        transition-duration: 220ms;
        transition-timing-function: cubic-bezier(.2, 0, 0, 1);
    }
    .zmt-solution-reader--v2 .zmt-solution-reader__navigation.is-open { transform: translateX(0); }
    .zmt-solution-reader__navigation-heading button { display: inline-flex; align-items: center; justify-content: center; font-size: 25px; }
    .zmt-solution-reader__scrim { position: fixed; z-index: 99990; inset: 0; background: rgba(23, 22, 20, .46); }
    .zmt-solution-reader__scrim[hidden] { display: none; }
    .zmt-solution-reader--v2 .zmt-solution-reader__layout { grid-template-columns: minmax(0, 780px); }
    html.zmt-solution-toc-open { overflow: hidden; }
}

@media (max-width: 767px) {
    .zmt-solution-reader--v2 { font-size: 17px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__hero { padding: 26px 20px; border-radius: 12px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__metadata { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .zmt-solution-reader--v2 .zmt-solution-reader__metadata div { min-width: 0; }
    .zmt-solution-reader--v2 .zmt-solution-reader__metadata dd { white-space: normal; }
    .zmt-solution-overview { padding: 20px 14px; border-radius: 12px; }
    .zmt-solution-overview__heading { flex-direction: column; align-items: stretch; gap: 14px; }
    .zmt-solution-overview__actions { width: 100%; justify-content: flex-start; }
    .zmt-solution-overview__actions .zmt-solution-reader__text-action { flex: 1 1 180px; white-space: normal; line-height: 1.4; }
    .zmt-solution-overview__report > summary { grid-template-columns: 32px minmax(0, 1fr) 24px; padding-inline: 10px; }
    .zmt-solution-overview__outline { padding: 0 12px 16px 42px; }
    .zmt-solution-outline__read { position: static; width: fit-content; opacity: 1; }
    .zmt-solution-reader--v2 .zmt-solution-reader__toolbar { position: static; display: grid; grid-template-columns: 44px minmax(0, 1fr); padding: 8px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__select { display: block; width: 100%; }
    .zmt-solution-reader__current { display: none; }
    .zmt-solution-reader--v2 .zmt-solution-reader__downloads { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; margin-left: 0; }
    .zmt-solution-reader--v2 .zmt-solution-reader__downloads .zmt-solution-reader__action { min-height: 44px; padding: 4px 6px; white-space: normal; line-height: 1.3; }
    .zmt-solution-reader--v2 .zmt-solution-reader__notice { grid-column: 1 / -1; margin-left: 0; }
    .zmt-solution-reader--v2 .zmt-solution-reader__document { padding: 18px 14px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__document > header { margin: -18px -14px 28px; padding: 28px 20px; border-radius: 8px 8px 0 0; }
    .zmt-solution-reader--v2 .zmt-solution-reader__section + .zmt-solution-reader__section { margin-top: 48px; padding-top: 30px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__toc { padding: 20px 14px; }
    .zmt-solution-reader--v2 .zmt-solution-reader__toc .zmt-solution-outline ol { padding-left: 14px; }
    .zmt-solution-reader__dialog { padding: 18px 14px; }
    .zmt-solution-reader__dialog form > div { grid-template-columns: minmax(0, 1fr) auto; }
    .zmt-solution-reader__dialog form select { grid-column: 1 / -1; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
    .zmt-solution-reader--v2 *,
    .zmt-solution-reader--v2 *::before,
    .zmt-solution-reader--v2 *::after { scroll-behavior: auto !important; transition-duration: 0ms !important; animation-duration: 0ms !important; }
}

@media print {
    .zmt-solution-reader--v2 .zmt-solution-overview,
    .zmt-solution-reader--v2 .zmt-solution-reader__toolbar,
    .zmt-solution-reader--v2 .zmt-solution-reader__navigation,
    .zmt-solution-reader--v2 .zmt-solution-reader__chapter-rail,
    .zmt-solution-reader--v2 .zmt-solution-reader__chapter-pager,
    .zmt-solution-reader--v2 .zmt-solution-reader__scrim { display: none !important; }
    .zmt-solution-reader--v2 .zmt-solution-reader__document[hidden] { display: none !important; }
    .zmt-solution-reader--v2 .zmt-solution-reader__document:not([hidden]) { display: block; }
}

/* Reader V2.1: one visible catalogue for each reading state. */
.zmt-solution-reader--v2 {
    width: min(100%, 1180px);
}

.zmt-solution-reader--v2 .zmt-solution-reader__hero {
    margin-bottom: 24px;
}

.zmt-solution-reader--v2 .zmt-solution-reader__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.zmt-solution-reader--v2 .zmt-solution-reader__current {
    flex: 1 1 220px;
}

.zmt-solution-reader__continue {
    flex: 0 1 auto;
    padding-inline: 14px;
}

.zmt-solution-reader--v2 .zmt-solution-reader__downloads {
    position: relative;
    align-items: center;
}

.zmt-solution-reader__more {
    position: relative;
}

.zmt-solution-reader__more > summary {
    list-style: none;
}

.zmt-solution-reader__more > summary::-webkit-details-marker,
.zmt-solution-reader__more > summary::marker {
    display: none;
    content: '';
}

.zmt-solution-reader__more > summary::after {
    content: '⌄';
    margin-left: 8px;
    color: #88775a;
    transition-property: transform;
    transition-duration: 160ms;
}

.zmt-solution-reader__more[open] > summary::after {
    transform: rotate(180deg);
}

.zmt-solution-reader__more-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    width: max-content;
    min-width: 190px;
    gap: 4px;
    padding: 8px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(41, 37, 31, .08), 0 18px 48px rgba(41, 37, 31, .16);
}

.zmt-solution-reader__more-menu .zmt-solution-reader__action {
    width: 100%;
    justify-content: flex-start;
    border-color: transparent;
}

.zmt-solution-reader--v2 .zmt-solution-reader__notice {
    flex: 1 0 100%;
    min-height: 0;
}

.zmt-solution-reader--v2 .zmt-solution-reader__layout {
    grid-template-columns: minmax(240px, 280px) minmax(0, 780px);
    align-items: start;
}

.zmt-solution-reader__report-picker {
    margin: 4px 0 18px;
    padding: 14px;
    border-radius: 10px;
    background: #f8f4e9;
}

.zmt-solution-reader__report-picker label,
.zmt-solution-reader__navigation-label {
    display: block;
    margin: 0 0 7px;
    color: #766b5b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}

.zmt-solution-reader--v2 .zmt-solution-reader__report-picker .zmt-solution-reader__select {
    display: block;
    width: 100%;
    min-height: 44px;
    border-color: #d8cdae;
    border-radius: 8px;
    background-color: #fff;
    color: #29251f;
    font: inherit;
    font-size: 13px;
}

.zmt-solution-reader__navigation-label {
    margin: 0 6px 8px;
}

.zmt-solution-reader__nav-report[hidden],
.zmt-solution-reader__toc--print {
    display: none;
}

.zmt-solution-reader__nav-chapters {
    padding: 0 4px 10px;
}

@media (max-width: 900px) {
    .zmt-solution-reader--v2 .zmt-solution-reader__layout {
        grid-template-columns: minmax(0, 780px);
    }
}

@media (max-width: 767px) {
    .zmt-solution-reader--v2 .zmt-solution-reader__toolbar {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .zmt-solution-reader--v2 .zmt-solution-reader__current {
        display: block;
        overflow: hidden;
        align-self: center;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .zmt-solution-reader__continue,
    .zmt-solution-reader--v2 .zmt-solution-reader__downloads,
    .zmt-solution-reader--v2 .zmt-solution-reader__notice {
        grid-column: 1 / -1;
    }

    .zmt-solution-reader__continue {
        width: 100%;
    }

    .zmt-solution-reader--v2 .zmt-solution-reader__downloads {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zmt-solution-reader__more {
        grid-column: 1 / -1;
    }

    .zmt-solution-reader__more > summary {
        width: 100%;
    }

    .zmt-solution-reader__more-menu {
        position: static;
        width: 100%;
        margin-top: 6px;
        box-shadow: inset 0 0 0 1px rgba(41, 37, 31, .08);
    }
}

@media print {
    .zmt-solution-reader__toc--print {
        display: block;
        break-after: page;
    }
}

/* Reader V2.2: full-width workspace and a visible report-level navigation. */
.zmt-solution-reader--v2 {
    width: 100%;
    max-width: none;
}

.zmt-solution-reader__report-switcher {
    margin: 0 0 24px;
    padding: clamp(18px, 2.2vw, 28px);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--zmt-reader-shadow);
}

.zmt-solution-reader__report-switcher-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.zmt-solution-reader__report-switcher-heading p {
    margin: 0 0 2px;
    color: #8b6b18;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .12em;
}

.zmt-solution-reader__report-switcher-heading h2 {
    margin: 0;
    color: #29251f;
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1.35;
}

.zmt-solution-reader__report-switcher-heading > span {
    flex: 0 0 auto;
    color: #766b5b;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.zmt-solution-reader__report-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.zmt-solution-reader__report-tab {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 2px 10px;
    min-width: 0;
    min-height: 104px;
    padding: 14px;
    border: 0;
    border-radius: 10px;
    background: #f7f3e9;
    color: #514a40;
    text-align: left;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(41, 37, 31, .06);
    transition-property: color, background-color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}

.zmt-solution-reader__report-tab:hover {
    background: #fff8df;
    box-shadow: inset 0 0 0 1px rgba(139, 107, 24, .28);
}

.zmt-solution-reader__report-tab.is-active {
    background: #171614;
    color: #fff8df;
    box-shadow: inset 0 0 0 1px #d4af37, 0 12px 24px rgba(23, 22, 20, .13);
}

.zmt-solution-reader__report-tab:active,
.zmt-solution-reader__report-sequence button:active {
    transform: scale(.96);
}

.zmt-solution-reader__report-tab:focus-visible,
.zmt-solution-reader__report-sequence button:focus-visible {
    outline: 3px solid #9b761c;
    outline-offset: 3px;
}

.zmt-solution-reader__report-number {
    grid-row: 1 / 3;
    color: #98751e;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.zmt-solution-reader__report-tab.is-active .zmt-solution-reader__report-number {
    color: #f1c94c;
}

.zmt-solution-reader__report-tab strong {
    min-width: 0;
    color: inherit;
    font-size: 14px;
    line-height: 1.48;
    text-wrap: balance;
}

.zmt-solution-reader__report-tab small {
    align-self: end;
    color: #817867;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.zmt-solution-reader__report-tab.is-active small {
    color: #c9bfaa;
}

.zmt-solution-reader--v2 .zmt-solution-reader__layout {
    grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
    justify-content: stretch;
    gap: clamp(20px, 2.2vw, 34px);
}

.zmt-solution-reader--v2 .zmt-solution-reader__documents,
.zmt-solution-reader--v2 .zmt-solution-reader__document {
    width: 100%;
    max-width: none;
}

.zmt-solution-reader--v2 .zmt-solution-reader__abstract,
.zmt-solution-reader--v2 .zmt-solution-reader__body > p,
.zmt-solution-reader--v2 .zmt-solution-reader__body > ul,
.zmt-solution-reader--v2 .zmt-solution-reader__body > ol,
.zmt-solution-reader--v2 .zmt-solution-reader__body > blockquote {
    max-width: 82ch;
}

.zmt-solution-reader__report-sequence {
    margin-top: 32px;
    padding: 22px;
    border-radius: 12px;
    background: #f7f3e9;
    box-shadow: inset 0 0 0 1px rgba(41, 37, 31, .06);
}

.zmt-solution-reader__report-sequence > p {
    margin: 0 0 12px;
    color: #766b5b;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.zmt-solution-reader__report-sequence > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.zmt-solution-reader__report-sequence button {
    display: flex;
    min-width: 0;
    min-height: 76px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    padding: 12px 16px;
    border: 0;
    border-radius: 9px;
    background: #fff;
    color: #29251f;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 0 0 1px rgba(41, 37, 31, .07), 0 6px 16px rgba(41, 37, 31, .05);
    transition-property: color, background-color, box-shadow, transform;
    transition-duration: 160ms;
    transition-timing-function: cubic-bezier(.2, 0, 0, 1);
}

.zmt-solution-reader__report-sequence button:last-child {
    grid-column: 2;
}

.zmt-solution-reader__report-sequence button:hover {
    background: #171614;
    color: #fff8df;
}

.zmt-solution-reader__report-sequence button span {
    color: #8b6b18;
    font-size: 12px;
}

.zmt-solution-reader__report-sequence button strong {
    color: inherit;
    font-size: 14px;
    line-height: 1.45;
    text-wrap: balance;
}

@media (max-width: 900px) {
    .zmt-solution-reader--v2 .zmt-solution-reader__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .zmt-solution-reader__report-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .zmt-solution-reader__report-switcher {
        margin-bottom: 16px;
        padding: 16px 12px;
        border-radius: 12px;
    }

    .zmt-solution-reader__report-switcher-heading {
        align-items: flex-start;
        margin-bottom: 12px;
    }

    .zmt-solution-reader__report-switcher-heading > span {
        padding-top: 4px;
        font-size: 12px;
    }

    .zmt-solution-reader__report-tabs {
        gap: 8px;
    }

    .zmt-solution-reader__report-tab {
        min-height: 96px;
        padding: 12px 10px;
    }

    .zmt-solution-reader--v2 .zmt-solution-reader__toolbar {
        position: sticky;
        top: 6px;
    }

    .zmt-solution-reader__report-sequence {
        padding: 16px 12px;
    }

    .zmt-solution-reader__report-sequence > div {
        grid-template-columns: 1fr;
    }

    .zmt-solution-reader__report-sequence button:last-child {
        grid-column: 1;
    }
}

@media (max-width: 430px) {
    .zmt-solution-reader__report-tabs {
        grid-template-columns: 1fr;
    }

    .zmt-solution-reader__report-tab {
        min-height: 82px;
    }
}

@media print {
    .zmt-solution-reader__report-switcher,
    .zmt-solution-reader__report-sequence {
        display: none !important;
    }
}

.zmt-solution-reader__access-actions{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}.zmt-solution-reader__access-actions a,.zmt-solution-reader__access-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:#28589a;color:#fff;border:0;border-radius:6px;text-decoration:none;font:inherit;cursor:pointer}.zmt-solution-reader__access-actions :focus-visible{outline:3px solid #88b6f1;outline-offset:3px}.zmt-solution-reader__access-actions span{color:#657386;font-size:14px}

/* Four-library manual reader. The user's reference applies to document content. */
.zmt-report-manual.zmt-solution-reader__document {
    --manual-font:15px; max-width:900px; margin:0 auto; padding:0;
    background:#f7f6f3; color:#2c2c2a;
    font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
    font-size:var(--manual-font); line-height:1.75; overflow-wrap:anywhere;
}
.zmt-report-manual.zmt-report-manual.zmt-report-manual * { box-sizing:border-box; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual > header { margin:0 0 24px; padding:32px 36px; border:1px solid #e5e3dc; border-radius:16px; background:#fff; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual > header p { color:#66635d; font:500 12px/1.6 -apple-system,"PingFang SC",sans-serif; letter-spacing:.04em; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual > header h2 { max-width:none; margin:8px 0 0; padding:0; border:0; color:#26215c; font:600 25px/1.45 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__section,
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__abstract { margin:0 0 24px; padding:32px 36px; border:1px solid #e5e3dc; border-radius:16px; background:#fff; box-shadow:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__section > h3 { display:block; margin:0 0 24px; padding:0; border:0; color:#26215c; font-size:20px; line-height:1.5; font-weight:600; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-chapter-number { display:inline-flex; width:30px; height:30px; margin-right:10px; border-radius:8px; background:#eeedf7; color:#534c92; font:600 13px/1 -apple-system,sans-serif; vertical-align:middle; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-subsection { display:block; margin:28px 0 0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-subsection > .zmt-report-block { margin-left:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body h4 { position:static; display:block; margin:0 0 12px; padding:0; border:0; color:#3c3489; font-size:16.5px; line-height:1.65; font-family:inherit; font-weight:600; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual h3::before,.zmt-report-manual.zmt-report-manual.zmt-report-manual h4::before { content:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(p,li,dd) { font-size:var(--manual-font); line-height:1.75; color:#2c2c2a; font-family:inherit; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual p { margin:0 0 16px; white-space:pre-line; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual strong { color:inherit; font-weight:600; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body > .zmt-report-block--paragraph:first-child { margin:0 0 20px; padding:0; border:0; background:transparent; color:inherit; font-family:inherit; font-size:inherit; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(ul,ol) { margin:12px 0 20px; padding:0 0 0 24px; border:0; border-radius:0; background:transparent; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual li { margin:6px 0; padding-left:3px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(blockquote,pre,.zmt-report-block--script) { display:block; margin:20px 0; padding:18px 22px; border:1px dashed #b4b2a9; border-radius:10px; background:#fbfaf7; color:#2c2c2a; box-shadow:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual code { font:inherit; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-block--script > header { padding:0; border:0; background:transparent; color:#854f0b; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-block--script > header :is(small,h5) { color:#854f0b; font-family:inherit; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-script > section { display:block; padding:14px 0 0; border:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-script > section > span { display:block; margin-bottom:8px; color:#854f0b; font-size:12.5px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-storyboard__overview { border:1px solid #e5e3dc; background:#f1efe8; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-report-storyboard__beat,.zmt-report-storyboard__field) { display:block; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-storyboard__time { display:inline-block; margin:14px 0 8px; padding:3px 8px; border:1px solid #e5e3dc; border-radius:6px; background:#f1efe8; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-block--callout { padding:18px 22px; border:1px solid #c5e3d7; border-radius:10px; background:#eaf6ef; box-shadow:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-comparison__reason { border:1px solid #e5e3dc; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-solution-reader__table,.zmt-report-table > div) { overflow-x:auto; max-width:100%; margin:16px 0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual table { display:table; width:100%; border-collapse:collapse; border:1px solid #e5e3dc; border-radius:0; font-size:13.5px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(th,td) { padding:10px 13px; border:1px solid #e5e3dc; color:#2c2c2a; font-size:13.5px; line-height:1.7; vertical-align:top; min-width:100px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual th { background:#f1efe8; font-weight:600; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual img { max-width:100%; height:auto; border-radius:8px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual figure { margin:20px 0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual figcaption { margin-top:8px; color:#66635d; font-size:12.5px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 0; margin:0 0 12px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools :is(button,input,select) { min-height:38px; padding:7px 10px; border:1px solid #d9d6cb; border-radius:8px; background:#fff; color:#3c3489; font:500 13px/1.5 -apple-system,"PingFang SC",sans-serif; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools label { display:flex; gap:7px; align-items:center; font-size:12px; color:#66635d; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools input { width:150px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools output { font-size:12px; color:#66635d; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual button { cursor:pointer; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual button:hover { background:#eeedf7; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :focus-visible { outline:2px solid #7063b4; outline-offset:3px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual mark { background:#fff0b3; color:#2c2c2a; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual mark.is-current { background:#e1d9ff; outline:1px solid #7063b4; }
.zmt-report-download-source { display:none!important; }
.zmt-niche-reader.is-reader-focused .zmt-niche-reader__workspace { grid-template-columns:minmax(0,900px); justify-content:center; }
.zmt-niche-reader.is-reader-focused :is(.zmt-niche-reader__library,.zmt-niche-reader__toc),
.zmt-solution-reader.is-reader-focused .zmt-solution-reader__navigation { display:none; }
.zmt-solution-reader.is-reader-focused .zmt-solution-reader__workspace { grid-template-columns:minmax(0,1fr); }
@media(max-width:767px) {
    .zmt-report-manual.zmt-report-manual.zmt-report-manual { --manual-font:16px; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-solution-reader__section,.zmt-solution-reader__abstract) { padding:24px 20px; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual > header { padding:24px 20px; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual > header h2 { font-size:23px; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools input { width:130px; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual :is(p,li,dd) { font-size:max(16px,var(--manual-font)); }
}
@media print {
    .zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools { display:none!important; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual { max-width:none; background:#fff; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__section { padding:16px 0; border:0; border-radius:0; }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual h3,.zmt-report-manual.zmt-report-manual.zmt-report-manual h4 { break-after:avoid; }
}

.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body h4::before { content:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__section > h3 { font-family:inherit; }

.zmt-report-manual .zmt-report-raw-toc{margin:0 0 24px;padding:16px 20px;border:1px solid #e5e3dc;border-radius:10px;background:#fff;font-size:13px}
.zmt-report-manual .zmt-report-raw-toc summary{cursor:pointer;color:#3c3489;font-weight:600}
.zmt-report-manual .zmt-report-raw-toc nav{display:grid;gap:6px;margin-top:12px;max-height:320px;overflow:auto}
.zmt-report-manual .zmt-report-raw-toc a{padding:5px 8px;border:1px solid transparent;border-radius:6px;text-decoration:none;color:#3c3489}
.zmt-report-manual .zmt-report-raw-toc a[aria-current]{background:#eeedf7;border-color:#c8c3de}

.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-report-block--comparison,.zmt-report-block--timeline) { border:1px solid #e5e3dc; border-radius:10px; box-shadow:none; }

/* Mobile report prose: fill the line without WebKit pretty reflow. */
@media screen and (max-width:767px) {
    .zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body :is(p,li,dd,h4,h5) {
        text-wrap:wrap;
    }
    .zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body :is(p,li,dd):not(.zmt-report-block__eyebrow) {
        text-align:justify;
        text-align-last:start;
        text-justify:inter-ideograph;
    }
}

/* Report header / shared reading tools: one gutter and compact, explicit actions. */
@media screen {
.zmt-niche-reader .zmt-niche-reader__document-head { gap:12px; padding:0 0 10px; border:0; align-items:flex-start; }
.zmt-niche-reader .zmt-niche-reader__document-head > div:first-child { flex:1 1 260px; min-width:0; }
.zmt-niche-reader .zmt-niche-reader__document-head p { margin:0 0 5px; line-height:1.5; }
.zmt-niche-reader .zmt-niche-reader__document-head h2 { margin:0; font-size:26px; line-height:1.4; }
.zmt-niche-reader .zmt-niche-reader__document-head small { display:block; margin-top:4px; }
.zmt-niche-reader .zmt-niche-reader__document-head > div:last-child { flex:none; gap:6px; margin:0; }
.zmt-niche-reader .zmt-niche-reader__document-head button { font-family:inherit; font-size:13px; font-weight:500; line-height:1.4; min-height:40px; padding:8px 12px; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__toolbar { display:flex; flex-wrap:wrap; margin:0; padding:0; gap:8px; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__downloads { display:flex; flex-wrap:wrap; gap:6px; align-items:center; justify-content:flex-start; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-research-reader-tools { margin:0; gap:6px; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-research-reader-tools [role=status]:empty { display:none; }
.zmt-solution-reader.zmt-solution-reader--workspace :is(.zmt-solution-reader__toolbar,.zmt-research-reader-tools) button { min-height:40px; padding:8px 11px; border:1px solid #d6ded8; border-radius:8px; background:#fff; color:#31584c; font-family:inherit; font-size:13px; line-height:1.4; box-shadow:none; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__continue { flex-basis:100%; width:fit-content; max-width:100%; text-align:left; overflow-wrap:anywhere; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__documents { padding-top:10px; }
.zmt-niche-reader .zmt-report-manual.zmt-solution-reader__document,
.zmt-report-manual.zmt-report-manual.zmt-solution-reader__document { width:100%; max-width:none; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-solution-reader__abstract,.zmt-solution-reader__section) { padding:20px 22px; margin:0 0 16px; border-radius:12px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__section > h3 { margin-bottom:16px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__abstract > p:last-child,
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-solution-reader__body > :last-child { margin-bottom:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools.zmt-report-commandbar.zmt-report-commandbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 14px; padding:12px 22px; border:1px solid #dce1da; border-radius:12px; background:#eff2ed; color:#31584c; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar :is(button,input,select,summary,a) { min-height:40px; border-radius:7px; font-family:inherit; font-size:13px; line-height:1.45; color:#31584c; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar :is(button,input,select,summary) { padding:8px 10px; border:1px solid #ced8d0; background:#fff; margin:0; box-shadow:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar label { margin:0; font-family:inherit; font-size:12px; font-weight:500; white-space:nowrap; color:#58665e; }
.zmt-report-commandbar__search { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar input { width:150px; max-width:100%; }
.zmt-report-commandbar output:empty { display:none; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-source-account { display:contents; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-source-account > a { display:inline-flex; align-items:center; padding:6px 2px; border:0; background:transparent; text-decoration:underline; text-underline-offset:3px; font-size:12px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-source-account > :is(small,[role=status]) { flex-basis:100%; margin:0; color:#647168; font-size:12px; line-height:1.5; }
.zmt-report-source-account > [role=status]:empty { display:none; }
.zmt-report-downloads { position:relative; margin-left:auto; max-width:100%; }
.zmt-report-downloads > summary { display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; list-style:none; font-weight:600; }
.zmt-report-downloads > summary::-webkit-details-marker { display:none; }
.zmt-report-downloads > summary::after { content:'⌄'; }
.zmt-report-downloads[open] > summary::after { content:'⌃'; }
.zmt-report-downloads__menu { position:absolute; right:0; top:calc(100% + 6px); z-index:50; display:grid; gap:6px; width:250px; max-width:calc(100vw - 64px); padding:8px; border:1px solid #d6ded8; border-radius:10px; background:#fff; box-shadow:0 10px 30px #173b331c; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-downloads__menu button { width:100%; text-align:left; white-space:normal; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar :is(button,summary):hover { background:#e4ece5; }
.zmt-report-downloads-original { display:none!important; }
}
@media screen and (max-width:767px) {
.zmt-niche-reader .zmt-niche-reader__document-head { display:flex; flex-wrap:wrap; gap:8px; }
.zmt-niche-reader .zmt-niche-reader__document-head h2 { font-size:23px; }
.zmt-niche-reader .zmt-niche-reader__document-head > div:first-child { flex-basis:100%; }
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__continue { font-size:12px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual :is(.zmt-solution-reader__abstract,.zmt-solution-reader__section) { padding:16px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools.zmt-report-commandbar.zmt-report-commandbar { padding:10px 16px; gap:8px; }
.zmt-report-commandbar__search { flex-basis:100%; }
.zmt-report-commandbar__search label { flex:1; min-width:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar input { width:0; flex:1; min-width:40px; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-commandbar .zmt-report-source-account { display:flex; flex:1 0 100%; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-source-account > a { flex-basis:auto; }
.zmt-report-downloads { margin-left:auto; }
.zmt-report-downloads__menu { right:auto; left:0; }
}

@media print {
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-tools.zmt-report-commandbar.zmt-report-commandbar { display:block!important; padding:0; margin:0 0 12px; border:0; background:transparent; }
.zmt-report-commandbar > :not(.zmt-report-source-account),.zmt-report-commandbar .zmt-report-source-account > :not(a) { display:none!important; }
.zmt-report-commandbar .zmt-report-source-account { display:block; margin:0; padding:0; }
}

/* Final real-device-width acceptance: do not overlay tools or overflow disclosures. */
@media screen {
.zmt-solution-reader.zmt-solution-reader--workspace .zmt-solution-reader__toolbar { position:static; }
.zmt-report-manual.zmt-report-manual.zmt-report-manual .zmt-report-source-account > [role=status] { order:3; }
}
@media screen and (max-width:767px) {
.zmt-report-downloads .zmt-report-downloads__menu { left:auto; right:0; }
}
