/* v5.4.18 — UI 2.0 Structural RC.
   Final consistency, narrow-screen resilience and legacy-state cleanup only. */
.ui2-final-hidden-v5418{display:none!important}
body.ui2-final-rc-v5418 .v53-icon,
body.ui2-final-rc-v5418 .v54-icon,
body.ui2-final-rc-v5418 .v50-state-icon{display:none!important}
body.ui2-final-rc-v5418 .v50-setup .v50-config-preview{display:none!important}
body.ui2-final-rc-v5418 .v50-setup,
body.ui2-final-rc-v5418 .v53-empty,
body.ui2-final-rc-v5418 .v54-empty{box-shadow:none!important}
body.ui2-final-rc-v5418 .ui2-learn-home-v545 .ui2-learn-kicker.ui2-final-hidden-v5418{display:none!important}
body.ui2-final-rc-v5418 .ui2-final-release-v5418{border-radius:0!important;box-shadow:none!important}

@media(max-width:620px){
  body.ui2-final-rc-v5418 .history-tab,
  body.ui2-final-rc-v5418 .subject-filter-btn,
  body.ui2-final-rc-v5418 .ui2-text-action,
  body.ui2-final-rc-v5418 .ui2-library-subjects-v5417 button,
  body.ui2-final-rc-v5418 .ui2-library-types-v5417 button{min-height:40px!important}
}

/* 320px class devices are still seen in embedded browsers. The task builder must
   shrink to the viewport instead of honoring the min-content width of its flex/grid children. */
@media(max-width:340px){
  body.ui2-final-rc-v5418.ui2-task-practice-v5412 #app,
  body.ui2-final-rc-v5418.ui2-task-mock-v5412 #app{overflow-x:clip!important}
  body.ui2-final-rc-v5418 .ui2-task-builder,
  body.ui2-final-rc-v5418 .ui2-task-builder>.ui2-task-head,
  body.ui2-final-rc-v5418 .ui2-task-builder>.ui2-task-stage,
  body.ui2-final-rc-v5418 .ui2-task-builder>.ui2-task-launch,
  body.ui2-final-rc-v5418 .ui2-task-stage-title,
  body.ui2-final-rc-v5418 .ui2-task-subject-rail,
  body.ui2-final-rc-v5418 .ui2-task-segment-grid,
  body.ui2-final-rc-v5418 .ui2-task-amount{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  body.ui2-final-rc-v5418 .ui2-task-head{flex-wrap:wrap!important;gap:10px!important}
  body.ui2-final-rc-v5418 .ui2-task-head>div{min-width:0!important}
  body.ui2-final-rc-v5418 .ui2-task-subject-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ui2-final-rc-v5418 .ui2-task-segment-grid{grid-template-columns:1fr!important}
  body.ui2-final-rc-v5418 .ui2-task-mode-grid{grid-template-columns:1fr 1fr!important}
  body.ui2-final-rc-v5418 .ui2-task-amount{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  body.ui2-final-rc-v5418 .ui2-task-launch{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  body.ui2-final-rc-v5418 .ui2-task-launch-btn{width:100%!important;min-width:0!important}
}

/* Deep knowledge states were not part of the old top-route smoke tests.  Keep
   their instructional content, but remove the remaining pre-UI2 card/pill skin. */
body.ui2-final-rc-v5418.ui2-learn-active .knowledge-status-v42,
body.ui2-final-rc-v5418.ui2-learn-node .v48-step-chip{border-radius:6px!important}
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-guide-v42{
  border:1px solid var(--ui2-border)!important;
  border-radius:9px!important;
  background:var(--ui2-surface-2)!important;
  box-shadow:none!important;
}
body.ui2-final-rc-v5418.ui2-learn-node .zero-base-v46 .plain-card{
  border:1px solid var(--ui2-border)!important;
  border-radius:8px!important;
  background:var(--ui2-surface-2)!important;
  box-shadow:none!important;
}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-card{margin:18px 0 24px!important}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--ui2-border)!important;
  border-left:1px solid var(--ui2-border)!important;
  background:var(--ui2-surface)!important;
}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid article{
  min-width:0!important;
  padding:15px!important;
  border:0!important;
  border-right:1px solid var(--ui2-border)!important;
  border-bottom:1px solid var(--ui2-border)!important;
  border-radius:0!important;
  background:var(--ui2-surface)!important;
  box-shadow:none!important;
}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid article>span{
  padding:4px 7px!important;
  border-radius:6px!important;
  background:var(--ui2-surface-muted)!important;
  color:var(--ui2-text-3)!important;
  font-size:10.5px!important;
  font-weight:720!important;
}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid h3{margin:9px 0 5px!important;color:var(--ui2-text)!important;font-size:14px!important}
body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid p{margin:0 0 10px!important;color:var(--ui2-text-3)!important;font-size:11px!important;line-height:1.55!important}
@media(max-width:700px){
  body.ui2-final-rc-v5418.ui2-learn-dashboard .v48-route-grid{grid-template-columns:1fr!important}
}
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-coverage-v43 span,
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-label-v43 button,
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-label-v43 span,
body.ui2-final-rc-v5418.ui2-learn-node .math-explain-mark-v43,
body.ui2-final-rc-v5418.ui2-learn-node .english-pronounce-v46 span{border-radius:6px!important}

/* RC deep-node sweep: the reading column is a grid.  Its implicit auto track can
   otherwise grow to a long formula/image's min-content width on 320px devices. */
body.ui2-final-rc-v5418.ui2-learn-node .ui2-learn-reading{
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
body.ui2-final-rc-v5418.ui2-learn-node .ui2-learn-reading>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-q-preview-v42,
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-q-preview-v42>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.ui2-final-rc-v5418.ui2-learn-node .knowledge-q-preview-v42 img.inline-formula{
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
body.ui2-final-rc-v5418.ui2-learn-node .chinese-chip-v45{border-radius:6px!important}

/* RC all-question sweep: long unbroken URLs in English matching passages must
   wrap inside the option instead of defining the option's min-content width. */
body.ui2-final-rc-v5418.ui2-practice-active .option{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.ui2-final-rc-v5418.ui2-practice-active .option>span:not(.option-key),
body.ui2-final-rc-v5418.ui2-practice-active .option>div{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Resume is part of the UI2 continuity surface; do not let the legacy global
   `.btn.primary` blue-cyan gradient leak back into this final task sheet. */
body.ui2-final-rc-v5418 .ui2-resume-actions-v5416 .btn.primary{
  background:var(--ui2-brand)!important;
  color:#fff!important;
  box-shadow:none!important;
}

/* Computer's full-course outline uses the older generic question-row structure
   instead of `.outline-node-v43`; make it the same flat outline list as the
   other four subjects. */
body.ui2-final-rc-v5418.ui2-learn-outline .knowledge-question-list-v42{
  gap:0!important;
  border-top:1px solid var(--ui2-border)!important;
}
body.ui2-final-rc-v5418.ui2-learn-outline .knowledge-question-row-v42{
  padding:12px 1px!important;
  border:0!important;
  border-bottom:1px solid var(--ui2-border)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
