/* Tablet and split-view ergonomics. Loaded after workshop styles. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
.course-shell,#lesson-body,.workshop,.ws-card,.ws-result{min-width:0}
.table-scroll,.tip-table-wrap,.ws-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.mb-pane-switch{display:none}
.ppt-zoom-dialog{width:calc(100% - 32px);max-width:1600px;max-height:calc(100dvh - 32px);border-radius:14px;overflow:auto}
.ppt-zoom-dialog::backdrop{background:#10261de6}
.ppt-zoom-head{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:1}
.ppt-zoom-head h2{font-size:18px;margin:0}
.ppt-zoom-head .button{flex-shrink:0}
.ppt-zoom-image{display:block;width:100%;height:auto;max-height:calc(100dvh - 200px);object-fit:contain;background:#163d49}
.ppt-zoom-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;flex-wrap:wrap}
@media screen and (max-width:1366px){
 .topbar{position:relative;height:auto;min-height:72px;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));gap:12px;flex-wrap:wrap}
 .brand{align-self:center}.brand-course{display:none}.brand-logo{width:160px;height:40px}
 .header-actions{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:none}
 .header-button,.projection-button{min-height:44px;font-size:14px;padding:10px 12px;max-width:none!important}
 .projection-button>span:last-child{display:inline}
 .course-shell{display:block}
 .sidebar{position:static;height:auto;padding:12px max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));background:#f3f4ec;color:var(--ink);border-bottom:1px solid var(--line);overflow:visible}
 .sidebar-intro,.sidebar-bottom,.sidebar #module-nav{display:none}
 .mobile-course-select{display:flex;align-items:center;gap:20px;max-width:1100px;margin:auto}
 .mobile-course-select label{font-size:14px;font-weight:600;flex-shrink:0}
 .mobile-course-select select{width:100%;min-width:0;min-height:48px;border:1px solid #bcc9b9;border-radius:8px;background:white;padding:10px 14px;font-size:16px}
 #stage,#stage[data-current-module="10"]{padding:24px max(24px,env(safe-area-inset-right)) 28px max(24px,env(safe-area-inset-left));max-width:1280px;margin:0 auto}
 .stage-top{flex-wrap:wrap;margin-bottom:24px;gap:12px}.stage-tools{flex-wrap:wrap;gap:10px}
 .timer-button,.timer-reset{min-height:44px}.timer-reset{padding:8px}
 .lesson-heading h1{font-size:clamp(28px,4vw,42px)}
 #learning-tabs{display:flex;overflow-x:auto;gap:8px;scrollbar-width:thin;padding:4px 2px 8px;scroll-snap-type:x proximity}
 #learning-tabs button{flex:0 0 auto;min-height:48px;white-space:normal;max-width:300px;scroll-snap-align:start;padding:12px 16px;font-size:15px;border:1px solid var(--line);border-radius:8px;margin:0;background:#fff}
 #learning-tabs button[aria-selected=true]{background:#fff0a6;border-color:#806114}
 #learning-tabs .tab-number{display:grid;flex-shrink:0}
 .lesson-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .lesson-footer>span{grid-column:1/-1;grid-row:1;text-align:center;display:block!important}
 .lesson-footer .button{max-width:none;min-height:48px;white-space:normal}
 .button-row .button{min-height:48px;max-width:100%;white-space:normal}
 input:not([type=checkbox]):not([type=radio]),textarea,select,.ws-field textarea,.ws-field input,#mb-root input:not([type=checkbox]),#mb-root textarea,#mb-root select{font-size:16px!important}
 input[type=date],input[type=datetime-local]{min-width:0;max-width:100%;min-height:48px}
 dialog{max-height:calc(100dvh - 32px);max-width:calc(100% - 24px);overscroll-behavior:contain}
 .dialog-head{gap:12px;padding:18px 22px}.dialog-head button{min-width:44px;min-height:44px}
 .ppt-thumbnails{gap:10px}.ppt-thumbnails button{min-width:46px;min-height:46px;font-size:16px}
 .ppt-prepared-controls>div .button{min-width:48px}
 .ppt-preview-heading,.ppt-prepared-controls{flex-wrap:wrap}
 .ws-table table{min-width:640px!important;table-layout:auto!important}.ws-table th,.ws-table td{font-size:14px;padding:12px}
 .ws-minutes-document{overflow-x:auto;-webkit-overflow-scrolling:touch}
 /* Folder strip keeps the inbox usable alongside the companion pane. */
 .mb-gmail-body{display:flex;flex-direction:column;padding:0}
 .mb-folders{display:flex;flex:0 0 auto;align-items:center;gap:6px;overflow-x:auto;padding:4px 10px 10px;max-height:68px}
 .mb-account,.mb-label-title,.mb-label-empty,.mb-storage{display:none}
 .mb-workspace .mb-nav-item{width:auto;flex-shrink:0;border-radius:22px;min-height:44px;font-size:13px;padding:10px 13px;gap:8px}
 .mb-nav-item span{max-width:160px}.mb-content{flex:1;border-radius:0;min-height:0}
 .mb-workspace .mb-open{grid-template-columns:minmax(0,1fr) 48px;gap:5px 8px;padding:10px 0}
 .mb-open .mb-sender{grid-row:1;grid-column:1;font-size:14px}.mb-open time{grid-row:1;grid-column:2;font-size:12px}
 .mb-open .mb-subject{grid-row:2;grid-column:1/-1;font-size:14px}.mb-snippet{display:none}
 .mb-row{min-height:72px;gap:8px}.mb-workspace .mb-star{min-width:44px;min-height:44px;padding:12px}
 .mb-row input[type=checkbox],.mb-list-tools input[type=checkbox]{width:24px;height:24px;margin:10px 0}
 .mb-workspace .mb-icon-only,.mb-workspace .mb-chat-icon,.mb-workspace .mb-run{min-width:44px;min-height:44px}
 .mb-workspace .mb-visible-actions button,.mb-workspace .mb-visible-actions .mb-visible-demo,.mb-workspace .mb-tool,.mb-workspace .mb-result-links button{min-height:44px;font-size:14px}
 .mb-workspace .mb-mode-switch button{height:44px;min-height:44px}.mb-mode-switch{height:44px}
 .mb-chat-toolbar{height:58px;min-height:58px;gap:10px}.mb-assistant-title{height:48px;min-height:48px}
 .mb-assistant-surface{grid-template-rows:58px auto minmax(0,1fr) auto}
 .mb-composer-tools{height:44px;gap:8px}.mb-composer-tools .mb-effort-label,.mb-mic-unavailable{display:none}
 .mb-work-tools{height:46px;gap:14px}.mb-tools-menu>summary{min-width:44px;min-height:44px;align-items:center;justify-content:center}
 .mb-demo-bar{flex-wrap:wrap;gap:8px}.mb-demo-bar>div{flex-wrap:wrap}.mb-demo-bar button{font-size:14px;min-height:44px}
 .mb-statusbar{flex-wrap:wrap}.mb-statusbar>span:last-child{white-space:normal;text-align:left;max-width:none}
 .mb-gmail-header{gap:12px}.mb-gmail-logo{min-width:100px}.mb-letter{padding:24px}.mb-message-body{font-size:16px}
 .mb-workspace.is-expanded{display:flex;flex-direction:column;inset:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));height:auto;overflow:auto}
 .mb-workspace.is-expanded .mb-demo-bar,.mb-workspace.is-expanded .mb-statusbar,.mb-workspace.is-expanded .mb-pane-switch{flex-shrink:0}
 .mb-workspace.is-expanded .mb-layout{flex:1;min-height:360px;height:auto}
 .mb-workspace.is-expanded .mb-review-guide{display:none}
}
@media screen and (min-width:1001px) and (max-width:1366px){
 .mb-layout{grid-template-columns:minmax(0,1fr) 350px;height:clamp(560px,calc(100dvh - 160px),780px)}
}
@media screen and (max-width:1000px){
 .ws-two,.ws-three{grid-template-columns:1fr}.ws-card,.ws-result{padding:22px}.ws-minutes{padding:0}
 .mb-pane-switch{display:flex;gap:8px;background:#f6f8fc;padding:10px 14px;border-bottom:1px solid var(--mb-line)}
 .mb-workspace .mb-pane-switch button{flex:1;min-height:48px;border:1px solid #d7dfe8;background:white;font-size:15px;font-weight:600}
 .mb-workspace .mb-pane-switch button[aria-pressed=true]{background:#075b62;color:white;border-color:#075b62}
 .mb-layout,.mb-workspace.is-expanded .mb-layout,.mb-workspace.is-assistant-closed .mb-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:clamp(520px,calc(100svh - 220px),760px);min-height:0}
 .mb-workspace[data-pane="mail"] .mb-assistant,.mb-workspace[data-pane="assistant"] .mb-gmail{display:none}
 .mb-workspace[data-pane="assistant"] .mb-assistant{display:flex}
 .mb-assistant{height:100%;min-height:0;max-height:100%}.mb-assistant-surface{height:0}
 .mb-workspace.is-expanded .mb-layout{height:auto;min-height:360px}
 .mb-user-bubble{max-width:90%}.mb-gmail-body{height:auto;min-height:0}
 .mb-chat-progress p,.mb-chat-result p,.mb-chat-result ul{font-size:16px}
}
@media screen and (max-width:600px){
 .topbar{padding:10px 14px}.header-actions{justify-content:flex-start;flex-basis:100%}
 .mobile-course-select{display:block}.mobile-course-select label{display:block;margin-bottom:8px}
 .sidebar{padding:12px 16px}#stage,#stage[data-current-module="10"]{padding:20px 16px}
 .ws-card,.ws-result{padding:18px}.ws-minutes{padding:0}.ppt-prepared-controls{flex-direction:column;align-items:flex-start}
 .ppt-zoom-head{padding:12px;align-items:flex-start}.ppt-zoom-head h2{font-size:15px}
 .mb-gmail-logo{min-width:78px;font-size:18px}.mb-gmail-header{padding:10px;gap:8px}
 .mb-folder-heading{margin-left:0}.mb-list-tools{padding:7px;gap:4px}.mb-letter{padding:20px 14px}
 .mb-demo-bar>span{max-width:none}.mb-review-guide{font-size:13px}
 .mb-workspace.is-expanded .mb-layout{min-height:320px}
}
@media (pointer:coarse){button,a.button,summary{min-height:44px}input,textarea,select{font-size:16px}textarea{scroll-margin-block:90px}.mb-workspace button{touch-action:manipulation}}
@media print{.mb-pane-switch,.ppt-zoom-dialog{display:none!important}}
