/* Paper reviews share the atlas' restrained, warm-green reading palette. */
#detail.has-review{width:49rem}
.paper-review-links{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .85rem;margin-top:.9rem}
.paper-review-links button{padding:.15rem 0;font-size:.72rem;color:#4c705c;display:inline-flex;gap:.25rem;align-items:center}
.paper-review-links button span{color:#9aac9b;font-size:.68rem}
.paper-review-links button:hover{color:#245c40;text-decoration:underline;text-underline-offset:.25rem}
.review-status{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:1rem;font-size:.65rem;line-height:1.5;background:#eff2ed;color:#667663;white-space:nowrap}
.review-status-icon{display:inline-flex;align-items:center;justify-content:center;min-width:.8em;font-family:system-ui,sans-serif;font-size:.78rem;font-weight:600;line-height:1}
.review-status-integrated,.review-status-sdk{background:#e9f2e8;color:#466b4c}
.review-status-opensource{background:#edf1f5;color:#53687d}
.review-status-related-product,.review-status-related-sdk{background:#f8f0df;color:#876c39}
.paper-review{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.review-heading{display:flex;justify-content:space-between;gap:.8rem;align-items:center;color:#85917d;font-size:.65rem}
.review-eyebrow{color:#58745f;font-family:system-ui,sans-serif;font-size:.58rem;letter-spacing:.14em;font-weight:600}
.review-takeaway{font-size:1.03rem;line-height:1.85;color:#334e3c;margin:.85rem 0 1.2rem;text-wrap:pretty}
.review-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:.25rem;border:1px solid #e1e7da;border-radius:.6rem;background:#f0f3eb;gap:.2rem}
.review-tabs button{display:flex;justify-content:center;align-items:center;gap:.5rem;min-height:2.65rem;padding:.45rem .2rem;border-radius:.4rem;font-size:.79rem;line-height:1.5;color:#7b8972}
.review-tabs button>span{font-family:system-ui,sans-serif;font-size:.56rem;opacity:.65;letter-spacing:.03em}
.review-tabs button[aria-selected="true"]{background:#fafcf6;color:#375e40;box-shadow:0 1px 5px #3145280c;font-weight:600}
.review-tabs button:hover{color:#375e40}
.paper-review :is(button,a,summary,[role="tabpanel"]):focus-visible,.paper-review-links button:focus-visible{outline:2px solid #628c6b;outline-offset:3px;border-radius:4px}
.review-panel{padding-top:1.4rem;min-height:12rem}
.review-panel[hidden]{display:none}
.review-prose h3,.review-tradeoffs h3{font-size:.85rem;font-weight:600;margin:0 0 .5rem;color:#3d5744}
.review-prose h3:not(:first-child){margin-top:1.35rem}
.review-prose p{font-size:.86rem;line-height:2.05;color:#596b55;margin:0;overflow-wrap:anywhere;text-wrap:pretty}
.review-example{margin-top:1.2rem;background:#f0f4e9;border:1px solid #e7ecdf;border-radius:.5rem;padding:.8rem 1rem}
.review-example summary,.review-sources summary{cursor:pointer;font-size:.76rem;color:#506e51;line-height:1.8}
.review-example summary>span{font-size:.64rem;color:#85917a;margin-left:.5rem}
.review-example p{font-size:.82rem;line-height:1.95;color:#5c7054;margin:.6rem 0}
.review-example small{font-size:.64rem;line-height:1.8;color:#87917c;display:block}
.review-panel-intro{font-size:.74rem;color:#85917d;margin:0 0 1rem;line-height:1.8}
.review-tradeoffs{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.review-tradeoffs section{border:1px solid #e4ebde;border-radius:.6rem;background:#f1f6ed;padding:1.1rem}
.review-tradeoffs .review-limitations{background:#f8f5ee;border-color:#eee6d8}
.review-tradeoffs .review-limitations h3{color:#7b6849}
.review-tradeoffs h3 span{margin-right:.25rem}
.review-tradeoffs ul{padding-left:1.05rem;margin:.7rem 0 0}
.review-tradeoffs li{font-size:.81rem;line-height:1.95;color:#5a6e52;padding-left:.1rem;margin:.45rem 0;overflow-wrap:anywhere}
.review-limitations li{color:#796e59}
.review-disclaimer{font-size:.64rem;line-height:1.85;color:#8a947e;margin:1rem 0 0}
.review-deployment-heading{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .7rem;margin-bottom:1.2rem}
.review-deployment-heading>span:last-child{font-size:.7rem;color:#829178}
.review-fit{border:1px solid #e4e9df;border-radius:.5rem;margin:1.15rem 0 0;padding:.4rem 1rem;background:#fafbf7}
.review-fit>div{display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;padding:.65rem 0}
.review-fit>div+div{border-top:1px solid #e9ede3}
.review-fit dt{font-size:.69rem;color:#85917b;padding-top:.1rem}
.review-fit dd{font-size:.79rem;line-height:1.9;color:#596e52;margin:0;overflow-wrap:anywhere}
.review-sources{margin-top:1.4rem;border-top:1px solid #e5eadf;padding-top:.9rem}
.review-sources summary{font-size:.69rem;color:#7b8c72}
.review-sources summary>span{float:right;font-size:.61rem;color:#98a18d;padding-left:.6rem}
.review-sources p{font-size:.69rem;color:#849078;line-height:1.9;margin:.7rem 0 0;overflow-wrap:anywhere}
.review-source-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.7rem}
.review-source-links a{font-size:.71rem;color:#55775c;text-decoration:underline;text-underline-offset:.2rem}
.review-sources .review-source-date{font-size:.62rem;color:#98a18e}
#detail.has-review .detail-section{margin-top:1.4rem;padding-top:1rem}
@media(max-width:650px){
 #detail.has-review{width:100%;border-radius:0}
 .paper-review-links{gap:.4rem .75rem;margin-top:.7rem}
 .paper-review-links button{font-size:.72rem}
 .review-heading{flex-wrap:wrap;font-size:.64rem}
 .review-takeaway{font-size:1rem}
 .review-tabs button{font-size:.74rem;gap:.2rem;min-height:2.9rem}
 .review-tabs button>span{display:none}
 .review-tradeoffs{grid-template-columns:1fr}
 .review-panel{padding-top:1.2rem}
 .review-prose p{font-size:.89rem}
 .review-tradeoffs li{font-size:.86rem}
 .review-sources summary>span{float:none;display:block;padding-left:.9rem}
}
