/* Estilos limitados al piloto de Grammar. */
.doc.grammar-practice{max-width:none;width:100%}
.grammar-practice .levels{margin:18px 0}
.grammar-practice #grammar-level>h2{margin:18px 0 8px}
.grammar-practice #grammar-level>p{margin:8px 0;max-width:95ch}
.grammar-help{font-size:.9rem;margin:8px 0;color:var(--muted);max-width:80ch}
.grammar-help summary{cursor:pointer;color:#32657e;width:fit-content;min-height:32px;padding:5px 0}
.grammar-help p{margin:4px 0 12px}
.grammar-practice .grammar-hint{font-size:.9rem;color:var(--muted);margin:.5rem 0}
.grammar-progress{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
/* El número de columnas depende del espacio real disponible, no del dispositivo. */
.grammar-questions{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:12px;align-items:stretch}
.grammar-questions--wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
.grammar-practice .grammar-exercise{padding:clamp(14px,1.6vw,24px);margin:18px 0;font-size:16px}
.grammar-exercise h3{margin:0 0 16px;line-height:1.5}
.grammar-question{border:1px solid var(--line);border-radius:12px;padding:14px;margin:0;background:var(--surface);min-width:0;display:flex;flex-direction:column}
.grammar-question-number{font-weight:600;color:#38728b;line-height:2.5}
.grammar-question--gap>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 8px;align-items:baseline}
.grammar-question--gap .badge{grid-column:2;justify-self:start;margin:0 0 4px}
.grammar-question--gap .grammar-sentence{grid-column:2}
.grammar-sentence{line-height:1.8;overflow-wrap:anywhere;min-width:0}
.grammar-sentence input{font:inherit;color:inherit;box-sizing:border-box;max-width:100%;width:14ch;min-height:44px;padding:7px 9px;border:1px solid #b6ced9;border-radius:8px;background:var(--surface);margin:3px 3px;vertical-align:middle}
.grammar-sentence input:disabled{opacity:1;color:inherit;-webkit-text-fill-color:currentColor}
.grammar-sentence select{font:inherit;color:inherit;box-sizing:border-box;max-width:100%;width:220px;min-height:44px;padding:7px 9px;border:1px solid #b6ced9;border-radius:8px;background:var(--surface);margin:3px;vertical-align:middle}
.grammar-sentence select:disabled{opacity:1;color:inherit;-webkit-text-fill-color:currentColor}
.grammar-practice select:focus-visible{outline:3px solid #3589b5;outline-offset:3px}
.grammar-written-answer input{display:block;width:100%;margin:6px 0}
.grammar-question.is-correct{border-color:#399568;background:color-mix(in srgb,var(--surface) 94%,#39a66b)}
.grammar-question.is-incorrect{border-color:#c85555;background:color-mix(in srgb,var(--surface) 94%,#d65b5b)}
.grammar-question.is-correct .grammar-feedback{color:#237347}
.grammar-question.is-incorrect .grammar-feedback{color:#a23333}
.grammar-feedback{margin:8px 0 0;font-size:.9rem;line-height:1.5}
.grammar-feedback:empty{display:none}
.grammar-row-actions,.grammar-actions,.grammar-word-bank,.grammar-chosen{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.grammar-row-actions{padding-top:10px;margin-top:auto;gap:6px}
.grammar-row-actions .btn{padding:7px 12px;font-size:13px;min-height:44px}
.grammar-row-actions [data-reveal]{border-color:transparent;background:transparent;color:var(--muted)}
.grammar-row-actions [data-reveal]:hover{background:var(--surface-2);color:var(--text)}
.grammar-practice .btn{min-height:44px;white-space:normal;text-align:center}
.grammar-practice button:focus-visible,.grammar-practice a:focus-visible,.grammar-practice input:focus-visible{outline:3px solid #3589b5;outline-offset:3px}
.grammar-practice button:disabled{cursor:default;opacity:.6}
.grammar-word-bank button{background:var(--surface-2)}
.grammar-chosen{min-height:48px;padding:8px;border:1px dashed var(--line);border-radius:10px}
.grammar-chosen:empty::before{content:'Your sentence will appear here.';color:var(--muted);align-self:center}
.grammar-order-answer input{width:100%!important}
.grammar-table-scroll{max-width:100%;overflow-x:auto}
.grammar-practice table{width:100%;border-collapse:collapse;text-align:center}
.grammar-practice th,.grammar-practice td{padding:10px;border:1px solid var(--line)}
.grammar-practice th{background:var(--surface-2)}
.grammar-practice caption{text-align:left;margin:8px 0}
.grammar-example{padding:12px;border-left:3px solid var(--line);background:var(--surface-2)}
.grammar-result{margin-top:24px}
.grammar-score{font-size:1.5rem;font-weight:600}
.grammar-theory-practice{margin:24px 0}
.grammar-theory-practice .btn,.grammar-exercise-actions [data-check-exercise]{background:#d6edf7;border:1px solid #a9cddd;color:#24556c;box-shadow:0 2px 5px #24556c0a;justify-content:center;min-height:46px;transition:background .15s,border-color .15s}
.grammar-theory-practice .btn:hover,.grammar-exercise-actions [data-check-exercise]:hover{background:#c4e4f2;border-color:#87b6cb;color:#1e485e}
.grammar-exercise-actions{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px 12px;margin-top:18px}
.grammar-exercise-actions [data-check-exercise]{grid-column:1;grid-row:1}
.grammar-exercise-score{grid-column:2;grid-row:1;justify-self:start;font-weight:650;color:#24556c;background:#e5f2f8;border:1px solid #bedae6;border-radius:10px;padding:9px 11px;white-space:nowrap;font-size:15px;font-variant-numeric:tabular-nums}
.grammar-exercise-score[hidden]{display:none}
.grammar-exercise-actions p{grid-column:1/-1}
@media(max-width:360px){.grammar-exercise-actions{column-gap:8px}.grammar-exercise-actions [data-check-exercise]{padding:10px 12px;font-size:14px}.grammar-exercise-score{padding:9px 7px;font-size:14px}}
.grammar-exercise-actions p{margin:0;flex:1 1 220px;font-size:.9rem;color:var(--muted)}
.grammar-theory-practice .btn:focus-visible{outline:3px solid #3589b5;outline-offset:3px}
@media(max-width:600px){.grammar-practice .levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0}.grammar-practice .level-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;padding:8px 5px;font-size:13px}.grammar-practice .level-tab .stars{font-size:10px}.grammar-practice #grammar-level>h2{font-size:20px;margin:14px 0 6px}.grammar-practice .grammar-exercise{padding:12px}.grammar-question{padding:12px}.grammar-questions{gap:10px}.grammar-sentence input{max-width:100%;margin:3px 2px}.grammar-written-answer input{margin:5px 0}.grammar-practice th,.grammar-practice td{padding:8px 5px}.grammar-progress{padding:10px 12px;gap:6px}.grammar-progress span{font-size:.9rem}.grammar-actions .btn{flex:1 1 150px}}
@supports not (background:color-mix(in srgb,white,green)){.grammar-question.is-correct{box-shadow:inset 4px 0 #399568}.grammar-question.is-incorrect{box-shadow:inset 4px 0 #c85555}}
