/* M6 Android mobile UX follow-up. Keeps one Student Runtime; mobile behavior is progressive enhancement. */
:root{--cz-mobile-fa-font:system-ui,"Noto Sans Arabic","Noto Sans",Tahoma,"Segoe UI",Arial,sans-serif;--cz-vp-w:100vw;--cz-vp-h:100dvh;--cz-landscape-canvas-w:760px}
.cz-mobile-only{display:none!important}
.cz-orient-btn{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;padding:8px 10px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;cursor:pointer;box-shadow:0 5px 18px #15223a12}
.cz-orient-btn svg{width:18px;height:18px;flex:0 0 auto}
.cz-orient-btn[aria-pressed="true"]{background:#ece9ff;color:#4f3fd0;border-color:#c8c1ff}
.cz-landscape-suggest{position:fixed;z-index:180;inset:auto 14px calc(env(safe-area-inset-bottom,0px) + 78px) 14px;margin:auto;width:min(520px,calc(100% - 28px));background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);box-shadow:0 18px 50px #15223a2e;border-radius:18px;padding:12px;display:flex;align-items:center;gap:10px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:czMobilePop .22s ease}
.cz-landscape-suggest strong{display:block;font-size:12px;margin-bottom:2px}.cz-landscape-suggest span{font-size:10.5px;color:var(--muted);line-height:1.7}.cz-landscape-suggest .cz-suggest-copy{flex:1;min-width:0}.cz-landscape-suggest button{border:0;border-radius:11px;padding:9px 11px;font:800 11px/1.3 inherit;cursor:pointer}.cz-landscape-suggest .cz-go-landscape{background:var(--primary);color:#fff;white-space:nowrap}.cz-landscape-suggest .cz-dismiss{background:var(--card2);color:var(--text);width:34px;padding:9px 0}
.cz-swipe-hint{position:absolute;z-index:5;left:50%;bottom:68px;transform:translateX(-50%);pointer-events:none;background:#111827c7;color:#fff;padding:6px 10px;border-radius:999px;font-size:10px;opacity:0;transition:.2s;backdrop-filter:blur(8px)}
.slide-shell.cz-swipe-feedback .cz-swipe-hint{opacity:1}

@keyframes czMobilePop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:900px),(pointer:coarse){
  html,body,button,input,select,textarea{font-family:var(--cz-mobile-fa-font)!important}
  .cz-mobile-only{display:inline-flex!important}
  .cz-orient-btn{width:40px;min-width:40px;height:40px;min-height:40px;padding:0!important;border-radius:12px}
  .cz-orient-btn .cz-orient-label{display:none!important}
  .lesson-top{gap:8px}.lesson-top>div{flex-wrap:wrap}
  .page{padding-top:10px}
  .slide-shell{position:relative;touch-action:pan-y pinch-zoom}
  .authored-slide-stage{align-content:center}
  .authored-slide-stage .cz-slide-host{touch-action:pan-y pinch-zoom;font-family:var(--cz-mobile-fa-font)!important}
  .authored-slide-stage .cz-slide-title,.authored-slide-stage .cz-slide-text{font-family:var(--cz-mobile-fa-font)!important}
  .modal{padding:0!important;place-items:stretch!important;background:#09111df2!important}
  .modalbox{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}
  .modalhead{min-height:52px;padding:8px 10px!important;gap:8px;background:var(--card);position:relative;z-index:3}
  .modalhead strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
  .modalhead .cz-orient-btn{width:38px;min-width:38px;height:38px;min-height:38px}
  .modalbox iframe{min-height:0}
}

/* Fallback used only if native orientation lock remains unavailable after a user-gesture fullscreen attempt. */
html.cz-virtual-landscape{position:fixed!important;inset:0!important;width:var(--cz-vp-w)!important;height:var(--cz-vp-h)!important;overflow:hidden!important;background:#070d16!important}
html.cz-virtual-landscape body{position:fixed!important;top:0!important;left:0!important;width:var(--cz-vp-h)!important;height:var(--cz-vp-w)!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;overflow:hidden!important;transform-origin:0 0!important;transform:translateX(var(--cz-vp-w)) rotate(90deg)!important;background:var(--bg)}
html.cz-virtual-landscape body>#app{width:100%!important;height:100%!important;overflow:hidden!important}
html.cz-virtual-landscape body>#modalRoot{position:absolute!important;inset:0!important;z-index:1000!important}
html.cz-virtual-landscape .page{position:relative;width:100%!important;height:100%!important;padding:0!important;margin:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
html.cz-virtual-landscape .lesson-top{position:absolute!important;z-index:70!important;top:8px!important;right:8px!important;left:auto!important;margin:0!important;padding:0!important;gap:6px!important;color:transparent!important}
html.cz-virtual-landscape .lesson-top>span,html.cz-virtual-landscape .lesson-top .theme-btn{display:none!important}
html.cz-virtual-landscape .lesson-top>div{display:flex!important;gap:6px!important;align-items:center!important}
html.cz-virtual-landscape .lesson-top .back{width:40px!important;height:40px!important;padding:0!important;font-size:0!important;border-radius:12px!important;background:color-mix(in srgb,var(--card) 90%,transparent)!important;box-shadow:0 7px 24px #11182724!important}
html.cz-virtual-landscape .lesson-top .back::before{content:'←';font-size:18px!important;color:var(--text)!important}
html.cz-virtual-landscape .cz-lesson-orient{background:color-mix(in srgb,var(--card) 90%,transparent)!important;box-shadow:0 7px 24px #11182724!important}
html.cz-virtual-landscape .slide-shell{position:relative!important;min-height:0!important;height:100%!important;flex:1 1 auto!important;border-radius:0!important;border:0!important;box-shadow:none!important;overflow:hidden!important}
html.cz-virtual-landscape .slide-progress{position:absolute!important;z-index:35!important;top:9px!important;left:108px!important;right:58px!important;padding:7px 10px!important;border:1px solid color-mix(in srgb,var(--line) 74%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--card) 88%,transparent)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html.cz-virtual-landscape .authored-slide-stage{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:50px 12px 62px!important;overflow:hidden!important;background:linear-gradient(145deg,var(--card),var(--card2))!important}
html.cz-virtual-landscape .authored-slide-stage .cz-slide-host{width:var(--cz-landscape-canvas-w)!important;max-width:calc(100% - 20px)!important;min-width:0!important;margin:auto!important}
html.cz-virtual-landscape .authored-slide-stage .cz-slide-canvas{width:100%!important;aspect-ratio:16/9!important;border-radius:13px!important}
html.cz-virtual-landscape .slide-stage{height:100%!important;min-height:0!important;padding:54px 22px 66px!important;gap:14px!important;overflow:auto!important;align-content:center!important}
html.cz-virtual-landscape .slide-stage.no-image{max-width:none!important;width:100%!important}
html.cz-virtual-landscape .slide-visual{min-height:0!important;max-height:100%!important}
html.cz-virtual-landscape .slide-nav{position:absolute!important;z-index:40!important;bottom:8px!important;left:8px!important;right:8px!important;padding:7px 9px!important;min-height:48px!important;border:1px solid color-mix(in srgb,var(--line) 74%,transparent)!important;border-radius:14px!important;background:color-mix(in srgb,var(--card) 90%,transparent)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 28px #11182722!important}
html.cz-virtual-landscape .slide-nav .center-hint{display:none!important}
html.cz-virtual-landscape .slide-nav .btn{min-width:92px;padding:9px 13px!important}
html.cz-virtual-landscape .footer{display:none!important}
html.cz-virtual-landscape .modal{position:absolute!important;inset:0!important;padding:0!important}
html.cz-virtual-landscape .modalbox{width:100%!important;height:100%!important;border-radius:0!important}
html.cz-virtual-landscape .modalhead{min-height:46px!important;padding:5px 8px!important}
html.cz-virtual-landscape .cz-landscape-suggest{display:none!important}

@media(orientation:landscape) and (max-height:700px){
  .page{width:min(1240px,calc(100% - 12px));padding:7px 0}
  .lesson-top{margin-bottom:6px}
  .slide-shell{min-height:calc(100dvh - 58px);border-radius:16px;overflow:hidden}
  .slide-progress{padding:8px 12px}
  .authored-slide-stage{padding:44px 10px 58px;overflow:hidden}
  .authored-slide-stage .cz-slide-host{width:var(--cz-landscape-canvas-w)!important;max-width:calc(100% - 18px)!important}
  .slide-stage{padding:48px 16px 62px;gap:14px}
  .slide-nav{padding:7px 10px}
  .footer{display:none}
}
