/* EduOS Mobile Web UI v1.10 — browser/PWA visual unification.
   Native Capacitor UI is deliberately excluded. */
@media (max-width: 768px) {
  html:not(.eduos-native-app){--mw-bg:#f4f8fc;--mw-surface:#fff;--mw-text:#10243d;--mw-muted:#66778d;--mw-line:#e2e9f1;--mw-blue:#0868c9;--mw-radius:20px;background:var(--mw-bg);-webkit-text-size-adjust:100%;scroll-padding-bottom:82px}
  html:not(.eduos-native-app),html:not(.eduos-native-app) body{max-width:100%;overflow-x:hidden}
  html:not(.eduos-native-app) body{margin:0;background:var(--mw-bg);color:var(--mw-text);min-height:100dvh}
  html:not(.eduos-native-app) *{box-sizing:border-box}
  html:not(.eduos-native-app) img,html:not(.eduos-native-app) video,html:not(.eduos-native-app) iframe{max-width:100%;height:auto}
  html:not(.eduos-native-app) main,html:not(.eduos-native-app) .container,html:not(.eduos-native-app) .container-fluid,html:not(.eduos-native-app) .portal-content,html:not(.eduos-native-app) .page-content,html:not(.eduos-native-app) .content{max-width:100%!important}
  html:not(.eduos-native-app) .container,html:not(.eduos-native-app) .container-fluid{padding-left:12px!important;padding-right:12px!important}
  html:not(.eduos-native-app) .row{--bs-gutter-x:.75rem}
  html:not(.eduos-native-app) .card,html:not(.eduos-native-app) .portal-card,html:not(.eduos-native-app) .dashboard-card,html:not(.eduos-native-app) .ol-card,html:not(.eduos-native-app) .ol-panel{border-radius:var(--mw-radius)!important;border-color:var(--mw-line)!important;box-shadow:0 7px 24px rgba(16,36,61,.065)!important}
  html:not(.eduos-native-app) h1{font-size:clamp(1.45rem,7vw,2rem);line-height:1.12;letter-spacing:-.025em}
  html:not(.eduos-native-app) h2{font-size:clamp(1.2rem,5.5vw,1.55rem);line-height:1.18}
  html:not(.eduos-native-app) p{overflow-wrap:anywhere}
  html:not(.eduos-native-app) input:not([type=checkbox]):not([type=radio]):not([type=range]),html:not(.eduos-native-app) select,html:not(.eduos-native-app) textarea{max-width:100%;min-height:48px;font-size:16px!important;border-radius:14px!important}
  html:not(.eduos-native-app) button,html:not(.eduos-native-app) .btn,html:not(.eduos-native-app) a[class*=btn]{min-height:44px;border-radius:14px;touch-action:manipulation}
  html:not(.eduos-native-app) .table-responsive{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px}
  html:not(.eduos-native-app) table{font-size:.84rem}
  html:not(.eduos-native-app) footer{margin-top:18px!important}
  /* Prevent legacy desktop-height rules from creating dead mobile canvases. */
  html:not(.eduos-native-app) [style*="min-height: 100vh"],html:not(.eduos-native-app) [style*="min-height:100vh"]{min-height:auto!important}
  html:not(.eduos-native-app) .spacer:empty,html:not(.eduos-native-app) .empty-spacer:empty,html:not(.eduos-native-app) [data-mobile-collapse-empty]:empty{display:none!important}
  /* Auth pages: one-column, compact and touch friendly. */
  html:not(.eduos-native-app) body .shell,html:not(.eduos-native-app) body .wrap{max-width:100%!important;padding-left:12px!important;padding-right:12px!important}
  html:not(.eduos-native-app) body .grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  html:not(.eduos-native-app) body .brand,html:not(.eduos-native-app) body .card{max-width:100%}
  html:not(.eduos-native-app) body .brand-in{padding:18px!important}
  html:not(.eduos-native-app) body .feature-list{display:none!important}
  html:not(.eduos-native-app) body .hero{font-size:1.65rem!important;line-height:1.1!important}
  /* Fixed mobile/PWA nav must never cover final content. */
  html:not(.eduos-native-app) body:has(.mobile-bottom-nav),html:not(.eduos-native-app) body:has(.global-mobile-footer){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}
  html:not(.eduos-native-app) .mobile-bottom-nav,html:not(.eduos-native-app) .global-mobile-footer{bottom:calc(6px + env(safe-area-inset-bottom,0px));left:8px;right:8px;max-width:calc(100vw - 16px)}
  /* Floating helpers sit above browser-app navigation. */
  html:not(.eduos-native-app) [class*="ai-float"],html:not(.eduos-native-app) [class*="assistant-float"],html:not(.eduos-native-app) [class*="chat-float"]{bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
}
@media (max-width: 390px){html:not(.eduos-native-app) .container,html:not(.eduos-native-app) .container-fluid{padding-left:10px!important;padding-right:10px!important}html:not(.eduos-native-app) .card,html:not(.eduos-native-app) .portal-card{border-radius:17px!important}}

/* ======================================================================
   EduOS Mobile Web v1.10.1 — final polish pass
   Browser/PWA only. Capacitor native shell remains excluded above.
   ====================================================================== */
@media (max-width: 768px){
  html:not(.eduos-native-app){
    --mw-nav-h:68px;
    --mw-safe-bottom:calc(var(--mw-nav-h) + 18px + env(safe-area-inset-bottom,0px));
    scroll-padding-bottom:var(--mw-safe-bottom);
  }
  html:not(.eduos-native-app) body{
    padding-bottom:var(--mw-safe-bottom)!important;
    overscroll-behavior-y:auto;
  }
  html:not(.eduos-native-app) main{
    padding-bottom:18px!important;
  }

  /* Compact application-like header on mobile web. */
  html:not(.eduos-native-app) .ol2-top{min-height:56px!important}
  html:not(.eduos-native-app) .ol2-nav{height:56px!important;padding:6px 10px!important}
  html:not(.eduos-native-app) .ol2-logo{width:38px!important;height:38px!important;border-radius:12px!important}
  html:not(.eduos-native-app) .ol2-brand{gap:9px!important;min-width:0!important}
  html:not(.eduos-native-app) .ol2-brand-title{font-size:.9rem!important;line-height:1.05!important}
  html:not(.eduos-native-app) .ol2-brand-sub{font-size:.6rem!important;line-height:1.15!important}

  /* Announcement strip gets its own unobstructed lane. */
  html:not(.eduos-native-app) .eduos-global-challenge-banner{
    min-height:38px!important;
    height:38px!important;
    overflow:hidden!important;
    isolation:isolate;
  }
  html:not(.eduos-native-app) .eduos-global-challenge-badge{
    margin-left:7px!important;padding:5px 7px!important;font-size:.56rem!important;
    box-shadow:none!important;
  }
  html:not(.eduos-native-app) .eduos-global-challenge-message{
    font-size:.69rem!important;padding-right:32px!important;
  }

  /* Landing page rhythm: dense, intentional, no giant desktop gaps. */
  html:not(.eduos-native-app) .r39-mobile-shell{
    padding:10px 10px 14px!important;
    gap:14px!important;
    max-width:620px!important;
  }
  html:not(.eduos-native-app) .r39-mobile-hero{padding:18px 16px!important;border-radius:22px!important}
  html:not(.eduos-native-app) .r39-mobile-hero h1{font-size:clamp(1.7rem,8.5vw,2rem)!important;margin:8px 0!important}
  html:not(.eduos-native-app) .r39-mobile-hero p{font-size:.82rem!important;line-height:1.42!important}
  html:not(.eduos-native-app) .r39-hero-actions{gap:8px!important;margin-top:14px!important}
  html:not(.eduos-native-app) .r39-hero-actions a,
  html:not(.eduos-native-app) .r39-hero-actions button{min-height:46px!important}

  html:not(.eduos-native-app) .r39-action-grid{gap:9px!important;margin-top:10px!important}
  html:not(.eduos-native-app) .r39-action-card{
    min-height:104px!important;padding:13px 12px!important;border-radius:19px!important;
  }
  html:not(.eduos-native-app) .r39-action-card b{font-size:.93rem!important;line-height:1.2!important}
  html:not(.eduos-native-app) .r39-action-card small{font-size:.72rem!important;line-height:1.35!important}

  /* Horizontal controls scroll cleanly instead of being clipped. */
  html:not(.eduos-native-app) .ol2-course-filter-row,
  html:not(.eduos-native-app) .r39-filter-row,
  html:not(.eduos-native-app) [class*="filter-row"],
  html:not(.eduos-native-app) [class*="category-pills"]{
    overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;
    overscroll-behavior-x:contain;padding-right:12px!important;
  }
  html:not(.eduos-native-app) .ol2-course-filter-row::-webkit-scrollbar,
  html:not(.eduos-native-app) .r39-filter-row::-webkit-scrollbar,
  html:not(.eduos-native-app) [class*="filter-row"]::-webkit-scrollbar{display:none}
  html:not(.eduos-native-app) .ol2-course-filter,
  html:not(.eduos-native-app) .r39-filter-row > *{flex:0 0 auto!important;scroll-snap-align:start}

  /* Keep course cards compact and predictable. */
  html:not(.eduos-native-app) .r39-featured-card b,
  html:not(.eduos-native-app) .ol2-course-chip b,
  html:not(.eduos-native-app) [class*="course-card"] h3,
  html:not(.eduos-native-app) [class*="course-card"] h4{
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }
  html:not(.eduos-native-app) [class*="course-card"] p,
  html:not(.eduos-native-app) [class*="course-card"] .description{
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  }

  /* One floating-help zone. Keep assistants above nav and away from content edges. */
  html:not(.eduos-native-app) #eduosAiGlobalLauncher,
  html:not(.eduos-native-app) #eduosAiMiniBubble,
  html:not(.eduos-native-app) .eduos-ai-global-launcher,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble{
    right:68px!important;bottom:calc(var(--mw-nav-h) + 12px + env(safe-area-inset-bottom,0px))!important;
    max-width:132px!important;min-height:44px!important;padding:10px 13px!important;font-size:.76rem!important;
  }
  html:not(.eduos-native-app) .r40-support-fab,
  html:not(.eduos-native-app) .ps-support-fab,
  html:not(.eduos-native-app) [data-ps-support-open],
  html:not(.eduos-native-app) [data-support-fab]{
    right:12px!important;bottom:calc(var(--mw-nav-h) + 12px + env(safe-area-inset-bottom,0px))!important;
    width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
    padding:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;
  }
  html:not(.eduos-native-app) .r40-support-fab span{display:none!important}

  /* Fixed bottom navigation: always reachable, never part of page flow. */
  html:not(.eduos-native-app) .ol-global-mobile-footer,
  html:not(.eduos-native-app) .global-mobile-footer,
  html:not(.eduos-native-app) .mobile-bottom-nav{
    position:fixed!important;
    left:8px!important;right:8px!important;bottom:calc(6px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;max-width:624px!important;margin:0 auto!important;
    border-radius:20px!important;overflow:hidden!important;z-index:99990!important;
  }

  /* Trim legacy footer weight on small screens. */
  html:not(.eduos-native-app) .ol2-footer{margin-top:10px!important;padding:16px!important;border-radius:20px!important}
  html:not(.eduos-native-app) .ol2-footer .ol2-footer-grid{gap:10px!important}

  /* Prevent empty flex/grid tracks and accidental tall canvases. */
  html:not(.eduos-native-app) .r39-mobile-home,
  html:not(.eduos-native-app) .ol2-wrap{min-height:0!important}
  html:not(.eduos-native-app) section:empty,
  html:not(.eduos-native-app) div[class*="spacer"]:empty{display:none!important}
}

@media (max-width: 390px){
  html:not(.eduos-native-app) .r39-mobile-shell{padding-left:8px!important;padding-right:8px!important}
  html:not(.eduos-native-app) .r39-mobile-hero{padding:16px 14px!important}
  html:not(.eduos-native-app) .r39-action-card{min-height:98px!important;padding:12px 10px!important}
  html:not(.eduos-native-app) #eduosAiGlobalLauncher,
  html:not(.eduos-native-app) #eduosAiMiniBubble,
  html:not(.eduos-native-app) .eduos-ai-global-launcher,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble{max-width:118px!important}
}

/* ======================================================================
   EduOS Mobile Web v1.10.2 — obstruction + compact-navigation correction
   Based on 330–390px localhost verification screenshots.
   ====================================================================== */
@media (max-width: 768px){
  html:not(.eduos-native-app){
    --mw-nav-h:64px;
    --mw-fab-size:46px;
    --mw-safe-bottom:calc(var(--mw-nav-h) + 16px + env(safe-area-inset-bottom,0px));
  }

  /* Give the page a genuine clearance zone for the fixed nav. */
  html:not(.eduos-native-app) body{padding-bottom:var(--mw-safe-bottom)!important}
  html:not(.eduos-native-app) main,
  html:not(.eduos-native-app) .ol2-container,
  html:not(.eduos-native-app) .r39-mobile-home{padding-bottom:24px!important}
  html:not(.eduos-native-app) main > :last-child,
  html:not(.eduos-native-app) .ol2-container > :last-child{margin-bottom:10px!important}

  /* The tutor must not sit as a wide pill over CTAs/cards while scrolling. */
  html:not(.eduos-native-app) #eduosAiGlobalLauncher,
  html:not(.eduos-native-app) #eduosAiMiniBubble,
  html:not(.eduos-native-app) .eduos-ai-global-launcher,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble{
    width:var(--mw-fab-size)!important;
    height:var(--mw-fab-size)!important;
    min-width:var(--mw-fab-size)!important;
    min-height:var(--mw-fab-size)!important;
    max-width:var(--mw-fab-size)!important;
    padding:0!important;
    gap:0!important;
    border-radius:50%!important;
    right:64px!important;
    bottom:calc(var(--mw-nav-h) + 12px + env(safe-area-inset-bottom,0px))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  html:not(.eduos-native-app) #eduosAiGlobalLauncher b,
  html:not(.eduos-native-app) #eduosAiMiniBubble b,
  html:not(.eduos-native-app) .eduos-ai-global-launcher b,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble b{display:none!important}
  html:not(.eduos-native-app) #eduosAiGlobalLauncher span,
  html:not(.eduos-native-app) .eduos-ai-global-launcher span{margin:0!important;font-size:1.08rem!important;line-height:1!important}

  /* Support remains a single compact button beside the tutor. */
  html:not(.eduos-native-app) .r40-support-fab,
  html:not(.eduos-native-app) .ps-support-fab,
  html:not(.eduos-native-app) [data-ps-support-open],
  html:not(.eduos-native-app) [data-support-fab]{
    width:var(--mw-fab-size)!important;height:var(--mw-fab-size)!important;
    min-width:var(--mw-fab-size)!important;min-height:var(--mw-fab-size)!important;
    right:10px!important;
    bottom:calc(var(--mw-nav-h) + 12px + env(safe-area-inset-bottom,0px))!important;
    box-shadow:0 10px 24px rgba(15,23,42,.18)!important;
  }

  /* Bottom bar: slightly shorter and labels remain readable at 330px. */
  html:not(.eduos-native-app) .ol-global-mobile-footer,
  html:not(.eduos-native-app) .global-mobile-footer,
  html:not(.eduos-native-app) .mobile-bottom-nav{
    left:6px!important;right:6px!important;
    bottom:calc(4px + env(safe-area-inset-bottom,0px))!important;
    border-radius:18px!important;
    padding-top:4px!important;padding-bottom:4px!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__grid{gap:2px!important}
  html:not(.eduos-native-app) .ol-global-mobile-footer__item{
    min-height:52px!important;
    padding:3px 1px!important;
    font-size:9px!important;
    gap:2px!important;
    border-radius:13px!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__icon{font-size:16px!important}
  html:not(.eduos-native-app) .ol-global-mobile-footer__label{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    transform:scale(.94);
    transform-origin:center;
  }

  /* Ticker: reserve a stable badge lane so LIVE/announcement text cannot collide. */
  html:not(.eduos-native-app) .eduos-global-challenge-banner{padding-left:0!important}
  html:not(.eduos-native-app) .eduos-global-challenge-badge{
    position:relative!important;z-index:3!important;flex:0 0 auto!important;margin-right:7px!important;
  }
  html:not(.eduos-native-app) .eduos-global-challenge-message,
  html:not(.eduos-native-app) .eduos-global-challenge-track{
    min-width:0!important;overflow:hidden!important;
  }

  /* Remove accidental viewport-height inheritance from landing descendants. */
  html:not(.eduos-native-app) .ol2-wrap,
  html:not(.eduos-native-app) .ol2-container,
  html:not(.eduos-native-app) .ol2-hero,
  html:not(.eduos-native-app) .r39-mobile-home,
  html:not(.eduos-native-app) .r39-mobile-shell{min-height:0!important;height:auto!important}
}

@media (max-width: 360px){
  html:not(.eduos-native-app) .ol-global-mobile-footer__item{font-size:8.4px!important}
  html:not(.eduos-native-app) .ol-global-mobile-footer__icon{font-size:15px!important}
  html:not(.eduos-native-app) #eduosAiGlobalLauncher,
  html:not(.eduos-native-app) #eduosAiMiniBubble,
  html:not(.eduos-native-app) .eduos-ai-global-launcher,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble,
  html:not(.eduos-native-app) .r40-support-fab,
  html:not(.eduos-native-app) .ps-support-fab,
  html:not(.eduos-native-app) [data-ps-support-open],
  html:not(.eduos-native-app) [data-support-fab]{--mw-fab-size:44px}
}

/* EduOS Mobile Web V1.10.11 — footer physical bridge fallback.
   Mirrors the template-level final override so cached/template variants retain the fix. */
@media (max-width:840px){
  html:not(.eduos-native-app) body:has(.r39-mobile-home){padding-bottom:0!important}
  html:not(.eduos-native-app) body .r39-mobile-home{padding-bottom:0!important;margin-bottom:0!important;overflow:visible!important}
  html:not(.eduos-native-app) body .r39-mobile-home .r39-mobile-shell{
    width:100%!important;max-width:620px!important;margin:0 auto!important;padding:10px 12px 0!important;
    gap:12px!important;box-sizing:border-box!important;overflow:visible!important;
  }
  html:not(.eduos-native-app) body .r39-mobile-home .r39-mobile-shell > .r40-mobile-footer{
    width:100%!important;max-width:none!important;margin:0!important;padding:15px 14px 14px!important;
    border-radius:20px!important;box-sizing:border-box!important;overflow:hidden!important;
    background:linear-gradient(145deg,#03162d,#062a50)!important;
  }
  html:not(.eduos-native-app) body .r39-mobile-home .r39-mobile-shell > .r40-mobile-footer::after{content:none!important;display:none!important}
  html:not(.eduos-native-app) body .r39-mobile-home .r39-mobile-shell::after{
    content:""!important;display:block!important;
    order:999!important;
    flex:0 0 calc(var(--mw-nav-h,64px) + 12px + env(safe-area-inset-bottom,0px))!important;
    height:calc(var(--mw-nav-h,64px) + 12px + env(safe-area-inset-bottom,0px))!important;
    margin:-12px -12px 0!important;background:transparent!important;pointer-events:none!important;
  }
}


/* ======================================================================
   EduOS Mobile Web V1.10.12 — LOCKED GLOBAL MOBILE FOOTER
   Final authority for the five-item mobile web navigation.
   Do not restyle this component from page-specific CSS.
   ====================================================================== */
@media (max-width:840px){
  html:not(.eduos-native-app){
    --eduos-mobile-footer-height:64px;
    --eduos-mobile-footer-side:6px;
    --eduos-mobile-footer-bottom:4px;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer{
    position:fixed!important;
    inset:auto var(--eduos-mobile-footer-side) max(var(--eduos-mobile-footer-bottom),env(safe-area-inset-bottom,0px)) var(--eduos-mobile-footer-side)!important;
    display:block!important;
    width:auto!important;
    height:var(--eduos-mobile-footer-height)!important;
    min-height:var(--eduos-mobile-footer-height)!important;
    max-height:var(--eduos-mobile-footer-height)!important;
    max-width:624px!important;
    margin:0 auto!important;
    padding:4px 8px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(148,163,184,.18)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.97)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
    box-shadow:0 14px 34px rgba(15,23,42,.18)!important;
    overflow:hidden!important;
    transform:none!important;
    z-index:2147483000!important;
    contain:layout paint style;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__grid{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    align-items:stretch!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    gap:2px!important;
    margin:0!important;
    padding:0!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__item{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    width:100%!important;
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    padding:3px 1px!important;
    gap:2px!important;
    border-radius:13px!important;
    box-sizing:border-box!important;
    font-size:9px!important;
    line-height:1!important;
    text-align:center!important;
    transform:none!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__icon{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    font-size:16px!important;
    line-height:1!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__label{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:inherit!important;
    line-height:1.05!important;
    transform:none!important;
  }
  html:not(.eduos-native-app) .ol-global-mobile-footer__item:active{transform:scale(.98)!important}

  /* Floating helpers belong above the locked footer and can never move it. */
  html:not(.eduos-native-app) #eduosAiGlobalLauncher,
  html:not(.eduos-native-app) #eduosAiMiniBubble,
  html:not(.eduos-native-app) .eduos-ai-global-launcher,
  html:not(.eduos-native-app) .eduos-ai-mini-bubble,
  html:not(.eduos-native-app) .r40-support-fab,
  html:not(.eduos-native-app) .ps-support-fab,
  html:not(.eduos-native-app) [data-ps-support-open],
  html:not(.eduos-native-app) [data-support-fab]{
    bottom:calc(var(--eduos-mobile-footer-height) + 14px + env(safe-area-inset-bottom,0px))!important;
  }
}
@media (max-width:360px){
  html:not(.eduos-native-app) .ol-global-mobile-footer__item{font-size:8.4px!important}
  html:not(.eduos-native-app) .ol-global-mobile-footer__icon{font-size:15px!important}
}


/* V1.10.15 landing-only override: do not reserve a challenge-banner lane on mobile home. */
@media (max-width:840px){
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .eduos-global-challenge-banner{
    display:none!important;visibility:hidden!important;position:absolute!important;
    width:0!important;height:0!important;min-height:0!important;max-height:0!important;
    margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;overflow:hidden!important;
  }
}

/* V1.10.16 — mobile header dead-zone elimination */
@media (max-width:840px){
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-home{
    margin:0!important;padding:0!important;min-height:0!important;height:auto!important;background:#f4f7fb!important;
  }
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-home::before,
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-home::after,
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-shell::before{
    content:none!important;display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;
  }
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-shell{
    margin:0 auto!important;padding:10px 12px 0!important;min-height:0!important;height:auto!important;background:#f4f7fb!important;
  }
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-shell > :first-child,
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-original-mobile-block,
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-original-mobile-block > .r39-mobile-hero{
    margin-top:0!important;
  }
}


/* V1.10.17 — mobile header black-zone elimination.
   Keep the browser/status-bar surface continuous with the real white header. */
@media (max-width:840px){
  html:not(.eduos-native-app),
  html:not(.eduos-native-app) body,
  html:not(.eduos-native-app) body:has(.r39-mobile-home),
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .ol2-wrap{
    margin-top:0!important;
    border-top:0!important;
  }
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .ol2-top{
    top:0!important;
    margin-top:0!important;
    background:#fff!important;
  }
}


/* V1.10.18 — header black-gap root fix.
   The bottom-nav bridge is a ::after flex item. Because mobile content uses explicit
   order values, the pseudo item (default order:0) was being painted BEFORE the hero.
   Keep the bridge, but force it to the end of the mobile shell. */
@media (max-width:840px){
  html:not(.eduos-native-app) body:has(.r39-mobile-home) .r39-mobile-shell::after{
    order:999!important;
    align-self:stretch!important;
  }
}
