/* Estilos de los ejercicios, sacados de style.css de QuixoteSpanish. */
h1, h2, h3, h4, .eyebrow, .level-meta, .card-num, .card-level, .match-num,
.gtable, .tabla, .n, .exercise-title, .q-list, .comp-list,
.discover-list, .order-target, .steps{font-variant-numeric: lining-num;
  font-feature-settings: 'lnum' 1;}

main :where(p, h1, h2, h3, h4, ul, ol, dl, table, blockquote, figure, form,
  .exercise, .grammar-body, .grammar-box, .culture-body, .cervantes, .discover,
  .level-blocks, .chapter-grid, .steps, .hero-actions, .progress-summary,
  .chapter-nav, .chapter-head, .hero, .btn-row, .tip, .word-bank,
  .options, .match-grid, .sort-columns, .order-pool, .checklist, .model-answer,
  .comp-list, .objective-list, .cando-list, .q-list){max-width: var(--medida);}

.btn{display: inline-block; padding: .7rem 1.2rem; border-radius: 0;
  border: 1px solid var(--tinta); background: transparent; color: var(--tinta);
  font-family: var(--titular); font-size: .85rem; line-height: 1.4;
  text-decoration: none; cursor: pointer;}

.btn:hover{background: var(--tinta); color: var(--papel);}

.btn:active{transform: translateY(1px);}

.icon-btn{background: none; border: 0; cursor: pointer; font-size: .9rem; opacity: .35; padding: .1rem; filter: grayscale(1);}

.icon-btn:hover{opacity: 1;}

.gtable, .tabla{border-collapse: collapse; margin: var(--e3) 0; font-size: .92rem; width: 100%;}

.gtable th, .gtable td, .tabla th, .tabla td{border: 0; border-bottom: .5px solid var(--tinta-clara);
  padding: .25rem .8rem .25rem 0; text-align: left; vertical-align: baseline;}

.gtable thead th, .tabla thead th{border-bottom: 1px solid var(--tinta-media);
  font-family: var(--titular); font-weight: 400;
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--tinta-media); background: transparent;}

.exercise{background: transparent; border: 0; border-radius: 0;
  border-top: .5px solid var(--tinta-clara);
  padding: var(--e2) 0 0; margin: 0 0 var(--e4);}

.exercise.is-done .exercise-title::after{content: ' ·  hecho'; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-media); font-weight: 400;}

.q-list{padding-left: 1.8rem; margin: 0 0 var(--e3);}

.q-list li::marker{font-family: var(--titular); color: var(--tinta-media);}

.q-item{margin-bottom: var(--e3);}

.options{display: grid; gap: 0;}

.option{display: flex; align-items: flex-start; gap: .5rem; padding: .15rem 0 .15rem .6rem; border: 0; border-left: 2px solid transparent; border-radius: 0; cursor: pointer;}

.option:hover{background: var(--fondo);}

.option.ok{border-left-color: var(--tinta); font-weight: 700;}

.option.bad{border-left-color: var(--tinta-clara); color: var(--tinta-media); text-decoration: line-through; text-decoration-thickness: 1px;}

.word-bank{display: flex; flex-wrap: wrap; gap: var(--e1); align-items: center; margin-bottom: var(--e3);}

.bank-label{font-family: var(--titular); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-media); margin-right: var(--e1);}

.chip{background: transparent; border: 0; border-bottom: .5px solid var(--tinta-clara); border-radius: 0; padding: 0 .35rem; font-size: .85rem;}

.gap-input.ok, .dictation-input.ok{border-bottom-width: 2.5px; font-weight: 700;}

.gap-input.bad, .dictation-input.bad{border-bottom-style: dashed; color: var(--tinta-media);}

.btn-row{display: flex; flex-wrap: wrap; gap: var(--e1); margin-bottom: var(--e1);}

.solution{font-size: .82rem; color: var(--tinta-media); margin: var(--e2) 0 0; padding-left: 1rem; border-left: .5px solid var(--tinta-clara);}

.trad{display: none;}

.ver-trad .trad{display: block; margin-top: .15rem; font-size: .88em; font-style: italic; font-weight: 400; color: var(--tinta-media); text-transform: none; letter-spacing: 0; text-decoration: none;}

.trad-btn{font-family: var(--titular); font-size: .66rem; font-weight: 400; font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-media); background: none; border: 0; border-bottom: .5px dotted currentColor; border-radius: 0; padding: 0; margin-left: .6rem; cursor: pointer; vertical-align: .1em;}

.trad-btn:hover, .ver-trad .trad-btn{color: var(--tinta);}

.feedback{font-family: var(--titular); font-size: .85rem; margin: var(--e2) 0 0; min-height: 1.2em; color: var(--tinta-media);}

.feedback.good, .speak-result.good, .writing-meta.good{color: var(--tinta); font-weight: 700;}

.feedback.bad, .speak-result.bad{color: var(--tinta-media); font-style: italic;}

.target-text{font-size: 1.12rem; margin: 0;}

.target-en{color: var(--tinta-media); font-style: italic; font-size: .85rem; margin: 0 0 var(--e1);}

.speak-result{font-size: .88rem; min-height: 1.2em; margin: var(--e1) 0 0;}

.chip-btn{cursor: pointer; font: inherit; font-size: .85rem; color: var(--tinta); text-align: left; border-bottom: .5px solid var(--tinta-clara);}

.chip-btn:hover:not(:disabled){border-bottom-color: var(--tinta);}

.chip-btn:disabled{opacity: .35; cursor: default;}

.chip-btn.is-sel{border-bottom-width: 2.5px; border-bottom-color: var(--tinta); font-weight: 700;}

.chip-btn.ok{border-bottom-width: 2.5px; border-bottom-color: var(--tinta); font-weight: 700;}

.chip-btn.bad{color: var(--tinta-media); text-decoration: line-through; text-decoration-thickness: 1px;}

.order-pool{display: flex; flex-wrap: wrap; gap: var(--e1); margin-bottom: var(--e3);}

.order-target{list-style: decimal; padding-left: 1.8rem; margin: 0 0 var(--e3); min-height: 1.5rem;}

.order-target li::marker{font-family: var(--titular); color: var(--tinta-media);}

.order-slot{padding: .15rem 0 .15rem .5rem; border-left: 2px solid transparent;}

.order-slot.ok{border-left-color: var(--tinta); font-weight: 700;}

.order-slot.bad{border-left-color: var(--tinta-clara); color: var(--tinta-media); text-decoration: line-through; text-decoration-thickness: 1px;}

.match-grid{display: grid; grid-template-columns: 1fr 1fr; gap: var(--e2) var(--e3); margin-bottom: var(--e3);}

.match-col{display: grid; gap: 0; align-content: start;}

.match-item{display: flex; align-items: baseline; gap: .5rem; width: 100%; text-align: left;
  font: inherit; font-size: .92rem; color: var(--tinta); background: transparent; cursor: pointer;
  border: 0; border-bottom: .5px solid var(--tinta-clara); border-radius: 0; padding: .25rem .2rem;}

.match-item:hover{border-bottom-color: var(--tinta);}

.match-item.is-sel{border-bottom-width: 2.5px; border-bottom-color: var(--tinta); font-weight: 700;}

.match-item.is-paired{border-bottom-style: dotted; border-bottom-color: var(--tinta);}

.match-item.ok{border-bottom-width: 2.5px; border-bottom-style: solid; font-weight: 700;}

.match-item.bad{color: var(--tinta-media); text-decoration: line-through; text-decoration-thickness: 1px;}

.match-num{font-family: var(--titular); font-size: .7rem; color: var(--tinta-media); min-width: .9rem;}

.tf-row{display: flex; gap: var(--e1); margin-top: var(--e1);}

.tf-btn{font: inherit; font-size: .85rem; color: var(--tinta); background: transparent; cursor: pointer;
  border: 1px solid var(--tinta-clara); border-radius: 0; padding: .3rem .9rem;}

.tf-btn:hover{border-color: var(--tinta);}

.tf-btn.is-sel{background: var(--tinta); color: var(--papel); border-color: var(--tinta);
  font-weight: 700;}

.tf-btn.ok{border-color: var(--tinta); box-shadow: inset 0 -.28rem 0 -.16rem var(--tinta);}

.tf-btn.is-sel.ok{box-shadow: inset 0 -.28rem 0 -.16rem var(--papel);}

.tf-btn.bad{color: var(--tinta-media); text-decoration: line-through; text-decoration-thickness: 1px;}

.tf-btn.is-sel.bad{color: var(--papel); text-decoration-thickness: 1.5px;}

.transform-source, .accent-source{margin: 0 0 var(--e1); font-size: 1.02rem;}

.transform-input.ok, .accent-input.ok{border-bottom-width: 2.5px; font-weight: 700;}

.transform-input.bad, .accent-input.bad{border-bottom-style: dashed; color: var(--tinta-media);}

.sort-columns{display: grid; grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr)); gap: var(--e3); margin-bottom: var(--e3);}

.sort-col{border-top: .5px solid var(--tinta-clara);}

.sort-col-title{display: block; width: 100%; text-align: left; cursor: pointer;
  font-family: var(--titular); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--tinta); background: transparent; border: 0; border-radius: 0; padding: var(--e1) 0;}

.sort-drop{display: flex; flex-wrap: wrap; gap: var(--e1); align-content: start; min-height: 4rem; padding: 0 0 var(--e2); cursor: pointer;}

.writing-meta{font-family: var(--titular); font-size: .78rem; color: var(--tinta-media);}

.checklist{margin-top: var(--e3); padding-left: 1rem; border-left: .5px solid var(--tinta-clara); border-top: 0; padding-top: 0;}

.checklist h4{margin: 0 0 var(--e1); font-size: .68rem; color: var(--tinta); text-transform: uppercase; letter-spacing: .16em; font-weight: 400;}

.checklist ul{list-style: none; padding: 0; margin: 0; display: grid; gap: var(--e1);}

.checklist label{display: flex; gap: .5rem; align-items: flex-start; font-size: .88rem; cursor: pointer;}

.model-title{font-family: var(--titular); font-size: .68rem; text-transform: uppercase; letter-spacing: .16em; color: var(--tinta-media); margin: var(--e2) 0 var(--e1);}

.model-en{color: var(--tinta-media); font-size: .88rem; font-style: italic;}

.finish-btn.done{background: var(--tinta); color: var(--papel);}

body.verbs-page .ch-section > .gtable{max-width: 46rem;}

body.verbs-page .gtable{display: block; overflow-x: auto;}

@media (max-width: 46rem){body.verbs-page .ch-section > .gtable{max-width: none;}
}
@media (max-width: 34rem){.pre-word-top .icon-btn, .vocab-top .icon-btn{order: 2; margin-left: auto;}
.match-grid{grid-template-columns: 1fr;}
.gtable, .tabla{display: block; overflow-x: auto;}
}
@media print{.site-header, .site-footer, .chapter-nav, .btn, .para-tools, .lang-toggle, .theme-toggle{display: none;}
}
.tema-faq-item{padding: var(--e2) 0;
  border-bottom: .5px solid var(--tinta-clara);}

.tema-faq-item:first-child{padding-top: 0;}

.tema-faq-item h3{margin: 0 0 .35em;}

.tema-faq-item p{margin: 0; max-width: var(--medida);}

.ej.is-ok .ej-input{border-bottom-width: 2.5px; font-weight: 700;}

main a:not(.btn):not(.brand):not(.muestra-caja){text-decoration-color: var(--tinta-clara);
  transition: text-decoration-color .18s ease-out;}

main a:not(.btn):not(.brand):not(.muestra-caja):hover{text-decoration-color: var(--tinta);}

.btn{transition: background-color .18s ease-out, color .18s ease-out;}

.btn:hover{background: var(--tinta); color: var(--papel);}

.btn:active{transform: translateY(1px);}

.btn.pronto:hover{background: transparent; color: var(--tinta);}

.gtable tr{transition: background-color .12s ease-out;}

.gtable tbody tr:hover,
.gtable tr:hover{background: var(--fondo);}

@media (prefers-reduced-motion: reduce){.btn:active{transform: none;}
}
.rail .btn{display: block; text-align: center; padding: .6rem 1rem;}

.lista-rapida .btn{flex: 0 0 auto;}

@media (max-width: 30rem){.lista-rapida .btn{width: 100%;}
}
.ficha-linea .btn{padding: .55rem .9rem; font-size: .78rem;}

@media (max-width: 46rem){.ficha-linea .btn{text-align: center;}
}
@media (min-width: 60.0625rem){.aviso-libro .lista-rapida .btn{width: 100%;}
}
.la-compra .btn{padding: .65rem 1.1rem;}

@media (max-width: 36rem){.la-compra .btn{text-align: center;}
}
html body .site-nav .tip-top, html body .site-nav a.idioma, .lang-pill, .menu-btn{background: color-mix(in srgb, var(--gb-surface) 78%, transparent);
  -webkit-backdrop-filter: blur(10px) saturate(1.4); backdrop-filter: blur(10px) saturate(1.4);
  box-shadow: var(--gb-sombra); border: 0;}

.menu-btn{display: none; order: 6; margin-left: 10px; flex: none; width: 40px; height: 40px; border-radius: 50%;
  place-items: center; cursor: pointer; color: var(--gb-ink); padding: 0;}

.menu-btn svg{width: 18px; height: 18px;}

.menu-btn:hover{background: var(--gb-hover); color: var(--gb-on-hover);}

@media (max-width: 760px){html body .site-header.estrecha .menu-btn{display: inline-grid;}
}
@media (max-width: 560px){html body .site-header .theme-toggle, html body .site-nav .tip-top, .menu-btn{margin-left: 6px;}
}