:root{
  --night:#0b1e3a; --ink:#eaf2ff; --muted:#a7c0ff; --accent:#5fd2ff;
  --ok:#46d77b; --ko:#ff6b6b; --card-bg:#0f2a54;
}
.chap-wrap{max-width:960px;margin:0 auto;padding:32px 20px 80px;color:var(--ink)}
.chap-title{margin:0 0 16px;font-size:clamp(28px,4vw,44px);letter-spacing:.4px}
.chap-controls{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 28px}
.chap-btn{background:#12356e;color:var(--ink);border:1px solid #2c4c8c;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600;transition:.2s}
.chap-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.chap-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.chap-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:860px){.chap-grid{grid-template-columns:1fr 1fr}}
.chap-panel{background:var(--card-bg);border:1px solid #1e3c78;border-radius:14px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.chap-q{font-size:clamp(18px,2.6vw,24px);margin:0 0 14px}
.chap-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chap-input{background:#0b1e3a;color:var(--ink);border:1px solid #2c4c8c;border-radius:10px;padding:10px 12px;min-width:240px;outline:none}
.chap-hint{color:var(--muted);font-size:14px;margin-top:8px}
.chap-feedback{margin-top:12px;font-weight:700}
.chap-ok{color:var(--ok)} .chap-ko{color:var(--ko)}
.chap-badges{display:flex;gap:14px;flex-wrap:wrap}
.chap-badge{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid #2d528f}
.chap-summary{margin-top:12px;max-height:280px;overflow:auto;background:#0c2144;border:1px solid #2a4c8a;border-radius:12px;padding:14px}
.chap-final{margin-top:20px;display:none}
.chap-table{width:100%;border-collapse:collapse;font-size:14px}
.chap-table th,.chap-table td{border-bottom:1px solid #264a8a;padding:8px 6px;vertical-align:top}
.chap-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:9999;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.chap-modal.open{display:flex}
.chap-modal-card{width:min(900px,96vw);max-height:85vh;overflow:auto;background:#0c2144;color:var(--ink);border:1px solid #2a4c8a;border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.55)}
.chap-modal header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.chap-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.chap-chip{font-size:13px;padding:6px 10px;border-radius:999px;background:#12356e;border:1px solid #2e5394}
.chap-deck{columns:2;column-gap:18px;padding-left:20px}
@media(max-width:680px){.chap-deck{columns:1}}
/* Fond bleu nuit uniquement pour la section app, laisse Astra gérer le reste */
.chap-bg{background:linear-gradient(180deg,var(--night),#07142a 60%);padding:1px 0}
/* Force le titre à être bien visible malgré Astra */
.chap-title {
    color: var(--ink) !important;
    opacity: 1 !important;
}