/* Default typography and layouts are unchanged; only the new control is styled. */
.text-size-control { display:flex; align-items:center; gap:6px; font-size:.78rem; white-space:nowrap; }
.text-size-control select { width:auto; min-width:94px; height:34px; padding:0 6px; font-size:inherit; }
@media screen {
  html[data-dqt-text-size] body { font-size:calc(1rem * var(--dqt-text-scale)); }
  html[data-dqt-text-size] .topbar { height:auto; min-height:72px; padding-top:8px; padding-bottom:8px; flex-wrap:wrap; }
  html[data-dqt-text-size] .user-menu { flex-wrap:wrap; }
  html[data-dqt-text-size] :is(button,input,select,textarea) { line-height:1.35; }
  html[data-dqt-text-size] :is(input,select):not([type=checkbox]):not([type=radio]) { min-height:44px; height:auto; padding-top:8px; padding-bottom:8px; }
  html[data-dqt-text-size] :is(.page-head,.toolbar,.page-actions,.row-actions) { flex-wrap:wrap; }
  html[data-dqt-text-size] :is(th,td,.slot-entry,.lesson) { overflow-wrap:anywhere; }
}
@media (max-width:680px) {
  .text-size-control { gap:3px; }
  .text-size-control select { min-width:86px; max-width:110px; }
}
/* Reserve the mobile title row; preferences must not squeeze the school name. */
@media screen and (max-width:680px) {
  body.function-menu-mode .topbar {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    height:auto;
    gap:8px 10px;
  }
  body.function-menu-mode .topbar .brand { grid-column:2; width:100%; }
  body.function-menu-mode .topbar .brand strong { overflow-wrap:normal; }
  body.function-menu-mode .topbar .user-menu {
    grid-column:1 / -1;
    width:100%;
    min-width:0;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
  }
}
@media print { .text-size-control { display:none !important; } }
