.clpe-home,.clpe-exam,.clpe-result,.clpe-results-page{max-width:1120px;margin:28px auto;font:16px/1.55 system-ui,-apple-system,sans-serif;color:#172033}.clpe-eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72em;font-weight:700;color:#2659a6}.clpe-home h1,.clpe-result h1{font-size:2.2rem;margin:.2rem 0}.clpe-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.clpe-card{border:1px solid #dbe2ef;border-radius:12px;padding:22px;background:#fff;box-shadow:0 3px 12px #17325d0a}.clpe-card h2{font-size:1.1rem;margin:0}.clpe-test-link{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #edf0f5;padding:10px 0}.clpe-test-link:first-of-type{margin-top:15px}.clpe-test-link a,.clpe-button{background:#1d4f99;color:#fff!important;border:0;border-radius:6px;padding:9px 14px;text-decoration:none;cursor:pointer;font:inherit}.clpe-button.secondary{background:#64748b}.clpe-instructions{max-width:700px;margin:50px auto;padding:35px;border:1px solid #dbe2ef;border-radius:12px;background:#fff}.clpe-exam{border:1px solid #d8dfeb;border-radius:10px;overflow:hidden;background:#fff}.clpe-exam-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 22px;background:#102a4c;color:#fff}.clpe-exam-head .clpe-eyebrow{color:#bdd4ff}.clpe-exam-head time{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700}.clpe-layout{display:grid;grid-template-columns:1fr 190px}.clpe-main{padding:25px}.clpe-audio{padding:15px;background:#f2f6fd;border-radius:8px;margin-bottom:20px}.clpe-audio audio{display:block;width:100%;margin-bottom:5px}.clpe-question h2{font-size:1.15rem}.clpe-question-image{max-width:100%;max-height:350px;border-radius:6px}.clpe-options{display:grid;gap:10px;margin:20px 0}.clpe-option{border:1px solid #d9e0ea;border-radius:6px;padding:12px;cursor:pointer}.clpe-option:has(input:checked){border-color:#1d4f99;background:#edf4ff}.clpe-options select{padding:10px;max-width:420px}.clpe-actions{display:flex;gap:10px;justify-content:space-between;margin-top:25px}.clpe-actions button,.clpe-nav button{font:inherit;border:1px solid #cbd5e1;border-radius:5px;background:#fff;padding:8px 12px;cursor:pointer}.clpe-actions button:disabled{opacity:.4}.clpe-actions .active{background:#fff6d8;border-color:#e5a900}.clpe-nav{background:#f7f9fc;padding:18px;border-left:1px solid #d8dfeb}.clpe-nav h3{margin-top:0}.clpe-nav button{margin:3px;width:36px}.clpe-nav button.current{background:#1d4f99;color:#fff}.clpe-nav button.answered{border-color:#15986c}.clpe-nav button.flagged:after{content:'⚑';color:#c78900}.clpe-nav .clpe-submit{width:100%;margin:16px 0 0;background:#be3030;color:#fff;border-color:#be3030}.clpe-result{max-width:750px;padding:35px;border:1px solid #dbe2ef;border-radius:12px;background:#fff}.clpe-score{font-size:1.7rem;font-weight:700;margin:20px 0}.clpe-result dl{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.clpe-result dl div{background:#f2f6fd;padding:12px;border-radius:6px}.clpe-result dt{font-size:.8rem}.clpe-result dd{font-size:1.2rem;font-weight:700;margin:4px 0}.clpe-review{border-top:1px solid #dbe2ef;padding:15px 0}.clpe-results-page table{border-collapse:collapse;width:100%;background:#fff}.clpe-results-page th,.clpe-results-page td{padding:10px;border:1px solid #dbe2ef;text-align:left}.clpe-error{color:#9b1c1c}@media(max-width:760px){.clpe-section-grid{grid-template-columns:1fr}.clpe-layout{grid-template-columns:1fr}.clpe-nav{border-left:0;border-top:1px solid #d8dfeb}.clpe-exam-head{font-size:.85rem;padding:12px}.clpe-main{padding:18px}.clpe-result dl{grid-template-columns:repeat(2,1fr)}}
.clpe-shell{max-width:1180px;margin:28px auto;display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.clpe-shell .clpe-exam{margin:0;max-width:none}.clpe-left-nav{position:sticky;top:24px;border:1px solid #d8dfeb;border-radius:14px;padding:14px;background:#f8fafc}.clpe-side-section{background:#fff;border:1px solid #dce4f0;border-radius:12px;padding:15px;margin-bottom:22px}.clpe-side-section span{display:block;color:#64748b;font-size:.8rem}.clpe-side-section strong{display:block;margin-top:4px;font-size:1.05rem}.clpe-test-list>span{display:block;color:#64748b;font-size:.78rem;font-weight:700;margin-bottom:8px}.clpe-test-list a{display:block;padding:10px 9px;color:#172033;text-decoration:none;border-radius:7px}.clpe-test-list a:hover,.clpe-test-list a.current-test{background:#e4efff;color:#1d4f99;font-weight:700}.clpe-side-progress{display:flex;justify-content:space-between;color:#64748b;font-size:.78rem;font-weight:700;margin:0 0 12px}.clpe-question-toolbar{padding:14px;margin-bottom:20px;background:#f7f9fc;border:1px solid #d8dfeb;border-radius:10px}.clpe-question-list{display:flex;gap:7px;flex-wrap:wrap}.clpe-question-list button{display:flex;align-items:center;gap:5px;text-align:left;margin:1px 0;padding:8px 11px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#172033;cursor:pointer}.clpe-question-list button i{font-style:normal;color:#94a3b8}.clpe-question-list button.current{background:#e4efff;color:#1d4f99;border-color:#8eafe1}.clpe-question-list button.current i,.clpe-question-list button.answered i{color:#14845c}.clpe-show-answers{background:#1d4f99!important;border-color:#1d4f99!important;color:#fff!important}.clpe-listening-content{max-width:760px;margin:0 auto;padding:55px 28px}.clpe-listening-content h1{margin:.25rem 0}.clpe-listening-content .clpe-button{margin-top:12px}.clpe-listening-content .clpe-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){.clpe-shell{grid-template-columns:1fr}.clpe-left-nav{position:static}}
.clpe-left-nav button,.clpe-left-nav .clpe-question-list button{color:#172033!important}.clpe-left-nav .clpe-question-list button.current{color:#1d4f99!important}.clpe-left-nav .clpe-submit{color:#fff!important}.clpe-back-audio{width:100%!important;margin:0 0 10px!important;background:#fff!important;border-color:#93a4bd!important;color:#1d4f99!important;font-weight:700}
.clpe-right-nav .clpe-side-buttons button{width:auto!important;min-width:0;color:#172033!important;white-space:normal}.clpe-right-nav .clpe-question-list button{color:#172033!important}.clpe-right-nav .clpe-question-list button.current{color:#1d4f99!important}.clpe-modal-backdrop{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:20px;background:rgba(15,35,64,.56)}.clpe-modal{width:min(100%,470px);box-sizing:border-box;border-radius:18px;padding:30px;background:#fff;box-shadow:0 24px 70px rgba(15,35,64,.28);color:#172033}.clpe-modal h2{margin:5px 0 10px;font-size:1.7rem}.clpe-modal p{margin:0;color:#526174}.clpe-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.clpe-modal-actions button{border-radius:8px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}.clpe-modal-cancel{border:1px solid #cbd5e1;background:#fff;color:#172033}.clpe-modal-confirm{border:1px solid #be3030;background:#be3030;color:#fff}
#clpe-app .clpe-option{display:flex;width:100%;box-sizing:border-box;align-items:center;gap:11px;text-align:left;color:#172033!important;font:inherit;background:#fff!important;cursor:pointer}#clpe-app .clpe-option input[type="radio"]{display:block!important;position:static!important;appearance:auto!important;-webkit-appearance:radio!important;opacity:1!important;width:20px!important;height:20px!important;margin:0!important;flex:0 0 auto;pointer-events:none}.clpe-option.selected{border-color:#1d4f99!important;background:#edf4ff!important}#clpe-app .clpe-show-answers{color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.2)}
.clpe-bulk-question{padding:20px 0;border-bottom:1px solid #e2e8f0}.clpe-bulk-question label{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.2fr);gap:20px;align-items:center;font-size:1.05rem}.clpe-bulk-question select{width:100%;padding:12px;border:1px solid #94a3b8;border-radius:8px;background:#fff;font:inherit}@media(max-width:700px){.clpe-bulk-question label{grid-template-columns:1fr}}
.clpe-actions button{color:#172033!important}.clpe-actions button.active{color:#6b4d00!important}
.clpe-test-list{border-bottom:1px solid #e2e8f0;padding-bottom:12px;margin-bottom:16px}.clpe-test-list>span{display:block;color:#64748b;font-size:.75rem;font-weight:700;margin-bottom:7px}.clpe-test-list a{display:block;color:#334155!important;text-decoration:none;padding:7px 8px;border-radius:6px;font-size:.9rem}.clpe-test-list a:hover,.clpe-test-list a.current-test{background:#e4efff;color:#1d4f99!important;font-weight:700}
/* Answer options can contain text, an image, or both. */
.clpe-image-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clpe-image-options .clpe-option{margin:0;align-items:flex-start;min-width:0}.clpe-answer-content{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%}.clpe-answer-image{display:block;max-width:100%;width:auto;height:150px;object-fit:contain;align-self:center;background:#fff;border-radius:6px}.clpe-answer-text{overflow-wrap:anywhere}.clpe-review .clpe-answer-image{max-width:220px;height:120px;margin:8px 0}.clpe-image-options input[type=radio]{flex-shrink:0;margin-top:8px}@media(max-width:580px){.clpe-image-options{grid-template-columns:1fr}.clpe-answer-image{height:140px}}

/* Compact vertical image choices; scoped to resist theme image sizing. */
#clpe-app .clpe-image-options{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px}
#clpe-app .clpe-image-options .clpe-option{padding:12px 16px!important;align-items:center!important;min-height:0!important}
#clpe-app .clpe-image-options .clpe-answer-content{flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px}
#clpe-app img.clpe-answer-image{display:block!important;width:auto!important;height:auto!important;max-width:min(200px,100%)!important;max-height:180px!important;object-fit:contain!important;margin:0!important;flex:0 1 auto}
#clpe-app .clpe-review img.clpe-answer-image{max-width:160px!important;max-height:140px!important}
#clpe-app .clpe-transcript{margin:12px 0 18px;border:1px solid #dce5ed;border-radius:8px;background:#f8fafc;text-align:start}
#clpe-app .clpe-transcript summary{padding:11px 14px;cursor:pointer;color:#245582;font-weight:600}
#clpe-app .clpe-transcript>div{padding:0 14px 14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;color:#263544}
#clpe-app .clpe-question-audio{margin:14px 0}#clpe-app .clpe-question-audio audio{max-width:100%}

/* Explicit disclosure control avoids theme handlers for details/summary. */
#clpe-app .clpe-transcript-toggle{display:block!important;width:100%!important;text-align:left!important;background:#f8fafc!important;color:#245582!important;border:0!important;border-radius:8px!important;padding:12px 14px!important;font:inherit!important;font-weight:600!important;cursor:pointer!important;box-shadow:none!important}
#clpe-app .clpe-transcript-text[hidden]{display:none!important}
#clpe-app .clpe-transcript-text:not([hidden]){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;position:static!important;padding:0 14px 14px!important;color:#263544!important;background:#f8fafc!important;white-space:pre-wrap!important;line-height:1.7!important;overflow-wrap:anywhere}

#clpe-app .clpe-relisten{margin:20px 0;padding:18px;border:1px solid #dce5ed;border-radius:10px;background:#f8fafc}#clpe-app .clpe-relisten[hidden]{display:none!important}#clpe-app .clpe-relisten h3{margin:0 0 12px;font-size:16px}#clpe-app .clpe-relisten audio{width:100%;max-width:100%}

#clpe-app .clpe-result-feedback{position:relative;isolation:isolate;overflow:hidden;margin:22px 0;padding:28px 22px;border:1px solid #d9e6f4;border-radius:14px;background:#f2f7fd;text-align:center}
#clpe-app .clpe-result-feedback.clpe-perfect{background:#eefaf3;border-color:#b4dfc4}
#clpe-app .clpe-feedback-icon{display:block;font-size:36px;line-height:1.4}#clpe-app .clpe-result-feedback h2{position:relative;margin:8px 0;color:#173b54;font-size:24px}#clpe-app .clpe-result-feedback p{position:relative;max-width:660px;margin:10px auto 0;color:#365269;line-height:1.7}
#clpe-app .clpe-confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}#clpe-app .clpe-confetti i{position:absolute;top:-16px;left:var(--x);width:7px;height:12px;background:var(--color);opacity:0;animation:clpe-confetti-fall 2.8s ease-out var(--delay) 1 both}
@keyframes clpe-confetti-fall{0%{opacity:0;transform:translate(0,-12px) rotate(0)}10%{opacity:.9}85%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),340px) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#clpe-app .clpe-confetti{display:none}#clpe-app .clpe-confetti i{animation:none}}
