.mobile-library-hint{display:none}
.teacher-mobile-notice{display:none}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1100px){
 .teacher-mobile-page{margin:0;min-height:100dvh;overflow:auto!important;background:#f7f2e8}
 .teacher-mobile-page>:not(.teacher-mobile-notice){display:none!important}
 .teacher-mobile-page>.teacher-mobile-notice{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100dvh;max-width:520px;margin:auto;padding:32px 24px;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:max(32px,env(safe-area-inset-bottom))}
 .teacher-mobile-notice img{display:block;width:140px;height:auto;margin-bottom:40px}.teacher-mobile-notice .eyebrow{color:#2457e6;font-size:12px;margin:0 0 14px}.teacher-mobile-notice h1{font-size:clamp(32px,8vw,44px);letter-spacing:-1.5px;line-height:1.12;margin:0;max-width:14ch}.teacher-mobile-notice>p:not(.eyebrow){font-size:22px;font-weight:700;line-height:1.4;margin:20px 0 40px}.teacher-mobile-back{color:#2457e6;font-size:13px;font-weight:900;min-height:48px;display:inline-flex;align-items:center;text-decoration:none}
}
@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1100px){
 html:has(.mobile-app-shell){height:100%;overflow:hidden}
 .mobile-app-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#f7f2e8;color:#111}
 .mobile-app-shell .pupil-header,.mobile-app-shell .self-header{width:100%;max-width:480px;flex-shrink:0;padding:16px 20px 10px;gap:12px;margin:0 auto;min-height:76px}
 .mobile-app-shell .pupil-header img,.mobile-app-shell .self-header img{width:76px;height:auto;display:block}
 .mobile-app-shell .pupil-header nav,.mobile-app-shell .self-header nav{font-size:12px;gap:12px;flex-wrap:wrap;justify-content:flex-end}
 .mobile-app-shell>.pupil-main,.mobile-app-shell>.self-layout{flex:1;min-height:0;width:100%;max-width:480px;margin:0 auto;padding:12px 20px 24px;overflow:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding:20px}
 .mobile-app-shell .eyebrow{color:#2457e6;font-size:10px;letter-spacing:1.5px;margin:0 0 8px}
 .mobile-app-shell .pupil-main h1,.mobile-app-shell .self-layout h1{font-size:34px;font-weight:900;letter-spacing:-1.2px;line-height:1.08;margin:0 0 14px}
 .mobile-app-shell .portal-intro{font-size:15px;line-height:1.45;margin:0 0 16px}
 .mobile-app-shell #school-status,.mobile-app-shell #self-status{font-size:13px;line-height:1.4;padding:0;margin:8px 0 16px;color:#2457e6}
 .mobile-app-shell #school-status:empty,.mobile-app-shell #self-status:empty{display:none}
 .mobile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;background:#e9e4d9;border-radius:14px;margin:0 0 20px}
 .mobile-tabs button{border:0;border-radius:10px;background:transparent;color:#605e56;font-size:11px;font-weight:900;letter-spacing:.3px;min-height:44px;padding:8px 4px}
 .mobile-tabs button[aria-pressed=true]{background:#fff;color:#2457e6;box-shadow:0 2px 4px #0001}
 .mobile-app-shell .portal-join,.mobile-app-shell .portal-login,.mobile-app-shell #pupil-library,.mobile-app-shell .self-panel{padding:20px;border:0;border-radius:20px;margin:0 0 18px;background:#fff}
 .mobile-app-shell .portal-join{background:#e85a9b}
 .mobile-app-shell h2,.mobile-app-shell .pupil-main h2,.mobile-app-shell .self-panel h2{font-size:23px;font-weight:900;letter-spacing:-.5px;line-height:1.2;margin:0 0 16px}
 .mobile-app-shell .self-panel p,.mobile-app-shell #pupil-library>p{font-size:15px;line-height:1.5}
 .mobile-app-shell .portal-code-row{grid-template-columns:1fr;gap:10px}
 .mobile-app-shell .portal-code-row .lesson-button,.mobile-app-shell .portal-login .lesson-button{width:100%}
 .mobile-app-shell .lesson-button,.mobile-app-shell .entry-primary{min-height:52px;border-radius:14px;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;line-height:1.4}
 .mobile-app-shell .pupil-library-entries>a,.mobile-app-shell .self-layout .pupil-library-entries>a,.mobile-app-shell #bank-entries a{display:flex;flex-direction:column;gap:7px;min-height:90px;padding:18px;margin:0 0 12px;border:0;border-radius:17px;background:#b7d96b;color:#111;text-decoration:none;font-size:21px;font-weight:900;line-height:1.2}
 .mobile-app-shell .pupil-library-entries small,.mobile-app-shell #bank-entries small{font-size:13px;font-weight:400;line-height:1.4;color:#494a38}
 .mobile-app-shell>.pupil-footer,.mobile-app-shell .self-layout>footer{font-size:12px;line-height:1.5;padding:10px 20px;margin:0 auto;max-width:480px;width:100%;flex-shrink:0}
 .mobile-app-shell input,.mobile-app-shell textarea{font-size:16px!important}
 .mobile-app-shell .android-app-notice{font-size:12px;margin-top:18px;padding:12px}
 .mobile-app-shell #pupil-account{margin-bottom:20px}.mobile-app-shell .self-header nav a{min-height:44px;display:flex;align-items:center}
}

@media(max-width:760px),(hover:none) and (pointer:coarse) and (max-width:1100px){.mobile-library-hint{display:block;font-size:15px;line-height:1.5;color:#605e56}[data-mobile-pane]:has(#pupil-library:not([hidden]),#self-library:not([hidden])) .mobile-library-hint{display:none}}
.teacher-mobile-continue{font-size:16px;line-height:1.5;margin:0 0 20px;max-width:30ch}
.teacher-mobile-continue a{color:#2457e6;font-weight:800;text-decoration:underline;text-underline-offset:3px;display:inline-block;padding-block:8px}
.teacher-mobile-allowed>.teacher-mobile-notice{display:none!important}
