/* M6 real-device polish layer. Loaded after the accepted mobile UX styles so fixes stay scoped and reversible. */
:root{--cz-authored-fit-w:1080px}

/* Offline status must never sit on top of lesson navigation. Keep only a tiny edge handle visible. */
@media(max-width:900px),(pointer:coarse){
  .cz-offline-fab{
    left:-12px!important;right:auto!important;top:56%!important;bottom:auto!important;
    width:44px!important;height:48px!important;min-width:44px!important;
    padding:0!important;border-radius:0 14px 14px 0!important;
    display:grid!important;grid-template-columns:1fr!important;place-items:center!important;
    gap:0!important;overflow:visible!important;box-shadow:0 10px 30px #11182724!important;
    background:color-mix(in srgb,var(--card) 94%,transparent)!important;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    transform:translateY(-50%);transition:left .2s ease,background .2s ease,transform .2s ease;
  }
  .cz-offline-fab>span:last-child{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
  .cz-offline-fab .cz-offline-dot{width:9px!important;height:9px!important;margin-left:8px!important}
  .cz-offline-fab::after{content:'›';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:900;color:var(--muted);opacity:.82}
  .cz-offline-fab.ready::after{color:var(--success)}
  .cz-offline-fab:focus-visible,.cz-offline-fab:active{left:-7px!important}
  .cz-offline-fab:active{transform:translateY(-50%) scale(.96)}

  /* Practice becomes a compact coach drawer instead of consuming valuable viewer height. */
  .modalbox{position:relative!important}
  .cz-mobile-practice.cz-polished-practice{
    display:block!important;position:absolute!important;z-index:70!important;
    left:10px!important;right:10px!important;bottom:10px!important;
    padding:0!important;border:0!important;background:transparent!important;
    pointer-events:none!important;
  }
  .cz-mp-peek{
    pointer-events:auto;display:flex;align-items:center;gap:8px;
    width:max-content;max-width:min(88vw,430px);margin-right:auto;
    border:1px solid #ffffff38;background:rgba(12,18,30,.86);color:#fff;
    border-radius:999px;padding:8px 11px;box-shadow:0 10px 34px #0006;
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;
    transition:transform .18s ease,opacity .18s ease,background .18s ease;
  }
  .cz-mp-peek:active{transform:scale(.98)}
  .cz-mp-peek strong{font-size:10.5px;white-space:nowrap}.cz-mp-peek span{font-size:9.5px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cz-mp-peek i{font-style:normal;font-size:14px;transition:transform .22s ease}
  .cz-polished-practice.open .cz-mp-peek i{transform:rotate(180deg)}
  .cz-mp-sheet{
    pointer-events:auto;position:absolute;left:0;right:0;bottom:48px;
    max-height:min(44dvh,360px);overflow:auto;
    padding:12px;border:1px solid var(--line);border-radius:18px;
    background:color-mix(in srgb,var(--card) 96%,transparent);
    box-shadow:0 20px 55px #0006;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    opacity:0;visibility:hidden;transform:translateY(18px) scale(.985);
    transition:opacity .2s ease,transform .24s cubic-bezier(.22,.8,.24,1),visibility .2s;
  }
  .cz-polished-practice.open .cz-mp-sheet{opacity:1;visibility:visible;transform:none}
  .cz-mp-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
  .cz-mp-sheet-head strong{font-size:12px}.cz-mp-sheet-head button{width:34px!important;height:34px!important;padding:0!important;border-radius:10px!important;font-size:18px!important}
  .cz-mp-coach{font-size:10px;line-height:1.85;color:var(--muted);padding:8px 10px;border-radius:11px;background:var(--card2);margin-bottom:9px}
  .cz-polished-practice .cz-mp-title{display:none!important}
  .cz-polished-practice .cz-mp-actions{gap:6px!important}
  .cz-polished-practice .cz-mp-actions button{flex:1 1 auto;min-width:76px}
  .cz-polished-practice small[data-status]{margin-top:9px!important;padding-top:8px;border-top:1px solid var(--line)}

  /* Authored slide zoom is local to the slide surface, never the whole app. */
  .authored-slide-stage.cz-authored-mobile-stage{position:relative;overflow:hidden!important}
  .authored-slide-stage .cz-zoomable-slide{transform-origin:center center;will-change:transform;touch-action:pan-y!important;transition:none}
  .cz-zoomable-slide.cz-zoom-animate{transition:transform .18s ease-out}
  html.cz-slide-zoomed .authored-slide-stage .cz-zoomable-slide{touch-action:none!important}
  .cz-slide-zoom-reset{
    position:absolute;z-index:65;left:10px;top:10px;width:38px;height:38px;padding:0;
    border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:12px;
    background:color-mix(in srgb,var(--card) 91%,transparent);color:var(--text);font:800 11px/1 var(--cz-fa-font,inherit);
    box-shadow:0 8px 28px #11182728;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    opacity:0;visibility:hidden;transform:scale(.88);pointer-events:none;transition:opacity .16s ease,transform .18s ease,visibility .16s;cursor:pointer;
  }
  .cz-slide-zoom-reset.show{opacity:1;visibility:visible;transform:none;pointer-events:auto}

  /* Keep learning canvas as the priority in short landscape screens. */
  @media(orientation:landscape) and (max-height:700px){
    .cz-mobile-practice.cz-polished-practice{left:8px!important;right:8px!important;bottom:7px!important}
    .cz-mp-sheet{max-height:52dvh;bottom:44px}
    .cz-mp-peek{padding:7px 10px}
  }
}

/* Maximum uncropped authored-slide fit for native/virtual in-app landscape. */
html.cz-authored-stage-active.cz-virtual-landscape .page,
html.cz-authored-stage-active.cz-native-landscape .page{width:100%!important;height:100%!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden!important}
html.cz-authored-stage-active.cz-virtual-landscape .slide-shell,
html.cz-authored-stage-active.cz-native-landscape .slide-shell{position:relative!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
html.cz-authored-stage-active.cz-virtual-landscape .authored-slide-stage,
html.cz-authored-stage-active.cz-native-landscape .authored-slide-stage{position:absolute!important;inset:0!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
html.cz-authored-stage-active.cz-virtual-landscape .authored-slide-stage .cz-slide-host,
html.cz-authored-stage-active.cz-native-landscape .authored-slide-stage .cz-slide-host{width:var(--cz-authored-fit-w)!important;max-width:none!important;min-width:0!important;margin:auto!important}
html.cz-authored-stage-active.cz-virtual-landscape .authored-slide-stage .cz-slide-canvas,
html.cz-authored-stage-active.cz-native-landscape .authored-slide-stage .cz-slide-canvas{width:100%!important;aspect-ratio:16/9!important;border-radius:12px!important}
html.cz-authored-stage-active.cz-virtual-landscape .slide-progress,
html.cz-authored-stage-active.cz-native-landscape .slide-progress{position:absolute!important;z-index:55!important;top:7px!important;left:58px!important;right:58px!important;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--card) 78%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none!important}
html.cz-authored-stage-active.cz-virtual-landscape .slide-nav,
html.cz-authored-stage-active.cz-native-landscape .slide-nav{position:absolute!important;z-index:55!important;left:8px!important;right:8px!important;bottom:8px!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important}
html.cz-authored-stage-active.cz-virtual-landscape .slide-nav .center-hint,
html.cz-authored-stage-active.cz-native-landscape .slide-nav .center-hint{display:none!important}
html.cz-authored-stage-active.cz-virtual-landscape .slide-nav .btn,
html.cz-authored-stage-active.cz-native-landscape .slide-nav .btn{pointer-events:auto!important;min-width:74px!important;padding:8px 11px!important;background:color-mix(in srgb,var(--card) 88%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 7px 22px #11182720!important}

/* Physical landscape without an explicit orientation-lock class gets the same maximum-fit presentation. */
@media(orientation:landscape) and (max-width:1400px){
  html.cz-authored-stage-active .page{width:100%!important;height:100dvh!important;max-width:none!important;padding:0!important;margin:0!important;overflow:hidden!important}
  html.cz-authored-stage-active .lesson-top{position:absolute!important;z-index:70!important;top:7px!important;right:8px!important;left:auto!important;margin:0!important;padding:0!important;gap:5px!important}
  html.cz-authored-stage-active .lesson-top>span,html.cz-authored-stage-active .lesson-top .theme-btn{display:none!important}
  html.cz-authored-stage-active .lesson-top>div{display:flex!important;gap:5px!important}
  html.cz-authored-stage-active .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) 88%,transparent)!important;box-shadow:0 7px 22px #11182720!important}
  html.cz-authored-stage-active .lesson-top .back::before{content:'←';font-size:18px!important;color:var(--text)!important}
  html.cz-authored-stage-active .slide-shell{position:relative!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
  html.cz-authored-stage-active .authored-slide-stage{position:absolute!important;inset:0!important;padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
  html.cz-authored-stage-active .authored-slide-stage .cz-slide-host{width:var(--cz-authored-fit-w)!important;max-width:none!important;min-width:0!important;margin:auto!important}
  html.cz-authored-stage-active .authored-slide-stage .cz-slide-canvas{width:100%!important;aspect-ratio:16/9!important;border-radius:12px!important}
  html.cz-authored-stage-active .slide-progress{position:absolute!important;z-index:55!important;top:7px!important;left:58px!important;right:58px!important;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--line) 68%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--card) 78%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:none!important}
  html.cz-authored-stage-active .slide-nav{position:absolute!important;z-index:55!important;left:8px!important;right:8px!important;bottom:8px!important;padding:0!important;min-height:0!important;border:0!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important}
  html.cz-authored-stage-active .slide-nav .center-hint{display:none!important}
  html.cz-authored-stage-active .slide-nav .btn{pointer-events:auto!important;min-width:74px!important;padding:8px 11px!important;background:color-mix(in srgb,var(--card) 88%,transparent)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 7px 22px #11182720!important}
  html.cz-authored-stage-active .footer{display:none!important}
}
