/* Typing Coach Core v1.87.154: one-screen PC practice for newly seeded lessons.
   No scroll fallback. Retain existing typography, keyboard geometry, scoring.
   The shared viewport-fit function sizes the entire practice canvas, including
   all five keyboard rows and the quit footer, inside the available height. */
@media (min-width:901px) {
html body.tc-stage-practice:has(.tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long])) {
  height:100dvh!important;min-height:0!important;overflow:hidden!important;
}
html body.tc-stage-practice .tc-app-main:has(.tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long])) {
  height:calc(100dvh - 82px)!important;min-height:0!important;overflow:hidden!important;
}
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]),
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-formal,
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-viewport {
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
}
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-fit {
  position:relative!important;inset:auto!important;height:auto!important;min-height:0!important;overflow:visible!important;display:block!important;padding:0!important;
}
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-canvas {
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;transform:none!important;
  width:100%!important;max-width:100%!important;flex:0 1 auto!important;
  grid-template-rows:auto auto auto auto auto auto auto!important;row-gap:2px!important;
}
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-canvas .tc-keyboard-wrap-formal {
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
}
html body.tc-stage-practice .tc-shell[data-tc-app]:is([data-tc-social-short],[data-tc-social-long],[data-tc-memory-short],[data-tc-memory-long]) .tc-practice-canvas .tc-keyboard {
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;grid-template-rows:repeat(5,max-content)!important;
}
}
