/* All values come from the existing 15-style / personal region themeManager.
   This file scopes layout and contrast to grammar; spelling/keyboard colors stay
   on their original components and their existing teaching/keyboard CSS. */
.grammar-sentence-app {
  box-sizing:border-box; min-width:0; min-height:0;
  display:flex; flex-direction:column; align-items:stretch;
  background:var(--grammar-page-bg,var(--lesson-color-page));
  color:var(--grammar-page-ink,var(--read-primary));
  font-size:var(--grammar-chinese-size,16px); line-height:1.55;
}
.grammar-sentence-app :where(.grammar-toolbar,.grammar-footer) {
  display:flex; flex:0 0 auto; align-items:center; justify-content:space-between;
  gap:.5rem; flex-wrap:wrap; min-width:0; padding:.6rem 1rem;
  background:var(--grammar-tools-bg,var(--lesson-color-tools));
  color:var(--grammar-tools-ink,var(--read-dock));
}
.grammar-sentence-app .grammar-toolbar-group {display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}
.grammar-sentence-app .grammar-title {margin:0;font:inherit;font-weight:700;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-progress {font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.9em}
.grammar-sentence-app .grammar-catalogue {flex:1 1 auto;width:100%;max-width:76rem;min-height:0;min-width:0;margin-inline:auto;padding:1rem;overflow:auto;box-sizing:border-box}
.grammar-sentence-app .grammar-filter {display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-block:0 1rem}
.grammar-sentence-app .grammar-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.7rem}
.grammar-sentence-app .grammar-course-card {display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:3.8rem;width:100%;padding:.8rem 1rem;white-space:normal;text-align:left;font:inherit;cursor:pointer;border:1px solid currentColor;border-radius:.75rem;box-shadow:none}
.grammar-sentence-app .grammar-course-card>span:first-child {min-width:0;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-course-card>span:last-child {flex-shrink:0;font-variant-numeric:tabular-nums}
.grammar-sentence-app .grammar-course-card:disabled {cursor:wait}
.grammar-sentence-app .grammar-stage-shell {display:flex;flex:1 1 auto;min-height:0;min-width:0;position:relative}
.grammar-sentence-app .grammar-knowledge {max-width:65rem;margin-inline:auto;padding:1rem;box-sizing:border-box;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-knowledge details {margin-block:.65rem;border:1px solid currentColor;border-radius:.7rem;overflow:hidden}
.grammar-sentence-app .grammar-knowledge summary {padding:.75rem 1rem;cursor:pointer;font-weight:700}
.grammar-sentence-app .grammar-knowledge-body {padding:1rem;line-height:1.75}
.grammar-sentence-app .grammar-knowledge-body>* {margin-block:.5rem}
.grammar-sentence-app .grammar-explanation {margin:.6rem 1rem;padding:.8rem 1rem;border:1px solid currentColor;border-radius:.7rem;min-width:0;max-height:min(38dvh,18rem);overflow:auto;line-height:1.7;box-sizing:border-box}
.grammar-sentence-app .grammar-explanation p {margin:.35rem 0 .7rem;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-notice {display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex:0 0 auto;flex-wrap:wrap;padding:.5rem 1rem;margin:.5rem 1rem;border:1px solid currentColor;border-radius:.6rem;max-height:8rem;overflow:auto;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-help-hint {margin:.35rem 1rem;font-size:.95em;overflow-wrap:anywhere}
.grammar-sentence-app .grammar-tool-button {display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.25rem;padding:.4rem .7rem;border:1px solid currentColor;border-radius:.75rem;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.grammar-sentence-app .grammar-tool-button>svg {width:1.1em;height:1.1em;flex-shrink:0}
.grammar-sentence-app :is(.grammar-tool-button,.grammar-course-card,.learning-back-button,.learning-nav-button):focus-visible {outline:2px solid currentColor;outline-offset:3px}
.grammar-sentence-app :is(.grammar-tool-button,.grammar-course-card):disabled {cursor:default;opacity:1;border-style:dashed}
.grammar-sentence-app :is(.grammar-filter select,.grammar-filter input,.grammar-search) {min-height:2.4rem;max-width:100%;padding:.4rem .65rem;font:inherit;border:1px solid currentColor;border-radius:.5rem;background:var(--grammar-directory-bg,var(--lesson-color-directory));color:var(--grammar-directory-ink,var(--app-card-ink))}
.grammar-sentence-app .grammar-search {width:min(100%,30rem);box-sizing:border-box}
.grammar-sentence-app .grammar-search::placeholder {color:inherit;opacity:1}
/* Region pairing outranks legacy generic grammar rules; NEVER target the
   keyboard's own descendants or recolor correctness feedback. */
html[data-learning-style] .grammar-sentence-app[data-grammar-release][data-learning-color="page"] {background:var(--grammar-page-bg,var(--lesson-color-page))!important;color:var(--grammar-page-ink,var(--read-primary))!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="tools"] {background:var(--grammar-tools-bg,var(--lesson-color-tools))!important;color:var(--grammar-tools-ink,var(--read-dock))!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="directory-card"] {background:var(--grammar-directory-bg,var(--lesson-color-directory))!important;color:var(--grammar-directory-ink,var(--app-card-ink))!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="directory-card"] :is(span,strong,small) {color:inherit!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] :is(.grammar-knowledge-body,.grammar-explanation,.grammar-notice)[data-learning-color="canvas"] {background:var(--grammar-canvas-bg,var(--lesson-color-canvas))!important;color:var(--grammar-canvas-ink)!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] :is(.grammar-knowledge-body,.grammar-explanation,.grammar-notice) :is(p,h2,h3,strong,small,li) {color:inherit!important;font-size:inherit}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="action"] {background:var(--grammar-action-bg,var(--lesson-color-action))!important;color:var(--grammar-action-ink,var(--app-action-ink))!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="action"]>svg {color:inherit!important}
html[data-learning-style] .grammar-sentence-app[data-grammar-release] [data-learning-color="text"] {color:inherit!important;font-size:var(--grammar-chinese-size,16px)}
@media(max-width:640px){.grammar-sentence-app .grammar-catalogue{padding:.7rem}.grammar-sentence-app .grammar-toolbar{padding:.5rem .65rem}.grammar-sentence-app .grammar-progress{font-size:.85em}.grammar-sentence-app .grammar-explanation{margin:.4rem .65rem}}
@media(prefers-reduced-motion:reduce){.grammar-sentence-app *{scroll-behavior:auto!important}}
