/* ===== moa-v2.css ===== */

.moa-v2 *{box-sizing:border-box}.moa-v2 a{color:#0b3d91;text-decoration:none}.moa-v2 a:hover{text-decoration:underline}.moa-v2 h1{font-size:30px;line-height:1.3;margin:0 0 24px;}.moa-v2 h2{font-size:23px;line-height:1.4;margin:24px 0 16px}.moa-v2 h3{font-size:18px;line-height:1.5;margin:16px 0}.moa-v2 p{margin:12px 0}.moa-v2 ul{padding-left:24px}.moa-v2 section{scroll-margin-top:28px}.moa-v2 figure{margin:0;min-width:0}.moa-v2 svg{display:block;width:100%;height:auto}.moa-v2 figcaption,.moa-caption{font-size:12px;color:#64748b;margin-top:10px}.moa-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0 24px}.moa-heading h1{margin:0}.moa-search-label{font-size:12px;color:#64748b;flex-shrink:0}.moa-search-label input{display:block;width:350px;max-width:100%;padding:12px 16px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;background:white}.moa-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.moa-keyword-card{display:flex;flex-direction:column;padding:16px;background:white;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a08;transition:transform .15s}.moa-keyword-card:hover{transform:translateY(-3px)}.moa-card-figure{height:220px;overflow:hidden;display:flex;align-items:center;background:#f8fafc}.moa-card-figure svg{max-height:220px}.moa-keyword-card h2{font-size:17px;margin:16px 0 8px}.moa-keyword-card p{font-size:12px;margin-top:auto;color:#64748b}.moa-keyword-card p span{float:right;color:#2563eb}.moa-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}.moa-toc{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px}.moa-toc h2{font-size:16px;margin:0 0 12px}.moa-toc a{display:block;padding:8px;border-left:3px solid transparent;line-height:1.5}.moa-toc a.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.moa-paper{min-width:0;padding:32px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.moa-paper>section{padding:20px 0;border-bottom:1px solid #e2e8f0}.moa-review-panels{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin:24px 0}.moa-table-panel{min-width:0}.moa-table-scroll{overflow:auto}.moa-v2 table{border-collapse:collapse;width:100%;font-size:12px;border-top:2px solid #334155;border-bottom:2px solid #334155}.moa-v2 th{text-align:left;background:#f8fafc;border-bottom:1px solid #334155}.moa-v2 th,.moa-v2 td{padding:10px;vertical-align:top}.moa-v2 td:nth-child(2){background:#eff6ff;font-weight:600}.moa-v2 tbody tr+tr{border-top:1px solid #e2e8f0}.moa-takeaways{background:#ecfdf5;border:1px solid #a7f3d0!important;border-radius:8px;padding:24px!important}.moa-badge{font-size:11px;letter-spacing:1px;color:#047857;font-weight:700}.moa-takeaways li{margin:12px 0}.moa-intro{color:#64748b;}.moa-copy{border:1px solid #cbd5e1;border-radius:5px;background:#f8fafc;padding:8px 14px;cursor:pointer;margin:16px 0}.moa-faq{padding:18px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin:12px 0}.moa-faq summary{cursor:pointer;font-weight:600}.moa-refs{padding-left:24px;font-size:13px}.moa-refs li{padding:8px;scroll-margin-top:40px}.moa-refs li:target{background:#fef3c7}.moa-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.moa-related a{padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:13px}.moa-search-result{display:block;background:white;border:1px solid #e2e8f0;border-radius:8px;padding:20px;margin:16px 0}.moa-search-result h2{font-size:18px;margin:0 0 12px}.moa-search-result p{color:#64748b;font-size:14px}.moa-tags{font-size:12px;color:#0b3d91}.moa-v2 mark{background:#fef08a}.moa-v2 :focus-visible{outline:2px solid #2563eb;outline-offset:3px}
@media(max-width:1200px){.moa-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.moa-review-panels{grid-template-columns:1fr}.moa-heading{align-items:flex-start}.moa-heading h1{font-size:26px}}
@media(max-width:900px){.moa-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.moa-layout{grid-template-columns:1fr}.moa-toc{position:static;max-height:220px}.moa-heading{flex-direction:column}.moa-paper{padding:20px}}
@media(max-width:560px){.moa-card-grid,.moa-related{grid-template-columns:1fr}.moa-v2 h1{font-size:25px}.moa-search-label input{width:100%}.moa-search-label{width:100%}}

.moa-v2 [hidden]{display:none!important}
.moa-review-refs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-size:12px}.moa-review-refs>div{scroll-margin-top:40px}.moa-review-refs>div:target{background:#fef3c7}@media(max-width:900px){.moa-review-refs{grid-template-columns:1fr}}

/* ===== moa-hub.css ===== */
#wrapper.moa-hub-wrapper { width: 100%; min-width: 0; }
.navigation-page .moa-heading { margin: 0 0 24px; gap: 24px; align-items: center; }
.navigation-page .moa-heading h1 { min-width: 0; margin: 0; }
.navigation-page .moa-search-label { flex: 0 0 350px; max-width: 100%; }
.navigation-page .moa-search-label input {
    width: 100%; padding: 11px 16px 11px 38px; font-size: 13px; line-height: 1.2;
    border: 1px solid #e2e8f0; border-radius: 8px; color: #1e293b; outline: none;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 14px center;
    transition: border-color .15s, box-shadow .15s;
}
.navigation-page .moa-search-label input:focus { border-color: #0085d0; box-shadow: 0 0 0 2px rgba(0,133,208,.12); }
.navigation-page .moa-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.navigation-page .moa-card-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,360px),1fr)); gap: 24px; }
.navigation-page .moa-keyword-card {
    min-width: 0; aspect-ratio: 4 / 3; padding: 18px 18px 20px; border: 1px solid #e2e8f0;
    border-radius: 14px; background: #fff; overflow: hidden; align-items: stretch;
    box-shadow: 0 1px 3px rgba(15,23,42,.04); transition: box-shadow .15s,border-color .15s;
}
.navigation-page .moa-keyword-card:hover { transform: none; border-color: #93c5fd; box-shadow: 0 4px 12px rgba(37,99,235,.1); text-decoration: none; }
.navigation-page .moa-card-figure { flex: 1 1 auto; min-height: 0; height: auto; margin-bottom: 8px; background: #fff; overflow: hidden; }
.navigation-page .moa-card-figure svg { width: 100%; height: 100% !important; max-height: none; display: block; border-radius: 8px; }
.navigation-page .moa-keyword-card h2 {
    flex-shrink: 0; margin: 0; font-size: 16px;  line-height: 1.35;
     max-height: 2.7em; overflow: hidden; word-break: break-word;
}
.navigation-page .moa-keyword-card:hover h2 {  text-decoration: underline; }
.navigation-page #moaResults { width: 100%; max-width: none; margin: 0; padding: 0; }
.navigation-page #moaResults > p { margin: 0 0 10px; color: #64748b; font-size: 14px; }
.navigation-page .moa-search-result { padding: 14px 18px; margin: 0 0 10px; border-radius: 10px; color: inherit; transition: border-color .15s,box-shadow .15s; }
.navigation-page .moa-search-result:hover { text-decoration: none; border-color: #94a3b8; box-shadow: 0 2px 12px rgba(15,23,42,.06); }
.navigation-page .moa-result-header { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: start; gap: 8px; }
.navigation-page .moa-result-number { flex: 0 0 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg,#1e3a8a,#2563eb); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
.navigation-page .moa-search-result h2 { flex: 1; min-width: 0; margin: 0; font-size: 17px;  line-height: 1.4;  }
.navigation-page .moa-result-view { flex-shrink: 0; padding: 4px 10px; border-radius: 6px; background: #0b3d91; color: #fff; font-size: 13px; font-weight: 600; }
.navigation-page .moa-tags { display: flex; flex-wrap: wrap; min-width: 0; gap: 4px 6px; margin: 6px 0; padding-left: 36px; }
.navigation-page .moa-tag { max-width: 100%; padding: 2px 8px; border-radius: 6px; background: #f0fdf4; color: #15803d; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.navigation-page .moa-search-result p { margin: 0; padding-left: 36px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 1024px) {
    .navigation-page .moa-heading { flex-direction: column; align-items: stretch; gap: 16px; }
    .navigation-page .moa-search-label { flex: auto; width: 100%; }
}
@media (max-width: 640px) {
    .navigation-page .moa-card-grid { gap: 12px; }
    .navigation-page .moa-keyword-card { padding: 12px 12px 14px; min-height: 160px; }
    .navigation-page .moa-keyword-card h2 { font-size: 14px; max-height: 3em; }
    .navigation-page #moaResults { padding: 0; }
    .navigation-page .moa-search-result { padding: 12px; }
    .navigation-page .moa-result-header { grid-template-columns: 28px minmax(0,1fr); }
    .navigation-page .moa-result-view { grid-column: 2; justify-self: start; margin: 0; }
    .navigation-page .moa-tags,.navigation-page .moa-search-result p { padding-left: 0; }
}

/* ===== moa-review.css ===== */
/* Review presentation: reference-page styling with a fluid content width. */
#wrapper.moa-review-wrapper { width: 100%; min-width: 0; }

.moa-review .moa-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
.moa-review .moa-paper { padding: 0; border: 0; border-radius: 0; background: transparent; }
.moa-review .moa-paper > section { border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; padding: 22px 28px; margin-bottom: 18px; }
.moa-review .moa-review-heading { margin-bottom: 12px; }
.moa-review .moa-review-heading h2 { display: inline; margin: 0; font-size: 19px; line-height: 1.45; }
.moa-review .moa-review-heading .button-primary-small { display: inline-flex; vertical-align: middle; margin: 4px 0 4px 16px; padding: 9px 16px; font-size: 14px; white-space: nowrap; }
.moa-review .moa-review-section > p { margin: 0 0 12px; font-size: 15px; line-height: 1.8; }
.moa-review .moa-review-section a.product-link,
.moa-review .moa-review-section a.target-link { color: #2563eb; font-weight: 700; text-decoration: none; transition: color .15s; }
.moa-review .moa-review-section a.product-link:hover,
.moa-review .moa-review-section a.target-link:hover { color: #1e3a8a; text-decoration: underline; }
.moa-review .moa-paper > .moa-review-section { background: #f8fafc; }
.moa-review .moa-review-panels { grid-template-columns: minmax(0,1fr); width: 100%; max-width: 960px; gap: 16px; margin: 16px auto 12px; }
.moa-review .moa-review-panels > .moa-table-panel { max-width: 960px; }
.moa-review .moa-review-panels > .moa-figure { width: 100%; justify-self: center; }
.moa-review .moa-review-panels > .moa-figure figcaption { width: 100%; max-width: 820px; margin-inline: auto; }
.moa-review .moa-paper > #references { padding: 22px 28px; margin-top: 28px; }
.moa-review #references h2 { margin: 0 0 16px; font-size: 22px;  }
.moa-review .moa-review-refs { grid-template-columns: repeat(auto-fit,minmax(min(100%,260px),1fr)); gap: 18px; font-size: 14px; line-height: 1.5; }
.moa-review .moa-review-refs a { color: #0f172a; }
.moa-review .moa-review-refs a:hover { color: #2563eb; }

@media (max-width: 560px) {
    .moa-review .moa-paper > section,.moa-review .moa-paper > #overview,.moa-review .moa-paper > #references { padding: 18px 16px; }
}

/* ===== moa-article.css ===== */
/* Article presentation follows the reference site without a maximum content width. */
#wrapper.moa-article-wrapper { width: 100%; min-width: 0; }

.moa-article .moa-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
.moa-article .moa-paper { min-width: 0; padding: 22px 28px; border: 1px solid #e2e8f0; border-radius: 8px; background: #fff; }
.moa-article .moa-paper > section { padding: 0; border: 0; margin: 32px 0; }
.moa-article .moa-article-header { padding: 0; background: transparent; border: 0; border-radius: 0; margin-bottom: 24px; box-shadow: none; }
.moa-article .moa-article-header .moa-intro { margin: 0; font-size: 14px; line-height: 1.7; color: #64748b; text-align: left; }
.moa-article .moa-paper h2 { margin: 36px 0 16px; padding-bottom: 8px; border-bottom: 0; font-size: 22px;  line-height: 1.4;  }
.moa-article .moa-paper h3 { margin: 24px 0 12px; font-size: 18px;  }
.moa-article .moa-paper p { margin: 0 0 18px; font-size: 15px; line-height: 1.7; text-align: justify; }
.moa-article .moa-paper > .moa-takeaways,.moa-article .moa-paper > #faqs { padding: 0 !important; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none; }
.moa-article .moa-takeaways h2,.moa-article #faqs h2 { margin: 4px 0 20px; padding-bottom: 14px; font-size: 18px;  }
.moa-article .moa-takeaways h2 { margin-bottom: 8px; padding-bottom: 0; }
.moa-article .moa-takeaways .moa-takeaways-subtitle { margin: 0 0 20px; color: #64748b; font-size: 13px; line-height: 1.6; text-align: left; }
.moa-article .moa-badge,.moa-article .moa-faq-badge { display: inline-block; padding: 3px 9px; font-size: 11px; font-weight: 700; letter-spacing: .5px; border-radius: 6px; }
.moa-article .moa-badge { color: #065f46; background: #ecfdf5; border: 1px solid #a7f3d0; }
.moa-article .moa-faq-badge { color: #1d4ed8; background: #eff6ff; border: 1px solid #bfdbfe; }
.moa-article #faqs h2 { margin-bottom: 8px; }
.moa-article #faqs .moa-faq-subtitle { margin: 0 0 20px; color: #64748b; font-size: 13px; line-height: 1.6; text-align: left; }
.moa-article .moa-takeaways ul { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,380px),1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.moa-article .moa-takeaways li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 14px 16px; border: 0; border-radius: 6px; background: #f8fafc; font-size: 14px; line-height: 1.55; box-shadow: none; }
.moa-article .moa-takeaway-number { display: flex; flex: 0 0 24px; align-items: center; justify-content: center; height: 24px; margin-top: 2px; border-radius: 50%; background: #10b981; color: #fff; font-size: 12px; font-weight: 800; }
.moa-article .moa-takeaways li > div { min-width: 0; }
.moa-v2 .moa-figure { margin: 36px 0; border: 0; border-radius: 0; overflow: hidden; background: #fff; box-shadow: none; }
.moa-v2 .moa-figure .moa-image-wrapper { width: 100%; padding: 12px; background: #f8fafc; }
.moa-v2 .moa-figure .moa-image-wrapper svg { display: block; width: 100%; max-width: var(--moa-article-figure-max-width,1360px) !important; height: auto; margin: 0 auto; border-radius: 8px; }
.moa-v2.moa-article .moa-related-section .moa-related { grid-template-columns: repeat(auto-fit,minmax(min(100%,400px),1fr)); }
.moa-v2 .moa-figure figcaption { padding: 16px 20px; margin: 0; border-top: 0; color: #334155; font-size: 13px; line-height: 1.5; }
.moa-article .moa-figure figcaption { width: calc(100% - 24px); max-width: min(820px, var(--moa-article-figure-max-width, 1360px)); margin-inline: auto; }
.moa-v2 .moa-figure figcaption p { margin: 6px 0 0 !important; color: #64748b; font-size: 12px !important; line-height: 1.7; text-align: left !important; }
.moa-v2 .moa-figure .moa-image-footer { padding: 10px 20px 16px; border-top: 0; text-align: right; }
.moa-v2 .moa-figure .moa-image-credit { margin-bottom: 8px; color: #64748b; font-size: 13px; font-style: italic; line-height: 1.5; }
.moa-v2 .moa-figure .moa-image-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; color: #64748b; font-size: 12px; line-height: 1.5; }
.moa-v2 .moa-figure .moa-copy { margin: 0; padding: 8px 14px; border: 1px solid #cbd5e1; border-radius: 5px; background: #f8fafc; color: #1e293b; font-size: 14px; font-weight: 400; }
.moa-v2 .moa-figure .moa-copy:hover { background: #f1f5f9; border-color: #94a3b8; color: #1e293b; }
.moa-article .moa-body a.product-link,.moa-article .moa-body a.target-link { color: #2563eb; font-weight: 700; }
.moa-article .moa-body a.product-link:hover,.moa-article .moa-body a.target-link:hover { color: #1e3a8a; text-decoration: underline; }
.moa-v2 .moa-table-panel { width: 100%; padding: 0; background: transparent; border: 0; border-radius: 0; }
.moa-v2 .moa-table-panel table { font-size: 13px; line-height: 1.7; table-layout: auto; border-top: 2.5px solid #0f172a; border-bottom: 2.5px solid #0f172a; margin: 12px 0 8px; }
.moa-v2 .moa-table-panel th { background: transparent; border-bottom: 1.5px solid #0f172a; color: #0f172a; font-weight: 700; }
.moa-v2 .moa-table-panel th,.moa-v2 .moa-table-panel td { padding: 10px 14px; }
.moa-v2 .moa-table-panel tbody tr+tr { border: 0; }
.moa-v2 .moa-table-panel td:nth-child(2) { background: transparent; color: #1d4ed8; font-weight: 700; }
.moa-v2 .moa-table-panel tbody tr:hover td { background: #f8fafc; }
.moa-v2 .moa-table-panel h3 { margin: 24px 0 12px; font-size: 15px; line-height: 1.5; }
.moa-v2 .moa-table-panel .moa-caption { margin-top: 4px !important; font-size: 12px !important; text-align: left !important; }
.moa-article .moa-faq { padding: 0; margin: 0 0 12px; overflow: hidden; background: #f8fafc; border: 0; border-radius: 6px; box-shadow: none; }
.moa-article .moa-faq:last-child { margin-bottom: 0; }
.moa-article .moa-faq summary { display: flex; align-items: center; gap: 12px; padding: 14px 18px; list-style: none; font-size: 14px; line-height: 1.5; }
.moa-article .moa-faq summary::-webkit-details-marker { display: none; }
.moa-article .moa-faq summary::before { content: 'Q'; display: flex; flex: 0 0 22px; align-items: center; justify-content: center; height: 22px; border-radius: 6px; color: #fff; background: #3b82f6; font-size: 11px; font-weight: 800; }
.moa-article .moa-faq summary::after { content: '⌄'; flex-shrink: 0; color: #94a3b8; transition: transform .2s; }
.moa-article .moa-faq[open] summary::after { transform: rotate(180deg); }
.moa-article .moa-faq-question { flex: 1; min-width: 0; font-weight: 700; color: #0f172a; }
.moa-article .moa-faq-category { padding: 2px 8px; border-radius: 6px; color: #475569; background: #f1f5f9; font-size: 11px; font-weight: 600; }
.moa-article .moa-faq-answer { padding: 14px 18px 18px 52px; background: #fafafa; border-top: 0; }
.moa-article .moa-faq-answer p { margin: 0; font-size: 14px; line-height: 1.6; color: #334155; text-align: left; }
.moa-article .moa-paper > #references { margin-top: 40px; padding-top: 20px; border-top: 0; }
.moa-article #references h2 { margin-top: 0; }
.moa-article .moa-refs { margin: 0; padding: 0; list-style: none; font-size: 14px; }
.moa-article .moa-refs li { margin-bottom: 8px; padding: 0; border-radius: 6px; line-height: 1.6; }
.moa-article .moa-refs a { color: #0f172a; }
.moa-article .moa-refs a:hover { color: #2563eb; }

@media (max-width: 560px) {
    .moa-article .moa-paper { padding: 18px 16px; }
    .moa-article .moa-faq summary { flex-wrap: wrap; }
    .moa-article .moa-faq-category { margin-left: 34px; }
    .moa-article .moa-faq-answer { padding: 14px 18px; }
}

/* ===== moa-shared.css ===== */
/* Shared visual treatment for navigation, review and article templates. */
.moa-v2 sup.moa-citation { font-size: .82em; line-height: 1; vertical-align: super; margin: 0 1px; }
.moa-v2 sup.moa-citation a { font-size: inherit; vertical-align: baseline; color: #2563eb; font-weight: 700; padding: 0 2px; border-radius: 3px; text-decoration: none; }
.moa-v2 sup.moa-citation a:hover { color: #1d4ed8; background: #dbeafe; text-decoration: underline; }
.moa-v2 .moa-toc {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    top: 24px;
    align-self: start;
    min-width: 0;
    max-height: calc(100vh - 48px);
    padding: 16px 10px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.02);
}
.moa-v2 .moa-toc h2 { flex-shrink: 0; margin: 0; padding: 0 10px; font-size: 14px; }
.moa-v2 .moa-toc-links { min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.moa-v2 .moa-toc a {
    display: block;
    margin-bottom: 4px;
    padding: 8px 10px;
    border: 0;
    border-radius: 6px;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    text-decoration: none;
    transition: background .2s,color .2s;
}
.moa-v2 .moa-toc a span { display: inline-block; min-width: 24px; color: #94a3b8; font-weight: 700; font-variant-numeric: tabular-nums; }
.moa-v2 .moa-toc a:hover { color: #1d4ed8; background: #eff6ff; text-decoration: none; }
.moa-v2 .moa-toc a.active { color: #2563eb; background: #eff6ff; font-weight: 800; box-shadow: 0 1px 4px rgba(37,99,235,.08); }
.moa-v2 .moa-toc a.active span { color: #2563eb; }

.moa-review .moa-paper > section:not(.moa-related-section) {
    padding: 22px 28px;
}
.moa-v2 h1,.moa-v2 h2,.moa-v2 h3,
.moa-v2 h4,.moa-v2 h5,.moa-v2 h6 {
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: normal;
}
.moa-v2 h1 a,.moa-v2 h2 a,.moa-v2 h3 a,
.moa-v2 h4 a,.moa-v2 h5 a,.moa-v2 h6 a { color: inherit; }
.moa-v2 .moa-page-title {
    margin: 0 0 24px;

    font-size: 30px;

    line-height: 1.3;
    letter-spacing: normal;
}
.moa-v2 .moa-heading .moa-page-title { margin: 0; }
.moa-v2 .moa-paper > .moa-related-section {
    margin: 28px 0 0;
    padding: 20px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.moa-v2 .moa-related-section h2 {
    margin: 0 0 16px;
    padding: 0;
    border: 0;

    font-size: 23px;

    line-height: 1.4;
}
.moa-v2 .moa-related-section .moa-related {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr));
    gap: 12px;
}
.moa-v2 .moa-related-section .moa-related a {
    display: block;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #0b3d91;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    transition: background .15s,border-color .15s;
}
.moa-v2 .moa-related-section .moa-related a:hover {
    border-color: #cbd5e1;
    background: #f1f5f9;
    box-shadow: none;
    text-decoration: underline;
}

@media (max-width: 560px) {
    .moa-review .moa-paper > section:not(.moa-related-section) { padding: 18px 16px; }
    .moa-v2 .moa-page-title { font-size: 25px; }
    .moa-v2 .moa-related-section h2 { font-size: 21px; }
}

@media (max-width: 960px) {
    .moa-v2 .moa-toc { display: none; }
    .moa-v2 .moa-layout { grid-template-columns: minmax(0,1fr); }
}


/* Shared prose layout: two columns on wide screens, one on smaller screens. */
.moa-v2 .text-columns { min-width: 0; }
.moa-review .text-columns { margin-bottom: 12px; font-size: 15px; line-height: 1.8; }
.moa-review .text-columns p { margin: 0 0 12px; }
@media (min-width: 1440px) {
    .moa-v2 .text-columns { column-count: 2; column-gap: 36px; column-width: 360px; }
    .moa-v2 .text-columns h2,.moa-v2 .text-columns h3,.moa-v2 .text-columns h4 { break-after: avoid; }
    .moa-v2 .text-columns p { orphans: 3; widows: 3; }
    .moa-v2 .text-columns > figure,.moa-v2 .text-columns > table { column-span: all; }
}
/* In-page thumbnail navigation shares the hub card presentation. */
.moa-v2 .back-to-top { position: fixed; right: 24px; bottom: 24px; z-index: 100; padding: 10px 16px; border: 1px solid #0b3d91; border-radius: 8px; background: #0b3d91; color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 2px 8px #0f172a26; text-decoration: none; }
.moa-v2 .back-to-top:hover { background: #072e70; color: #fff; text-decoration: none; }
@media(max-width:560px) { .moa-v2 .back-to-top { right: 16px; bottom: 16px; } }

/* Keep the overview navigation visually separate from bordered review sections. */


/* Compact review cards follow the article-navigation reference. */
.moa-hub-wrapper #moaCards { grid-template-columns: repeat(auto-fill,minmax(min(100%,390px),1fr)); gap: 18px; align-items: start; }
.moa-hub-wrapper .moa-navigation-card { cursor: pointer; position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; padding: 10px 12px 12px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.04); transition: box-shadow .15s,border-color .15s; }
.moa-hub-wrapper .moa-navigation-card:hover { border-color: #93c5fd; box-shadow: 0 4px 12px rgba(37,99,235,.1); }
.moa-hub-wrapper .moa-navigation-card h2 { flex-shrink: 0; min-width: 0; margin: 0 0 10px; font-size: 16px; line-height: 1.3; }
.moa-hub-wrapper .moa-navigation-card h2 a::after { content: ""; position: absolute; inset: 0; cursor: pointer; }
.moa-hub-wrapper .moa-navigation-card:focus-within { outline: 2px solid #2563eb; outline-offset: 2px; }
.moa-hub-wrapper .moa-navigation-card h2 a { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #00a0d6; }
.moa-hub-wrapper .moa-navigation-body { display: flow-root; flex: 1; min-height: 0; }
.moa-hub-wrapper .moa-navigation-topics { list-style: decimal; margin: 0; padding: 0; list-style-position: inside; color: #64748b; font-size: 14px; line-height: 1.55; }
.moa-navigation-card:not(.is-expanded) .moa-navigation-topics li:nth-child(n+4) { display: none; }
.moa-navigation-card:not(.is-expanded) .moa-navigation-topics li { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; list-style-position: inside; }
.moa-navigation-card.is-expanded .moa-navigation-topics li { overflow-wrap: anywhere; }
.moa-navigation-toggle { position: relative; z-index: 1; display: block; margin: 3px 0 0; padding: 3px 10px 3px 0; border: 0; background: none; color: #2563eb; cursor: pointer; }
.moa-navigation-topics:has(+ .moa-navigation-toggle[aria-expanded="false"]) {
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 65%, transparent 100%);
}
.moa-navigation-toggle:hover { color: #1e3a8a; }
.moa-navigation-toggle svg { display: block; width: 15px; height: 20px; }
.moa-navigation-toggle[aria-expanded="true"] g { visibility: hidden; }
.moa-navigation-toggle[aria-expanded="true"] polyline { transform-box: fill-box; transform-origin: center; transform: rotate(180deg); }
.moa-hub-wrapper .moa-navigation-topics li::marker { font-weight: 700; }
.moa-hub-wrapper .moa-navigation-thumbnail { float: right; display: flex; align-items: center; justify-content: center; width: 30%; height: 100px; margin-left: 10px; overflow: hidden; pointer-events: none; }
.moa-hub-wrapper .moa-navigation-thumbnail svg { flex-shrink: 0; width: auto; min-width: 100%; max-width: none !important; height: 165% !important; max-height: none; }
.moa-review .moa-review-summary { width: 100%; min-width: 0; font-size: 15px; line-height: 1.8; }
.moa-review .moa-review-summary p { margin: 0 0 12px; }

.moa-review .moa-paper > #overview { margin-bottom: 28px; }
.moa-review #overview h2 { margin: 0 0 14px; font-size: 20px; color: #0b3d91; }
.moa-review .moa-explore-summary { margin: 0 0 16px; font-size: 14px; line-height: 1.8; white-space: pre-line; }
.moa-review .moa-topic-links { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.moa-review .moa-topic-links a { padding: 6px 14px; border: 1px solid #dbe3ef; border-radius: 999px; background: #fff; box-shadow: 0 1px 3px #0f172a0d; color: #0f172a; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.moa-review .moa-topic-links a:hover,
.moa-review .moa-topic-links a.active { border-color: #93b5e8; color: #0b3d91; background: #eff6ff; }
