/* FACT EDU Mobile Shell + PWA v1.0.49.19.2 */
.factedu-mobile-menu-toggle{display:none;width:44px;height:44px;flex:0 0 44px;border:1px solid #d9e4f2;border-radius:13px;background:#fff;color:#1b3d67;align-items:center;justify-content:center;gap:4px;flex-direction:column;box-shadow:0 8px 20px rgba(24,61,104,.08);cursor:pointer}
.factedu-mobile-menu-toggle span{display:block;width:20px;height:2px;border-radius:999px;background:currentColor}
.factedu-mobile-overlay{position:fixed;inset:0;z-index:990;background:rgba(9,25,46,.48);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .2s ease}
.factedu-mobile-overlay.is-open{opacity:1;pointer-events:auto}
.factedu-mobile-drawer{position:fixed;z-index:1000;top:0;right:0;width:min(88vw,390px);height:100dvh;background:#f8fbff;box-shadow:-24px 0 60px rgba(16,45,82,.22);transform:translateX(105%);transition:transform .24s ease;display:flex;flex-direction:column;overflow:hidden}
.factedu-mobile-drawer.is-open{transform:translateX(0)}
.factedu-mobile-drawer-head{min-height:70px;padding:12px 16px;display:flex;align-items:center;gap:10px;background:#fff;border-bottom:1px solid #e1e9f4}
.factedu-mobile-drawer-brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:900;letter-spacing:-.04em;color:#142946}
.factedu-mobile-drawer-brand b{color:#1768e7}.factedu-mobile-drawer-brand .brand-mark{width:30px;height:30px}
.factedu-mobile-close{margin-left:auto;width:42px;height:42px;border:1px solid #dde6f1;border-radius:12px;background:#fff;color:#4a5f78;font-size:24px;line-height:1;cursor:pointer}
.factedu-mobile-drawer-scroll{padding:14px 14px 26px;overflow-y:auto;overscroll-behavior:contain}
.factedu-pwa-drawer-card{position:relative;overflow:hidden;margin-bottom:14px;padding:17px;border-radius:18px;background:linear-gradient(135deg,#0d58c9,#1682f0);color:#fff;box-shadow:0 16px 34px rgba(23,104,231,.23)}
.factedu-pwa-drawer-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-42px;top:-54px;background:rgba(255,255,255,.13)}
.factedu-pwa-drawer-kicker{position:relative;z-index:1;font-size:10px;font-weight:900;letter-spacing:.12em;color:#cfe5ff}.factedu-pwa-drawer-card strong{position:relative;z-index:1;display:block;margin-top:6px;font-size:18px;line-height:1.35}.factedu-pwa-drawer-card p{position:relative;z-index:1;margin:7px 0 12px;font-size:12px;line-height:1.55;color:#e9f4ff}
.factedu-pwa-install-button{position:relative;z-index:1;width:100%;min-height:46px;border:0;border-radius:12px;background:#fff;color:#115fc7;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(6,47,107,.18)}
.factedu-mobile-nav{display:grid;gap:6px}.factedu-mobile-nav a{position:relative;display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:13px;color:#324a65;background:#fff;font-size:14px;font-weight:800}.factedu-mobile-nav a.is-current{border-color:#cfe0f6;background:#eef6ff;color:#155ebd}.factedu-mobile-nav a:hover{background:#f0f6fd}.factedu-mobile-nav .factedu-global-unread-badge{margin-left:auto}
.factedu-mobile-nav-separator{height:1px;background:#dde7f2;margin:10px 4px}
.factedu-mobile-account{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.factedu-mobile-account a{min-height:46px;display:grid;place-items:center;border-radius:12px;border:1px solid #d9e4f2;background:#fff;color:#35516f;font-size:13px;font-weight:850}.factedu-mobile-account a.factedu-mobile-account-primary{border-color:#1768e7;background:#1768e7;color:#fff}
.factedu-pwa-banner{position:fixed;z-index:950;left:12px;right:12px;bottom:12px;display:none;align-items:center;gap:11px;padding:12px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:linear-gradient(135deg,#0e58c8,#1682ef);color:#fff;box-shadow:0 18px 44px rgba(14,71,146,.35)}
.factedu-pwa-banner.is-visible{display:flex}.factedu-pwa-banner-icon{width:48px;height:48px;flex:0 0 48px;border-radius:13px;background:#fff;padding:5px}.factedu-pwa-banner-copy{min-width:0;flex:1}.factedu-pwa-banner-copy strong{display:block;font-size:14px}.factedu-pwa-banner-copy span{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:#dceeff}.factedu-pwa-banner-install{flex:0 0 auto;min-height:40px;padding:0 14px;border:0;border-radius:11px;background:#fff;color:#0d5cc8;font-size:12px;font-weight:900;cursor:pointer}.factedu-pwa-banner-close{position:absolute;right:5px;top:-29px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#4c6077;box-shadow:0 5px 14px rgba(0,0,0,.18);cursor:pointer}
.factedu-pwa-guide{position:fixed;inset:0;z-index:1100;display:none;place-items:center;padding:18px;background:rgba(9,25,46,.58);backdrop-filter:blur(4px)}.factedu-pwa-guide.is-open{display:grid}.factedu-pwa-guide-card{width:min(100%,420px);padding:22px;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(11,42,83,.25)}.factedu-pwa-guide-card h2{margin:0;color:#163b66;font-size:20px}.factedu-pwa-guide-card p{margin:10px 0;color:#65778e;font-size:13px;line-height:1.7}.factedu-pwa-guide-steps{display:grid;gap:8px;margin:14px 0}.factedu-pwa-guide-step{padding:11px 12px;border-radius:12px;background:#f0f6fd;color:#365b83;font-size:13px;font-weight:750}.factedu-pwa-guide-card button{width:100%;min-height:44px;border:0;border-radius:11px;background:#1768e7;color:#fff;font-weight:900;cursor:pointer}
body.factedu-mobile-menu-open{overflow:hidden}
@media (max-width:860px){
  .site-header .header-inner{gap:9px!important}.site-header .brand{margin-right:auto}.site-header .main-nav{display:none!important}.site-header .header-actions{display:none!important}.factedu-mobile-menu-toggle{display:flex}.factedu-pwa-banner{display:none}.factedu-pwa-banner.is-visible{display:flex}
}
@media (max-width:420px){.factedu-pwa-banner{left:8px;right:8px;bottom:8px;padding:10px}.factedu-pwa-banner-copy span{display:none}.factedu-pwa-banner-install{padding:0 11px}.factedu-mobile-drawer{width:92vw}}
@media (min-width:861px){.factedu-mobile-overlay,.factedu-mobile-drawer,.factedu-pwa-banner,.factedu-pwa-guide{display:none!important}}
@media (prefers-reduced-motion:reduce){.factedu-mobile-overlay,.factedu-mobile-drawer{transition:none!important}}
