/* PWA controls and phone refinements. */
[hidden]{display:none!important}.install-app-link{width:100%;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer}.install-app-link:hover{color:var(--green);background:var(--field);border-radius:9px}.footer-install{color:var(--green);background:transparent;border:1px solid var(--line);border-radius:9px;padding:8px 12px;font:inherit;font-size:11px;min-height:40px;cursor:pointer}.install-dialog{width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:22px;padding:32px;background:var(--white);color:var(--ink);box-shadow:var(--shadow-lift)}.install-dialog::backdrop{background:#0817358c;backdrop-filter:blur(5px)}.install-dialog>img{display:block;border-radius:16px;margin-bottom:22px}.install-dialog>.eyebrow{display:block;font-size:9px;color:var(--green)}.install-dialog h2{font-size:27px;line-height:1.35;margin:12px 0}.install-dialog p,#installInstructions{font-size:13px;line-height:1.9;color:var(--muted);margin:16px 0}#installInstructions{border:1px solid var(--line);border-radius:12px;padding:17px;background:var(--field);color:var(--ink)}.install-dialog>.btn{width:100%}.connection-notice{position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:120;max-width:calc(100% - 32px);width:600px;padding:14px 20px;border-radius:12px;color:#f7fbff;background:#234a88;border:1px solid #6798dd;font-size:12px;line-height:1.7;box-shadow:0 6px 25px #0003}.voice-tools{margin:12px 0 16px;padding:17px;border:1px solid var(--line);background:var(--field);border-radius:13px}.voice-title{font-size:12px;font-weight:750;color:var(--green);margin-bottom:12px}.voice-controls{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;margin:10px 0}.voice-controls>label{font-size:11px;flex:1;min-width:145px;margin:0}.voice-controls select{margin:5px 0 0;min-height:43px;width:100%;font-size:12px}.voice-controls .btn{min-height:43px;white-space:nowrap;font-size:11px}.voice-controls [aria-pressed=true]{background:#bc3552!important;color:white!important;border-color:#bc3552!important}#voiceStatus{margin:12px 0 0;color:var(--green);font-size:12px}.voice-privacy{font-size:10px;line-height:1.8;color:var(--muted);margin:12px 0 0}.ai-message .voice-read{display:inline-flex;margin-top:16px;min-height:40px;font-size:11px}.ai-message .voice-read[aria-pressed=true]{background:var(--accent-soft);color:var(--green)}.voice-tools button:disabled{opacity:.5;cursor:not-allowed}.ai-composer-footer{flex-wrap:wrap}.ai-question-label{scroll-margin-top:110px}
@media(max-width:1024px){.topactions{gap:10px}.topbar{padding-inline:22px}.language-tag{display:none}.access-layout{grid-template-columns:minmax(0,1fr)}.access-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){html{scroll-padding-top:calc(88px + env(safe-area-inset-top))}body{overscroll-behavior-y:none}.topbar{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));gap:8px}.topactions{gap:8px;min-width:0}.breadcrumbs{min-width:0}.breadcrumbs strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}.academy-account-controls{gap:0}.academy-role{font-size:9px!important;padding:5px 7px!important;white-space:nowrap}main{padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right))}.sidebar{padding-left:max(18px,env(safe-area-inset-left));padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));height:100dvh}.sidebar-bottom .settings-link{min-height:42px}.sidebar .profile{min-height:55px}.mobile-menu-open .sidebar{overscroll-behavior:contain}.mobile-bottom-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(6px,env(safe-area-inset-bottom))}.toolbar{flex-wrap:wrap}.toolbar>input,.toolbar>select,.toolbar .search-box{min-width:0;width:100%}.filter-tabs,.lesson-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin}.filter-btn{min-height:44px}.lesson-tabs{scroll-padding-inline:16px;overscroll-behavior-x:contain}.lesson-content,.lesson-layout,.lesson-main,.ai-chat-panel,.ai-controls,.analysis-form-panel,.comm-conversation,.comm-inbox,.access-editor-panel{min-width:0}.lesson-content pre,.analysis-prompt{overflow-wrap:anywhere;white-space:pre-wrap}.lesson-content img,.lesson-content video,iframe{max-width:100%}.prompt-box{overflow-wrap:anywhere}.lesson-content a,.analysis-results a,.comm-work-link{overflow-wrap:anywhere}.upload-actions{gap:10px;flex-wrap:wrap}.upload-actions .btn{min-height:44px;white-space:normal}.ai-composer-footer{display:flex;gap:10px}.ai-composer-footer>span{flex-basis:100%}.ai-composer-footer>.btn{min-height:46px;flex:1}.voice-tools{padding:14px}.voice-controls>label{font-size:12px;min-width:130px}.voice-controls select{font-size:16px;min-height:46px}.voice-controls .btn{min-height:46px}.voice-read{min-height:44px!important}.voice-privacy{font-size:11px}.ai-messages{max-height:55dvh}.ai-question-label{scroll-margin-top:calc(90px + env(safe-area-inset-top))}.comm-layout{grid-template-columns:minmax(0,1fr)}.comm-message-list{max-height:52dvh}.comm-conversation-head{flex-wrap:wrap}.comm-conversation-head>.btn{max-width:none}.comm-message{max-width:100%}.access-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.access-role-guide{grid-template-columns:minmax(0,1fr)}.access-search{flex-wrap:wrap}.access-search input,.access-search select{width:100%;flex-basis:100%;min-width:0}.access-user-row{flex-wrap:wrap;gap:12px}.access-user-details{flex:1;min-width:0;overflow-wrap:anywhere}.access-user-actions{margin-left:48px}.access-filter-tabs{flex-wrap:wrap}.access-permission-grid{grid-template-columns:minmax(0,1fr)}.access-pagination{flex-wrap:wrap}.install-dialog{padding:27px 23px}.install-dialog h2{font-size:25px}.install-dialog .dialog-close{width:44px;height:44px}.connection-notice{bottom:calc(85px + env(safe-area-inset-bottom));font-size:12px}.access-gated .connection-notice{bottom:calc(15px + env(safe-area-inset-bottom))}footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.footer-install{min-height:44px}.ai-float{right:max(16px,env(safe-area-inset-right))}}
@media(max-width:380px){.topbar{padding-inline:12px}.breadcrumbs strong{max-width:112px;font-size:11px}.topactions{gap:5px}.academy-role{max-width:68px;overflow:hidden;text-overflow:ellipsis}.search-button{min-width:38px!important;width:38px}.theme-toggle{min-width:38px!important;width:38px}.hero{padding:26px 22px}.hero h2{font-size:31px}.voice-controls>label{flex-basis:100%}.voice-controls>.btn{flex:1}.install-dialog{padding:24px 20px}}
@media(display-mode:standalone){.app>.topbar{padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top))}.install-app-link,.footer-install{display:none!important}@media(max-width:760px){.app>.topbar{height:calc(66px + env(safe-area-inset-top))}}}
@media print{.voice-tools,.voice-read,.footer-install,.install-app-link,.connection-notice{display:none!important}}

@media(max-width:760px){.phone-keyboard-open .mobile-bottom-nav,.phone-keyboard-open .ai-float{display:none!important}.phone-keyboard-open footer{padding-bottom:30px}.phone-keyboard-open .connection-notice{bottom:12px}input,textarea,select{scroll-margin-block:95px 100px}}

/* Phone readability: no text below 11px, body copy at 14px and 44px tap targets for actions. */
@media(max-width:760px){
main :is(.eyebrow,.pill,.hero-label,.cover-label,.youtube-badge,.path-card>span:first-child,.case-card-top .pill,.case-hero-tags>span){font-size:11px;letter-spacing:.8px}
main :is(small,.meta>span,.hero-facts>span,.legend>span,.toolbar .muted,.case-results-row>*,.trainer-channel small,.continue-info .ml,.stat small){font-size:12.5px}
main p{font-size:14px;line-height:1.7}
/* :not(#_) lifts specificity above the many page-specific button sizes. */
main :is(.btn,.case-copy):not(#_){font-size:14px;min-height:44px}
main :is(.analysis-hero-tags>span,#aiStatus,#aiPrivacy){font-size:12.5px}
main .section-head>a,main .tip a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;white-space:nowrap}
main .continue-card .course-art>span:not(.artnum){display:none}
main .continue-card .course-art{justify-content:flex-end}
main .office-case-card h3 a{display:block;padding:6px 0}
main :is(input[type=checkbox],input[type=radio]){width:22px;height:22px;flex:none}
.mobile-bottom-nav>a.active,.mobile-bottom-nav [aria-expanded=true]{background:var(--accent-soft);color:var(--accent);box-shadow:none}
.mobile-bottom-nav>a>span:last-child,.mobile-bottom-nav>button>span:last-child{font-size:11px}
}
@media(max-width:760px){.videos-layout{grid-template-columns:1fr}.video-module-nav{display:none}.video-module-select{display:block;font-size:13px}.video-module-select select{min-height:46px;font-size:16px}.video-module-head{flex-direction:column;align-items:flex-start}.video-summary{font-size:13px}}
