.training-video{margin:1.5rem 0 2rem;background:#10233b;border-radius:14px;overflow:hidden}
.character-intro{margin:1.5rem 0 2rem;border-radius:14px;overflow:hidden;background:#10233b}
.character-intro img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.character-intro figcaption{padding:1rem;color:#d8e8f8;font-size:.875rem;line-height:1.6}
.training-video video{display:block;width:100%;aspect-ratio:16/9;background:#10233b}
.training-video figcaption{padding:1rem 1.2rem;color:#d8e8f8;font-size:.875rem;line-height:1.6}
.training-video a{color:#78deef}
.learning-cards{display:grid;gap:1.1rem;margin:2rem 0}
.level{display:inline-block;margin:0 0 .65rem;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:#e8f3f7;color:#24576c}
.level-intermedio{background:#fff1cf;color:#76520a}.level-avancado{background:#f6e3e6;color:#7f2834}
.learning-card{position:relative;border:1px solid #d6e3ef;border-left:4px solid #3b98b3;border-radius:10px;padding:1.4rem;background:#f7fafd;min-width:0}
.learning-card h3{margin:.25rem 0 .8rem;color:#1b335b;font-size:1.15rem}
.learning-card p{margin:.8rem 0 0;line-height:1.75}
.card-index{font-size:.875rem;color:#32758b;font-weight:700;letter-spacing:.1em}
.address-sample{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;background:#10233b;color:#9bedf6;padding:1rem;border-radius:8px;font:1rem/1.8 ui-monospace,Consolas,monospace}
.checkpoint{margin-top:2.2rem;padding:1.5rem;border:2px solid #9fc8d5;border-radius:12px;background:#fff}
.checkpoint .question{margin:0 0 1rem}.checkpoint legend{line-height:1.6}
#check-feedback{line-height:1.75;margin-bottom:0}.check-success{color:#17623c}.check-retry{color:#855016}
.learn-layout>*{min-width:0}
.matching-help{padding:1rem;background:#edf7fa;border-radius:10px;margin:1rem 0}
.matching-help p{line-height:1.6;margin:.75rem 0 0}
.exercise-pill{display:inline-block;background:#1b335b;color:#fff;padding:.35rem .7rem;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.08em}
#match-progress{font-size:.875rem;color:#24576c;font-weight:700}
.matching-grid{display:grid;gap:1rem;margin:1.25rem 0}
.match-row{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:.7rem;align-items:center;padding:1rem;border:1px solid #c5d7e5;border-radius:12px;background:#f8fbfd}
.match-prompt{display:flex;align-items:center;gap:.7rem;font-weight:600;line-height:1.6}
.match-number{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;background:#1b335b;color:white;border-radius:50%;font-size:.8rem}
.match-link{color:#32758b;font-size:1.3rem;text-align:center}
.match-row select{width:100%;min-width:0;min-height:48px;border:1px solid #8baec2;border-radius:8px;padding:.75rem;background:white;color:#17334c;font:inherit;font-size:.9rem}
.match-row select:focus-visible{outline:3px solid #1b69c9;outline-offset:3px}
.pair-feedback{grid-column:1/-1;margin:0;font-size:.9rem;line-height:1.6}
.pair-feedback:empty{display:none}
.match-selection{grid-column:1/-1;margin:0;color:#24576c;font-size:.9rem;line-height:1.6}.match-selection:empty{display:none}
.pair-correct{border:2px solid #28744d}.pair-correct .pair-feedback{color:#17623c}
.pair-retry{border:2px solid #9c681e}.pair-retry .pair-feedback{color:#71470e}
@media(max-width:1000px){.match-row{grid-template-columns:minmax(0,1fr)}.match-link{display:none}.match-row select{font-size:1rem}.match-prompt{align-items:flex-start}}
@media(max-width:600px){.learning-card,.checkpoint{padding:1rem}.address-sample{font-size:.9rem}.training-video figcaption{padding:.8rem}.lesson-footer{flex-wrap:wrap;gap:1rem}}
