/* Responsive supplement: desktop styles and board input handling are preserved. */
@media (max-width:1023px) {
  html { scrollbar-gutter:auto; }
  .workspace { padding:20px 16px 32px; }
  .topbar { padding:10px 16px; height:auto; min-height:64px; gap:10px; flex-wrap:wrap; }
  .topbar>.row { min-width:0; }
  .topbar .top-date,.topbar .top-avatar { display:none; }
  .topbar-actions { margin-left:auto; }
  .page-heading { flex-wrap:wrap; gap:12px; margin-bottom:20px; }
  .page-heading>div { min-width:0; }
  .page-heading h1 { overflow-wrap:anywhere; }
  .class-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .course-cards,.library-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); }
  .home-columns { grid-template-columns:minmax(0,1fr); }
  .panel,.class-card,.exercise-card { min-width:0; }
  [data-slot=sidebar][data-mobile=true] { width:min(320px,calc(100vw - 48px)); max-width:none; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
  [data-slot=sidebar][data-mobile=true]>button { display:flex!important; align-items:center; justify-content:center; width:44px; height:44px; top:8px; right:4px; background:white; opacity:1; }
  [data-slot=sidebar][data-mobile=true] .brand { padding-right:45px; font-size:20px; }
  [data-slot=sidebar][data-mobile=true] .sidebar-note { display:none; }
  [data-slot=sidebar][data-mobile=true] .nav-caption { margin-top:10px; }
  .library-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .library-columns { grid-template-columns:minmax(0,1fr); }
  .library-topics { position:static; max-height:240px; overflow:auto; }
  .library-table { overflow-x:auto; }
  .library-table table { min-width:650px; }
  .library-table th,.library-table td { display:table-cell!important; }
  .library-row-actions { flex-direction:row; }
  .library-row-actions button { height:auto; min-height:40px; }
  .form-grid,.board-layout { gap:16px; }
  [data-slot=dialog-content] { max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; }
  .board-view-tools,.annotation-controls,.board-toolbar,.preview-toolbar { flex-wrap:wrap; }
  .annotation-palette { flex:none; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select { font-size:16px!important; }
  .site-footer { padding:16px; gap:10px; flex-wrap:wrap; }
}
@media (max-width:600px) {
  .workspace { padding:16px 12px 28px; }
  h1 { font-size:26px; }
  .panel,.class-card,.exercise-card { padding:16px; }
  .class-grid,.exercise-grid,.form-grid,.mode-grid,.board-layout,.publication-details,.lesson-create { grid-template-columns:minmax(0,1fr); }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .metric { padding:14px; gap:8px; }
  .metric strong { font-size:28px; }
  .metric-top,.metric-bottom { flex-wrap:wrap; }
  .filters { gap:8px; }
  .filters>.searchbox,.filters>input,.filters>[data-slot=native-select-wrapper] { min-width:0; max-width:none; width:100%; flex:1 1 150px; }
  .library-toolbar { grid-template-columns:minmax(0,1fr); }
  .library-topics { max-height:180px; }
  .library-heading .row { width:100%; }
  .library-heading .row button { flex:1 1 140px; height:auto; white-space:normal; }
  .empty-class,.lesson-list article { flex-wrap:wrap; gap:12px; }
  .empty-class h3 { white-space:normal; }
  .empty-class button { margin-left:0; }
  .progress-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .progress-row>[data-slot=progress] { grid-column:1/-1; grid-row:2; }
  .wizard-footer { flex-wrap:wrap; margin-top:20px; }
  .topbar { padding:8px 12px; display:grid; grid-template-columns:minmax(0,1fr) 44px; }
  .topbar>.row:first-child { flex-wrap:nowrap; gap:8px; }
  .topbar .workspace-context { flex:1; min-width:0; }
  .topbar .workspace-context strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .topbar .global-fullscreen { display:none; }
  .topbar-actions { display:contents; }
  .topbar .notification-button { grid-column:2; grid-row:1; }
  .topbar .course-alert-button { grid-column:1/-1; grid-row:2; }
  .topbar .sidebar-toggle-label { width:44px; height:44px; padding:8px; }
  .topbar .sidebar-toggle-label span { display:none; }
  .course-task>div { flex-basis:100%; }
  .course-task button { flex:1; white-space:normal; height:auto; }
  .review-library-filters label { min-width:0; flex-basis:100%; }
  .review-session-heading { align-items:flex-start; }
  .review-actions { position:static; }
  .session-navigation button,.fit-controls button,.board-toolbar button { min-height:44px!important; }
  .board-toolbar { justify-content:center; gap:6px; }
  .board-toolbar button { flex:1 1 auto; }
  .play-layout .instruction { max-height:none; }
  [data-slot=dialog-content] { padding:16px; }
}
/* A lesson remains a scrollable page on a phone. Videos never cover the board. */
@media (max-width:999px) {
  body.hod-lesson-room .workspace { padding:8px max(8px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); }
  .lesson-room.lesson-room-modern { min-height:0; height:auto; display:block; }
  .lesson-room-modern .lesson-room-header { min-height:0; height:auto; gap:6px; padding-bottom:10px; }
  .lesson-room-modern .lesson-room-header>div { flex:0 1 auto; order:0; }
  .lesson-room-modern .lesson-room-header>div:first-of-type { flex:1 1 100%; order:-1; }
  .lesson-room-modern .lesson-room-header>button { flex:1 1 auto; min-height:40px; padding:6px 10px; }
  .lesson-room-modern .lesson-room-header h1 { font-size:17px; white-space:normal; }
  .lesson-room-modern .lesson-room-header .lesson-clock { flex-basis:100%; max-width:none; }
  .lesson-room-modern .lesson-participants.is-open { position:static; width:100%; max-height:none; box-shadow:none; margin:0 0 10px; }
  .lesson-room-modern .call-title { padding:8px 10px 2px; }
  .lesson-room-modern .call-status { padding-bottom:6px; }
  .lesson-room-modern .call-videos { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .lesson-room-modern .call-stream,.lesson-room-modern .call-stream.call-self { aspect-ratio:16/9; max-height:160px; }
  .lesson-room-modern .call-stream video { object-fit:contain; }
  .lesson-room-modern .call-avatar { gap:2px; }
  .lesson-room-modern .call-avatar>svg { width:24px; height:24px; }
  .lesson-room-modern .call-content { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 10px; gap:8px; align-items:center; }
  .lesson-room-modern .call-content>.error,.lesson-room-modern .call-content>p,.lesson-room-modern .call-help { grid-column:1/-1; }
  .lesson-room-modern .call-content>.call-device-buttons { grid-column:1/-1; }
  .lesson-room-modern .call-device-buttons>button { flex-direction:row; min-height:44px!important; }
  .lesson-room-modern .call-buttons { flex-wrap:wrap; min-width:0; }
  .lesson-room-modern .call-content button { min-height:44px; }
  .lesson-room-modern .lesson-main { display:block; }
  .lesson-room-modern .lesson-board-space { padding:0; overflow:visible; }
  .lesson-room-modern .lesson-board-frame { max-width:100%; margin-inline:auto; }
  .lesson-room-modern .lesson-board-frame .annotation-controls { height:auto; min-height:44px; flex-wrap:wrap; overflow:visible; padding:4px 0 8px; gap:5px; }
  .lesson-room-modern .lesson-board-frame:not(:has(.annotation-controls)) { padding-top:0; }
  .lesson-room-modern .lesson-compact-controls { padding:4px 0; }
  .lesson-room-modern .lesson-compact-controls button { min-height:40px; min-width:40px; }
  .lesson-room-modern .lesson-side.mobile-open { width:calc(100% - 16px); justify-self:stretch; top:max(8px,env(safe-area-inset-top)); bottom:max(8px,env(safe-area-inset-bottom)); left:8px; right:8px; grid-template-rows:52px minmax(0,1fr); }
  .lesson-room-modern .lesson-tabs button { min-height:40px; }
  .lesson-room-modern .lesson-tabs .lesson-mobile-plan { flex:0 0 44px; font-size:24px; }
  .lesson-room-modern .lesson-exercise-status { white-space:normal; gap:8px; padding:8px 0; }
  .lesson-room-modern .lesson-exercise-status button { min-height:40px; }
  .lesson-room-menu { top:8px; bottom:auto; max-height:calc(100dvh - 16px); right:8px; width:min(400px,calc(100vw - 16px)); }
  .lesson-room-modern .lesson-engine-play { flex-wrap:wrap; }
  .lesson-room-modern .lesson-engine-play button { min-height:44px; }
}
@media (max-width:999px) and (orientation:landscape) and (max-height:600px) {
  .lesson-room-modern .lesson-board-frame { max-width:min(100%,calc(100dvh - 90px)); }
  .lesson-room-modern .call-videos { max-width:440px; margin-inline:auto; }
}
@media (pointer:coarse) {
  .workspace [data-slot=button],.topbar [data-slot=button],.lesson-ui button { min-height:44px; }
  .workspace .annotation-palette button,.lesson-room .annotation-palette button { width:32px; height:32px; min-height:32px!important; padding:0; }
  .topic-order-buttons button,.class-order-controls button { min-width:36px; min-height:36px; }
}
