/* Shared by admin preview and the public site */
:root{ --ca-brand:#14532d; --ca-brand-soft:#e8f3ec; --ca-ink:#1f2933; --ca-muted:#6b7780; }
.ca-doc{ max-width:860px; margin:0 auto; background:#fff; color:var(--ca-ink); padding:1.6rem 1.8rem 2.2rem; font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.65; }
.ca-cover{ text-align:center; border-bottom:3px solid var(--ca-brand); padding-bottom:1rem; margin-bottom:1.2rem; }
.ca-cover-site{ text-transform:uppercase; letter-spacing:.12em; font-size:.8rem; color:var(--ca-muted); font-weight:600; }
.ca-cover h1{ font-size:1.9rem; font-weight:800; color:var(--ca-brand); margin:.25rem 0 0; }
.ca-cover-sub{ color:var(--ca-muted); margin-top:.2rem; }
.ca-intro{ background:var(--ca-brand-soft); border-radius:.5rem; padding:.7rem 1rem; }

.ca-toc{ display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0 .4rem; }
.ca-toc a{ text-decoration:none; font-size:.85rem; background:var(--ca-brand-soft); color:var(--ca-brand); padding:.25rem .7rem; border-radius:2rem; font-weight:600; }
.ca-toc a span{ background:var(--ca-brand); color:#fff; border-radius:1rem; padding:0 .45rem; font-size:.72rem; margin-left:.2rem; }

.ca-section{ margin-top:1.8rem; }
.ca-sec-title{ background:var(--ca-brand); color:#fff; font-size:1.15rem; font-weight:700; padding:.45rem .9rem; border-radius:.35rem; margin:0 0 1rem; }

.ca-article{ margin-bottom:1.6rem; padding-bottom:1.2rem; border-bottom:1px dashed #cfd6da; page-break-inside:avoid; }
.ca-article:last-child{ border-bottom:0; }
.ca-title{ font-size:1.12rem; font-weight:700; margin:0 0 .15rem; color:#0f2417; }
.ca-date{ font-size:.78rem; color:var(--ca-muted); margin-bottom:.4rem; }

.ca-lead{ display:flex; gap:.9rem; align-items:flex-start; margin:.5rem 0 .7rem; }
.ca-lead.img-right{ flex-direction:row-reverse; }
.ca-fig{ margin:0; flex:0 0 auto; text-align:center; }
.ca-fig img{ display:block; width:100%; height:auto; border-radius:.35rem; border:1px solid #dde2e6; }
.ca-fig figcaption{ font-size:.7rem; color:var(--ca-muted); margin-top:.2rem; line-height:1.25; }
.ca-fig-small{ width:150px; }
.ca-fig-medium{ width:240px; }
.ca-hl{ flex:1; min-width:0; background:var(--ca-brand-soft); border-left:4px solid var(--ca-brand); border-radius:.3rem; padding:.5rem .8rem .5rem .9rem; }
.ca-hl-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:var(--ca-brand); margin-bottom:.15rem; }
.ca-hl ul{ margin:0; padding-left:1.1rem; }
.ca-hl li{ font-size:.93rem; margin:.1rem 0; }
.ca-body p{ text-align:justify; margin:0 0 .6rem; font-size:.97rem; }

/* MCQs */
.ca-mcq-tools{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; margin-bottom:.8rem; }
.ca-hint{ font-size:.85rem; color:var(--ca-muted); }
.ca-btn{ border:1px solid var(--ca-brand); background:#fff; color:var(--ca-brand); border-radius:.35rem; padding:.25rem .8rem; font-size:.85rem; font-weight:600; cursor:pointer; }
.ca-btn:hover{ background:var(--ca-brand); color:#fff; }
.ca-q{ padding:.7rem 0; border-bottom:1px solid #eef0f2; page-break-inside:avoid; }
.ca-q-text{ font-weight:600; margin-bottom:.35rem; }
.ca-q-no{ color:var(--ca-brand); }
.ca-opts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.3rem .7rem; }
.ca-opts li{ display:flex; gap:.5rem; align-items:flex-start; border:1px solid #dde2e6; border-radius:.35rem; padding:.3rem .6rem; font-size:.93rem; }
.ca-opt-key{ font-weight:700; color:var(--ca-brand); }
.ca-ans{ display:none; margin-top:.5rem; background:#f6faf7; border-left:4px solid var(--ca-brand); padding:.45rem .7rem; border-radius:.3rem; font-size:.92rem; }
.ca-exp{ margin-top:.2rem; color:#33414a; }
.show-answers .ca-ans, .ca-q.revealed .ca-ans{ display:block; }
.show-answers .ca-opts li.is-correct, .ca-q.revealed .ca-opts li.is-correct{ background:#e3f4e8; border-color:#2f9e5b; }
.ca-q.revealed .ca-opts li.is-wrong{ background:#fde8e8; border-color:#d64545; }
.ca-q.interactive .ca-opts li{ cursor:pointer; }

@media (max-width:640px){
  .ca-doc{ padding:1rem .9rem 1.6rem; }
  .ca-cover h1{ font-size:1.45rem; }
  .ca-lead, .ca-lead.img-right{ flex-direction:column; }
  .ca-fig-small, .ca-fig-medium{ width:100%; max-width:240px; }
  .ca-opts{ grid-template-columns:1fr; }
}
@media print{
  .no-print{ display:none !important; }
  body{ background:#fff !important; }
  .ca-doc{ padding:0; max-width:100%; }
  .ca-sec-title{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .ca-hl, .ca-intro{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
