
/* V3.86 Mobile App UI — only affects mobile widths, PC keeps original layout */
.mobile-app-home-v386,.mobile-zsb-workbench-v386{display:none;}
@media (max-width:820px){
  :root{--m-blue:#2f80ff;--m-deep:#0f376d;--m-muted:#63758f;--m-line:#dceaff;--m-bg:#eef7ff;--m-card:#fff;}
  html,body{width:100%;max-width:100%;overflow-x:hidden;background:linear-gradient(180deg,#f6fbff 0%,#eef7ff 100%)!important;-webkit-text-size-adjust:100%;}
  body{font-size:15px;}
  .app,.login-page-shell{width:100%!important;max-width:100%!important;margin:0!important;padding:10px 10px calc(18px + env(safe-area-inset-bottom,0px))!important;box-sizing:border-box!important;}

  /* Global sticky app topbar */
  .topbar,.profile-topbar,.advice-topbar,.hero .brand{box-sizing:border-box;}
  .topbar.xls-unified-topbar,.topbar,.profile-topbar.xls-unified-topbar,.advice-topbar.xls-unified-topbar,.zsb-ai-page .topbar{
    position:sticky!important;top:calc(env(safe-area-inset-top,0px) + 6px)!important;z-index:90!important;width:100%!important;min-height:58px!important;height:auto!important;margin:0 0 12px!important;padding:8px 10px!important;border:1px solid rgba(207,226,255,.96)!important;border-radius:18px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 10px 28px rgba(47,128,255,.10)!important;backdrop-filter:blur(14px)!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;overflow:visible!important;
  }
  .topbar .brand,.profile-topbar .profile-brand,.advice-topbar .advice-brand,.zsb-ai-page .topbar .brand{flex:1 1 auto!important;min-width:0!important;gap:9px!important;display:flex!important;align-items:center!important;}
  .topbar .logo,.profile-topbar .profile-logo,.advice-topbar .advice-logo,.zsb-ai-page .logo{width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:14px!important;box-shadow:none!important;}
  .topbar .brand-title,.topbar .brand h1,.profile-brand-title,.advice-brand-title,.zsb-ai-page .brand h1{font-size:15px!important;line-height:1.18!important;font-weight:1000!important;max-width:calc(100vw - 176px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:0!important;color:var(--m-deep)!important;}
  .topbar .brand-sub,.topbar .brand p,.profile-brand-sub,.advice-brand-sub,.zsb-ai-page .brand p{font-size:11px!important;line-height:1.2!important;margin:2px 0 0!important;color:var(--m-muted)!important;max-width:calc(100vw - 176px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .xls-global-actions,.topbar .actions,.topbar .navs,.topbar .nav-actions,.zsb-ai-navs{margin-left:auto!important;flex:0 0 auto!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;}
  .xls-global-actions>a:not(.xls-auth-top-btn):not(.xls-auth-welcome),.topbar .actions>a:not(.xls-auth-top-btn):not(.xls-auth-welcome),.topbar .navs>a:not(.xls-auth-top-btn):not(.xls-auth-welcome),.zsb-ai-navs>a:not(.xls-auth-top-btn):not(.xls-auth-welcome){display:none!important;}
  .xls-auth-top-btn,.xls-auth-welcome,.xls-mobile-more-global summary,.topbar .actions>a[href*="login"],.topbar .actions>a[href*="profile"]{height:36px!important;min-height:36px!important;min-width:auto!important;width:auto!important;padding:0 11px!important;border-radius:999px!important;font-size:12.5px!important;font-weight:1000!important;background:#fff!important;color:var(--m-deep)!important;border:1px solid var(--m-line)!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;white-space:nowrap!important;}
  .xls-auth-welcome{max-width:88px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .xls-mobile-more-global{display:inline-flex!important;position:relative!important;}
  .xls-mobile-more-panel{right:0!important;top:42px!important;min-width:170px!important;border-radius:18px!important;}

  /* Mobile Home: App-like tool home */
  body.xls-page-home .portal-entry-grid,body.xls-page-home .public-follow-card,body.xls-page-home .mobile-home-carousel{display:none!important;}
  .mobile-app-home-v386{display:block!important;padding:2px 0 18px;}
  .mobile-hello-card{border:1px solid var(--m-line);border-radius:24px;background:linear-gradient(135deg,#fff,#f5fbff);box-shadow:0 14px 34px rgba(47,128,255,.08);padding:18px;margin-bottom:12px;}
  .mobile-pill-status{display:inline-flex;height:28px;padding:0 11px;border-radius:999px;background:#edf6ff;color:#1f66e5;font-size:12px;font-weight:1000;align-items:center;margin-bottom:10px;}
  .mobile-hello-card h1{margin:0!important;font-size:24px!important;line-height:1.2!important;max-width:none!important;white-space:normal!important;color:var(--m-deep)!important;letter-spacing:-.3px;}
  .mobile-hello-card p{margin:8px 0 0!important;color:var(--m-muted)!important;line-height:1.55!important;font-size:14px!important;}
  .mobile-main-task-card{display:block;text-decoration:none;color:inherit;border-radius:24px;padding:18px;background:linear-gradient(135deg,#1677ff,#0f5bd8);box-shadow:0 16px 36px rgba(47,128,255,.24);margin-bottom:12px;position:relative;overflow:hidden;}
  .mobile-main-task-card:after{content:"";position:absolute;right:-42px;top:-44px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.14);}
  .mobile-task-meta{display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.82);font-size:12px;font-weight:900;position:relative;z-index:1;}
  .mobile-task-meta strong{color:#fff;font-size:14px;}
  .mobile-main-task-card h2{position:relative;z-index:1;color:#fff!important;margin:12px 0 6px!important;font-size:23px!important;line-height:1.22!important;}
  .mobile-main-task-card p{position:relative;z-index:1;color:rgba(255,255,255,.86)!important;margin:0 0 14px!important;line-height:1.55;font-size:13.5px;}
  .mobile-card-btn{position:relative;z-index:1;display:inline-flex;height:38px;padding:0 16px;border-radius:999px;background:#fff;color:#0f5bd8;align-items:center;font-size:14px;}
  .mobile-quick-grid,.mobile-tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
  .mobile-quick-grid a,.mobile-tools-grid a,.mobile-tool-list a{min-height:86px;border-radius:20px;border:1px solid var(--m-line);background:#fff;text-decoration:none;color:var(--m-deep);padding:14px;box-shadow:0 10px 24px rgba(47,128,255,.07);display:flex;flex-direction:column;justify-content:center;gap:5px;}
  .mobile-quick-grid strong,.mobile-tools-grid strong,.mobile-tool-list strong{font-size:16px;line-height:1.25;}
  .mobile-quick-grid span,.mobile-tools-grid span,.mobile-tool-list span{font-size:12.5px;color:var(--m-muted);line-height:1.35;}
  .mobile-tool-list{display:grid;grid-template-columns:1fr;gap:10px;}
  .mobile-tool-list a{min-height:70px;}.mobile-tool-list .muted,.mobile-tools-grid .disabled{opacity:.66;}

  /* ZSB mobile workbench */
  body:not(.xls-page-home) .mobile-zsb-workbench-v386{display:block;}
  body.zsb-home-page .zsb-home-hero,body.zsb-home-page .public-follow-card,body.zsb-home-page .zsb-home-layout,body.zsb-home-page .zsb-home-modules{display:none!important;}
  .zsb-mobile-title-card{margin-top:2px;}
  .mobile-study-status{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--m-line);border-radius:22px;background:#fff;margin:0 0 12px;overflow:hidden;box-shadow:0 10px 24px rgba(47,128,255,.06);}
  .mobile-study-status div{padding:14px;border-bottom:1px solid #eef5ff;}
  .mobile-study-status div+div{border-left:1px solid #eef5ff;}
  .mobile-study-status span{display:block;color:var(--m-muted);font-size:12px;font-weight:900;margin-bottom:5px;}
  .mobile-study-status b{color:var(--m-deep);font-size:22px;}
  .mobile-study-status p{grid-column:1/-1;margin:0;padding:12px 14px;color:var(--m-muted);font-size:12.5px;line-height:1.5;background:#f8fbff;}

  /* Mock start page */
  .page-head.mock-head{padding:12px 14px!important;border-radius:20px!important;margin-bottom:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
  .page-head.mock-head .breadcrumb{display:none!important;}.page-head.mock-head h1{font-size:18px!important;line-height:1.25!important;max-width:none!important;white-space:normal!important;}
  .mock-timer{height:40px!important;min-width:82px!important;border-radius:16px!important;font-size:16px!important;}
  .mock-start-step-ui{padding:14px!important;border-radius:24px!important;margin-bottom:84px!important;}
  .mock-step-block{display:block!important;padding:16px!important;border-radius:22px!important;margin-bottom:12px!important;}
  .mock-step-badge{width:42px!important;height:42px!important;border-radius:15px!important;font-size:18px!important;margin-bottom:12px!important;}
  .mock-step-content h2,.mock-picker-head h2{font-size:19px!important;line-height:1.25!important;margin:0 0 6px!important;}
  .mock-step-content p,.mock-picker-head p{font-size:13px!important;line-height:1.5!important;margin:0 0 12px!important;}
  .mock-input{height:46px!important;border-radius:16px!important;font-size:15px!important;}
  .mock-paper-card-grid{grid-template-columns:1fr!important;gap:10px!important;}
  .mock-paper-card{border-radius:18px!important;padding:14px!important;min-height:110px!important;}
  .mock-start-submit-row{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:100!important;margin:0!important;display:block!important;}
  .mock-start-submit-row .primary,.mock-start-submit-row button{width:100%!important;height:50px!important;border-radius:18px!important;font-size:16px!important;box-shadow:0 14px 32px rgba(47,128,255,.26)!important;}
  .mock-start-note{display:none!important;}

  /* Mock answering page */
  body.mock-exam-mode .page-head.mock-head{position:sticky!important;top:72px!important;z-index:60!important;}
  .mock-shell{margin-bottom:90px!important;}.stepper{display:none!important;}
  .mock-section{padding:14px!important;border-radius:22px!important;box-shadow:0 12px 30px rgba(47,128,255,.07)!important;}
  .mock-section-title{display:block!important;margin-bottom:10px!important;}
  .mock-section-title h2{font-size:19px!important;line-height:1.25!important;max-width:none!important;white-space:normal!important;margin:4px 0!important;}
  .mock-section-title .ghost{display:none!important;}
  .mock-directions,.inline-answer-tip{font-size:13px!important;line-height:1.55!important;border-radius:14px!important;padding:10px!important;margin:8px 0!important;}
  .mock-passage,.inline-blank-passage{font-size:15px!important;line-height:2.05!important;border-radius:18px!important;padding:14px!important;max-height:none!important;overflow:visible!important;text-align:left!important;}
  .mock-item{padding:12px!important;border-radius:16px!important;margin-bottom:10px!important;}
  .mock-item label{font-size:14px!important;line-height:1.55!important;}
  .mock-input.full,.mock-textarea{width:100%!important;font-size:15px!important;border-radius:16px!important;}
  .mock-textarea{min-height:220px!important;}
  .mock-actions{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:100!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:0!important;padding:0!important;background:transparent!important;}
  .mock-actions button{width:100%!important;height:50px!important;border-radius:18px!important;font-size:15px!important;}
  .mock-actions button:only-child{grid-column:1/-1;}
  .inline-blank-input{width:78px!important;min-width:78px!important;max-width:78px!important;text-align:center!important;}
  .sentence-blank-list{padding:12px!important;border-radius:18px!important;}.sentence-blank-row{display:block!important;line-height:2!important;margin-bottom:8px!important;}

  /* AI school mobile form */
  .zsb-ai-page .hero{padding:14px!important;border-radius:22px!important;margin-bottom:10px!important;}
  .zsb-ai-page .hero-grid{display:block!important;}.zsb-ai-page .headline h2{font-size:22px!important;white-space:normal!important;max-width:none!important;}
  .zsb-ai-page .headline p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  .zsb-ai-page .rule-box{display:none!important;}
  .zsb-ai-page .form-card{padding:14px!important;border-radius:22px!important;margin-top:10px!important;}
  .zsb-ai-page .grid{grid-template-columns:1fr!important;gap:10px!important;}.zsb-ai-page input,.zsb-ai-page select{height:46px!important;border-radius:15px!important;font-size:15px!important;}
  .zsb-ai-page .actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}.zsb-ai-page .actions button{height:48px!important;border-radius:16px!important;}
  .cards{grid-template-columns:1fr!important;}.rec,.result .card{border-radius:18px!important;}

  /* ZSB info mobile: search + filters + cards */
  .hero .headline h2{font-size:22px!important;white-space:normal!important;max-width:none!important;}.feedback-contact{display:none!important;}
  .search{padding:12px!important;border-radius:20px!important;margin-bottom:10px!important;}.search .grid{grid-template-columns:1fr!important;gap:10px!important;}
  .xls-mobile-filter{grid-column:1/-1;border:1px solid var(--m-line);border-radius:16px;background:#fff;overflow:hidden;}
  .xls-mobile-filter summary{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;font-weight:1000;color:var(--m-deep);list-style:none;}
  .xls-mobile-filter summary::-webkit-details-marker{display:none;}.xls-mobile-filter summary:after{content:'筛选';font-size:12px;color:#2f80ff;background:#edf6ff;border-radius:999px;padding:4px 9px;}
  .xls-mobile-filter-panel{display:grid;gap:10px;padding:0 12px 12px;}
  .stats{display:none!important;}.table-wrap table{display:none!important;}.mobile-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:10px!important;}.mcard{border-radius:18px!important;padding:14px!important;}
  .pager{padding:12px!important;}.pager div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;}

  /* Login and profile */
  .login-center-wrap{margin-top:12px!important;}.xls-login-form-card{border-radius:24px!important;padding:22px 16px!important;box-shadow:0 16px 36px rgba(47,128,255,.10)!important;}.xls-login-title h1{font-size:26px!important;}.xls-form-input{height:48px!important;border-radius:16px!important;font-size:16px!important;}.xls-code-row{grid-template-columns:1fr!important;gap:9px!important;}.xls-send-code,.xls-login-submit{height:48px!important;border-radius:16px!important;}
  .profile-page .profile-hero,.profile-dashboard-hero{border-radius:24px!important;padding:18px!important;}.profile-grid,.profile-dashboard-grid,.profile-main-grid{grid-template-columns:1fr!important;}.profile-card,.dashboard-card{border-radius:20px!important;padding:16px!important;}

  /* Public follow goes bottom only on mobile pages that still show it */
  .public-follow-card{margin-top:18px!important;border-radius:22px!important;padding:16px!important;}.public-qr-box{display:none!important;}
}
@media (max-width:380px){
  .mobile-quick-grid,.mobile-tools-grid{grid-template-columns:1fr;}.topbar .brand-title,.topbar .brand h1{max-width:calc(100vw - 162px)!important;font-size:14px!important}.xls-auth-welcome{max-width:72px!important;}
}

/* V3.89 Mobile App logic refinement — mobile only, PC layout is not touched */
@media (max-width:820px){
  a,button,summary,input,select,textarea{ -webkit-tap-highlight-color:rgba(47,128,255,.12); }
  a:active,button:active,summary:active{ transform:scale(.985); }

  body.xls-mobile-workbench-home .mobile-hello-card{
    border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;
    padding:8px 4px 4px!important;margin:0 0 6px!important;
  }
  body.xls-mobile-workbench-home .mobile-pill-status{height:24px!important;padding:0 9px!important;margin-bottom:8px!important;background:#eaf4ff!important;font-size:11.5px!important;}
  body.xls-mobile-workbench-home .mobile-hello-card h1{font-size:22px!important;letter-spacing:-.2px!important;}
  body.xls-mobile-workbench-home .mobile-hello-card p{font-size:13.5px!important;margin-top:5px!important;line-height:1.45!important;}
  body.xls-mobile-workbench-home .mobile-main-task-card{border-radius:20px!important;padding:16px!important;margin-bottom:9px!important;box-shadow:0 12px 26px rgba(47,128,255,.18)!important;}
  body.xls-mobile-workbench-home .mobile-main-task-card h2{font-size:22px!important;margin:10px 0 5px!important;}
  body.xls-mobile-workbench-home .mobile-main-task-card p{font-size:13px!important;margin-bottom:12px!important;line-height:1.45!important;}
  body.xls-mobile-workbench-home .mobile-card-btn{height:36px!important;padding:0 14px!important;font-size:13.5px!important;}
  body.xls-mobile-workbench-home .mobile-quick-grid{gap:8px!important;margin-bottom:8px!important;}
  body.xls-mobile-workbench-home .mobile-tool-list{gap:8px!important;}
  body.xls-mobile-workbench-home .mobile-quick-grid a,
  body.xls-mobile-workbench-home .mobile-tools-grid a,
  body.xls-mobile-workbench-home .mobile-tool-list a{
    min-height:68px!important;border-radius:18px!important;padding:12px!important;box-shadow:0 7px 18px rgba(47,128,255,.055)!important;
  }
  body.xls-mobile-workbench-home .mobile-quick-grid strong,
  body.xls-mobile-workbench-home .mobile-tools-grid strong,
  body.xls-mobile-workbench-home .mobile-tool-list strong{font-size:15px!important;}
  body.xls-mobile-workbench-home .mobile-quick-grid span,
  body.xls-mobile-workbench-home .mobile-tools-grid span,
  body.xls-mobile-workbench-home .mobile-tool-list span{font-size:12px!important;}

  .xls-mobile-tabbar{
    position:fixed!important;left:12px!important;right:12px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    height:64px!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(207,226,255,.92)!important;box-shadow:0 16px 42px rgba(30,85,160,.16)!important;
    display:grid!important;grid-template-columns:repeat(4,1fr)!important;z-index:850!important;overflow:hidden!important;backdrop-filter:blur(16px)!important;
  }
  .xls-mobile-tabbar a{min-width:0!important;height:64px!important;text-decoration:none!important;color:#6c7f98!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-weight:900!important;font-size:11.5px!important;letter-spacing:0!important;border-radius:18px!important;}
  .xls-mobile-tabbar a b{font-size:19px!important;line-height:1!important;font-weight:1000!important;}
  .xls-mobile-tabbar a span{line-height:1!important;}
  .xls-mobile-tabbar a.active{color:#1f66e5!important;background:linear-gradient(180deg,rgba(47,128,255,.10),rgba(47,128,255,.04))!important;}
  body.xls-has-mobile-tabbar .app{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;}
  body.xls-has-mobile-tabbar .site-icp-footer{margin-bottom:calc(82px + env(safe-area-inset-bottom,0px))!important;}
  body.mock-exam-page .xls-mobile-tabbar,body.mock-exam-mode .xls-mobile-tabbar{display:none!important;}
  body.mock-exam-page.xls-has-mobile-tabbar .app,body.mock-exam-mode.xls-has-mobile-tabbar .app{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;}
  body.zsb-mock-select-page.xls-has-mobile-tabbar .mock-start-submit-row{bottom:calc(84px + env(safe-area-inset-bottom,0px))!important;}
  body.zsb-mock-select-page.xls-has-mobile-tabbar .app{padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))!important;}
}
@media (max-width:380px){
  .xls-mobile-tabbar{left:8px!important;right:8px!important;height:60px!important;border-radius:20px!important;}
  .xls-mobile-tabbar a{height:60px!important;font-size:11px!important;}
}


/* === V398 mobile document one-shot fix start === */
@media (max-width: 820px), (hover: none) and (pointer: coarse), (orientation: landscape) and (max-height: 520px) and (pointer: coarse) {
  :root {
    --m-safe-top: env(safe-area-inset-top, 0px);
    --m-safe-bottom: env(safe-area-inset-bottom, 0px);
    --m-topbar-h: 68px;
    --m-tabbar-h: 76px;
    --m-actionbar-h: 68px;
    --m-page-pad: 10px;
    --z-content: 1;
    --z-tabbar: 7000;
    --z-topbar: 8000;
    --z-action: 9000;
    --z-dropdown: 12000;
    --z-toast: 15000;
    --z-modal: 20000;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    scroll-padding-top: calc(var(--m-topbar-h) + var(--m-safe-top) + 16px) !important;
  }

  html.xls-mobile-app-mode body { background-attachment: scroll !important; }

  *, *::before, *::after { box-sizing: border-box !important; }
  img, video, canvas, svg, table { max-width: 100% !important; }
  a, button, summary, input, select, textarea, [role="button"] { -webkit-tap-highlight-color: transparent !important; touch-action: manipulation !important; }

  .app, .page, main, .container, .content, .login-page-shell {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--m-page-pad) !important;
    padding-right: var(--m-page-pad) !important;
    overflow-x: hidden !important;
  }

  .topbar, .topbar.xls-unified-topbar, .profile-topbar, .advice-topbar, .nav-inner, header.topbar {
    position: sticky !important;
    top: calc(var(--m-safe-top) + 6px) !important;
    z-index: var(--z-topbar) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: calc(100vw - 20px) !important;
    min-height: 58px !important;
    height: auto !important;
    margin: 0 auto 12px !important;
    padding: 8px 10px !important;
    border-radius: 20px !important;
    overflow: visible !important;
    pointer-events: auto !important;
    isolation: isolate !important;
    transform: translateZ(0) !important;
  }

  .topbar .brand, .profile-topbar .profile-brand, .advice-topbar .advice-brand, .nav-inner .brand {
    min-width: 0 !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
    position: static !important;
    transform: none !important;
  }

  .topbar .actions, .topbar .nav-actions, .topbar .navs, .topbar .xls-global-actions,
  .profile-topbar .profile-actions, .advice-topbar .actions, .nav-inner .actions, .nav-inner .nav-actions {
    min-width: 0 !important;
    max-width: 46vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
    position: relative !important;
    z-index: calc(var(--z-topbar) + 10) !important;
  }

  .topbar .logo, .profile-topbar .profile-logo, .advice-topbar .advice-logo, .nav-inner .logo {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 13px !important;
    overflow: hidden !important;
  }

  .topbar .brand-title, .topbar .brand h1, .profile-brand-title, .advice-brand-title, .nav-inner h1 {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }

  .topbar .brand-sub, .topbar .brand p, .profile-brand-sub, .advice-brand-sub, .nav-inner p {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    margin: 2px 0 0 !important;
  }

  .xls-mobile-more-global, .mobile-more-menu, .more-menu, .dropdown-menu, .nav-menu, .user-menu, .profile-menu, .menu-popover, details[open] > summary + * {
    z-index: var(--z-dropdown) !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  .xls-mobile-more-panel, .dropdown-menu, .more-menu, .nav-menu, .menu-popover, details[open] > summary + * {
    max-height: calc(100dvh - var(--m-topbar-h) - var(--m-safe-top) - var(--m-safe-bottom) - 20px) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
  }

  .modal, .login-modal, .auth-modal, .dialog, .drawer, .sheet, [role="dialog"], [aria-modal="true"] { z-index: var(--z-modal) !important; }
  .modal-backdrop, .overlay, .drawer-backdrop, .sheet-backdrop { z-index: calc(var(--z-modal) - 1) !important; }
  .toast, #toast, .notice-toast { z-index: var(--z-toast) !important; }

  .page-head, .mock-head, .hero, .zsb-hero, .ai-hero, .info-hero, .form-card, .card, .panel, section[id] {
    max-width: 100% !important;
    scroll-margin-top: calc(var(--m-topbar-h) + var(--m-safe-top) + 18px) !important;
  }

  body.xls-has-mobile-tabbar:not(.xls-has-fixed-action) .app,
  body.xls-has-mobile-tabbar:not(.xls-has-fixed-action) .page {
    padding-bottom: calc(var(--m-tabbar-h) + var(--m-safe-bottom) + 22px) !important;
  }

  body.xls-has-fixed-action .app,
  body.xls-has-fixed-action .page {
    padding-bottom: calc(var(--m-actionbar-h) + var(--m-safe-bottom) + 34px) !important;
  }

  .xls-mobile-tabbar {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + var(--m-safe-bottom)) !important;
    height: var(--m-tabbar-h) !important;
    z-index: var(--z-tabbar) !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    padding: 8px !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 42px rgba(30, 85, 160, .16) !important;
    backdrop-filter: blur(14px) !important;
    pointer-events: auto !important;
    isolation: isolate !important;
  }

  .xls-mobile-tabbar a {
    min-width: 0 !important;
    min-height: 52px !important;
    border-radius: 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 2px !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    position: relative !important;
    z-index: calc(var(--z-tabbar) + 1) !important;
    pointer-events: auto !important;
  }

  .xls-mobile-tabbar a.is-active { background: rgba(47, 126, 246, .10) !important; color: #1f63d8 !important; font-weight: 900 !important; }

  body.xls-hide-mobile-tabbar .xls-mobile-tabbar,
  body.xls-page-mock-select .xls-mobile-tabbar,
  body.xls-page-mock-exam .xls-mobile-tabbar,
  body.mock-exam-mode .xls-mobile-tabbar { display: none !important; }

  .mock-start-submit-row, .mock-actions, .mobile-fixed-action, .fixed-action-bar, .bottom-action-bar, .submit-action-bar {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + var(--m-safe-bottom)) !important;
    z-index: var(--z-action) !important;
    min-height: var(--m-actionbar-h) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 0 !important;
    padding: 10px !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 42px rgba(30, 85, 160, .16) !important;
    backdrop-filter: blur(14px) !important;
  }

  .mock-actions { display: flex !important; align-items: center !important; gap: 8px !important; }
  .mock-actions button, .mock-actions a, .mock-start-submit-row button, .mock-start-submit-row a,
  .mobile-fixed-action button, .mobile-fixed-action a, .fixed-action-bar button, .fixed-action-bar a,
  .bottom-action-bar button, .bottom-action-bar a, .submit-action-bar button, .submit-action-bar a {
    min-height: 46px !important;
    border-radius: 16px !important;
    min-width: 0 !important;
  }

  .mock-shell { margin-bottom: 0 !important; }
  .mock-section, #sectionBox { padding-bottom: calc(var(--m-actionbar-h) + var(--m-safe-bottom) + 34px) !important; }

  body.xls-page-mock-select .mock-start-step-ui, body.zsb-mock-select-page .mock-start-step-ui {
    padding-bottom: calc(var(--m-actionbar-h) + var(--m-safe-bottom) + 34px) !important;
  }

  body.xls-page-mock-select .mock-step-block, body.zsb-mock-select-page .mock-step-block, .mock-start-step-ui .mock-step-block {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
    position: relative !important;
    overflow: visible !important;
  }

  body.xls-page-mock-select .mock-step-badge, body.zsb-mock-select-page .mock-step-badge, .mock-start-step-ui .mock-step-badge {
    position: static !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    margin: 0 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.xls-page-mock-select .mock-step-content, body.zsb-mock-select-page .mock-step-content, .mock-start-step-ui .mock-step-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .mock-start-step-ui .mock-user-row { grid-column: 1 / -1 !important; width: 100% !important; margin-top: 8px !important; }
  .mock-start-step-ui .mock-paper-card-grid { grid-template-columns: 1fr !important; gap: 12px !important; width: 100% !important; }

  body.xls-page-free-course .side-card, body.xls-page-free-course .mobile-bottom, body.xls-page-free-course .page-mobile-bottom, body.xls-page-free-course .local-bottom-nav { display: none !important; }
  body.xls-page-free-course .page { padding: 10px 10px calc(var(--m-tabbar-h) + var(--m-safe-bottom) + 22px) !important; }
  body.xls-page-free-course .hero { display: block !important; margin-top: 12px !important; }
  body.xls-page-free-course .hero-card { min-height: auto !important; padding: 18px !important; border-radius: 20px !important; }
  body.xls-page-free-course .hero-card h1 { font-size: 22px !important; line-height: 1.22 !important; margin: 12px 0 8px !important; }
  body.xls-page-free-course .hero-desc { font-size: 13.5px !important; line-height: 1.65 !important; }
  body.xls-page-free-course .video-grid { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.xls-page-free-course .video-card { min-height: auto !important; border-radius: 18px !important; }
  body.xls-page-free-course .video-cover { height: 116px !important; }
  body.xls-page-free-course .video-body { padding: 14px !important; }
  body.xls-page-free-course .study-panel { grid-template-columns: 1fr !important; gap: 8px !important; }

  body.xls-page-home a[href="/system-intro"],
  body.xls-page-home a[href^="/system-intro"],
  body.xls-page-home .mobile-carousel-slide[href="/system-intro"] { display: none !important; }

  body.xls-page-system-intro .xls-mobile-tabbar { pointer-events: auto !important; z-index: var(--z-tabbar) !important; }
  body.xls-page-system-intro .xls-mobile-tabbar a { pointer-events: auto !important; }
  body.xls-page-system-intro [class*="bg"], body.xls-page-system-intro [class*="blob"], body.xls-page-system-intro [class*="glow"],
  body.xls-page-system-intro [class*="decor"], body.xls-page-system-intro [class*="float"], body.xls-page-system-intro [class*="halo"],
  body.xls-page-system-intro [class*="shine"], body.xls-page-system-intro [class*="orb"] { pointer-events: none !important; }
  body.xls-page-system-intro .teacher-card img, body.xls-page-system-intro .team-card img, body.xls-page-system-intro .mentor-card img,
  body.xls-page-system-intro .profile-card img, body.xls-page-system-intro img[alt*="Blue"], body.xls-page-system-intro img[alt*="老师"] {
    height: auto !important; max-height: none !important; object-fit: contain !important; object-position: center center !important; clip-path: none !important; transform: none !important;
  }
}

@media (orientation: landscape) and (max-height: 520px) and (pointer: coarse) {
  :root { --m-topbar-h: 52px; --m-actionbar-h: 56px; --m-tabbar-h: 62px; }
  .topbar, .topbar.xls-unified-topbar, .profile-topbar, .advice-topbar, .nav-inner, header.topbar { min-height: 48px !important; padding: 6px 8px !important; border-radius: 16px !important; }
  .topbar .brand-sub, .topbar .brand p, .profile-brand-sub, .advice-brand-sub, .nav-inner p { display: none !important; }
  .xls-mobile-tabbar { height: var(--m-tabbar-h) !important; border-radius: 20px !important; }
  .xls-mobile-tabbar a { min-height: 44px !important; font-size: 11px !important; }
  .mock-actions, .mock-start-submit-row { min-height: var(--m-actionbar-h) !important; padding: 6px 8px !important; border-radius: 18px !important; }
  .mock-actions button, .mock-actions a, .mock-start-submit-row button, .mock-start-submit-row a { min-height: 42px !important; font-size: 13px !important; line-height: 1.15 !important; white-space: normal !important; }
  .mock-section, #sectionBox { padding-bottom: 92px !important; }
}

@media (max-width: 390px) {
  :root { --m-page-pad: 8px; --m-tabbar-h: 74px; --m-actionbar-h: 66px; }
  .topbar, .topbar.xls-unified-topbar, .profile-topbar, .advice-topbar, .nav-inner, header.topbar { max-width: calc(100vw - 16px) !important; padding: 7px 8px !important; }
  .topbar .brand-title, .topbar .brand h1, .profile-brand-title, .advice-brand-title, .nav-inner h1 { font-size: 14px !important; }
  .topbar .brand-sub, .topbar .brand p, .profile-brand-sub, .advice-brand-sub, .nav-inner p { display: none !important; }
  .mock-start-step-ui .mock-step-block { grid-template-columns: 42px minmax(0, 1fr) !important; gap: 10px !important; padding: 14px !important; }
  .mock-start-step-ui .mock-step-badge { width: 42px !important; height: 42px !important; min-width: 42px !important; }
}
/* === V398 mobile document one-shot fix end === */


/* === V4.04 mobile nav and mock-picker polish start === */
@media (max-width: 820px), (hover: none) and (pointer: coarse), (orientation: landscape) and (max-height: 520px) and (pointer: coarse) {
  :root {
    --m-safe-bottom: env(safe-area-inset-bottom, 0px);
    --m-tabbar-h: 78px;
    --m-actionbar-h: 62px;
    --z-tabbar: 8600;
    --z-action: 9200;
    --z-dropdown: 12000;
  }

  .xls-mobile-more-global summary,
  .xls-auth-top-btn:not(.xls-auth-welcome) {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .xls-auth-welcome {
    width: auto !important;
    min-width: 74px !important;
    max-width: 132px !important;
    padding: 0 12px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .xls-mobile-tabbar {
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + var(--m-safe-bottom)) !important;
    height: var(--m-tabbar-h) !important;
    padding: 7px 8px !important;
    border-radius: 24px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(207,226,255,.96) !important;
    box-shadow: 0 16px 42px rgba(30,85,160,.16) !important;
    backdrop-filter: blur(16px) !important;
    z-index: var(--z-tabbar) !important;
  }

  .xls-mobile-tabbar a {
    height: 62px !important;
    min-height: 62px !important;
    border-radius: 18px !important;
    gap: 4px !important;
    color: #566d8a !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
  }

  .xls-mobile-tabbar a b { display: none !important; }
  .xls-tab-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 18px !important;
    display: grid !important;
    place-items: center !important;
  }
  .xls-tab-icon svg {
    width: 25px !important;
    height: 25px !important;
    stroke: currentColor !important;
    stroke-width: 2.35 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    fill: none !important;
    display: block !important;
  }
  .xls-tab-label { line-height: 1 !important; }
  .xls-mobile-tabbar a.is-active,
  .xls-mobile-tabbar a.active {
    color: #1f63d8 !important;
    background: rgba(47,126,246,.10) !important;
  }
  .xls-mobile-tabbar a.is-active .xls-tab-icon,
  .xls-mobile-tabbar a.active .xls-tab-icon {
    color: #fff !important;
    background: linear-gradient(180deg,#2f80ff,#1f63d8) !important;
    box-shadow: 0 8px 18px rgba(31,99,216,.24) !important;
  }

  body.xls-page-mock-select .xls-mobile-tabbar,
  body.zsb-mock-select-page .xls-mobile-tabbar {
    display: grid !important;
  }
  body.xls-page-mock-exam .xls-mobile-tabbar,
  body.mock-exam-mode .xls-mobile-tabbar {
    display: none !important;
  }

  body.xls-page-mock-select.xls-has-mobile-tabbar .mock-start-submit-row,
  body.zsb-mock-select-page.xls-has-mobile-tabbar .mock-start-submit-row {
    bottom: calc(var(--m-tabbar-h) + 18px + var(--m-safe-bottom)) !important;
    z-index: var(--z-action) !important;
  }
  body.xls-page-mock-select.xls-has-mobile-tabbar .app,
  body.zsb-mock-select-page.xls-has-mobile-tabbar .app {
    padding-bottom: calc(var(--m-tabbar-h) + var(--m-actionbar-h) + var(--m-safe-bottom) + 34px) !important;
  }

  .mock-start-step-ui .mock-paper-card-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .mock-start-step-ui .mock-paper-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    grid-template-areas:
      "icon title mark"
      "icon meta mark" !important;
    align-items: center !important;
    column-gap: 10px !important;
    row-gap: 3px !important;
    text-align: left !important;
  }
  .mock-start-step-ui .paper-card-icon {
    grid-area: icon !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
  }
  .mock-start-step-ui .mock-paper-card-top {
    grid-area: meta !important;
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    margin: 0 !important;
  }
  .mock-start-step-ui .mock-paper-card strong {
    grid-area: title !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .mock-start-step-ui .mock-paper-card p,
  .mock-start-step-ui .paper-card-foot {
    display: none !important;
  }
  .mock-start-step-ui .paper-year,
  .mock-start-step-ui .paper-type {
    height: 20px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
    border-radius: 999px !important;
  }
  .mock-start-step-ui .paper-selected-mark {
    grid-area: mark !important;
    position: static !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    opacity: .35 !important;
  }
  .mock-start-step-ui .mock-paper-card.active .paper-selected-mark {
    opacity: 1 !important;
  }
}
/* === V4.04 mobile nav and mock-picker polish end === */

/* === V4.04 hotfix: nav alignment, mock select overlap, system images stability === */
@media (max-width: 820px), (hover: none) and (pointer: coarse), (orientation: landscape) and (max-height: 520px) and (pointer: coarse) {
  .topbar .xls-global-actions,
  .topbar .actions.xls-global-actions,
  .topbar .nav-actions.xls-global-actions,
  .topbar .navs.xls-global-actions,
  .profile-topbar .xls-global-actions,
  .advice-topbar .xls-global-actions,
  .zsb-ai-navs.xls-global-actions,
  .nav-inner .xls-global-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 132px !important;
    margin-left: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .xls-mobile-more-global,
  .xls-mobile-more-global summary,
  .xls-auth-top-btn:not(.xls-auth-welcome),
  a.xls-auth-top-btn:not(.xls-auth-welcome),
  button.xls-auth-top-btn:not(.xls-auth-welcome),
  .topbar .xls-global-actions > a.xls-auth-top-btn:not(.xls-auth-welcome),
  .topbar .xls-global-actions > button.xls-auth-top-btn:not(.xls-auth-welcome) {
    box-sizing: border-box !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .xls-mobile-more-global {
    position: relative !important;
  }

  .xls-mobile-more-global summary::-webkit-details-marker {
    display: none !important;
  }

  body.zsb-mock-select-page .mock-start-step-ui,
  body.xls-page-mock-select .mock-start-step-ui {
    padding-bottom: 14px !important;
    margin-bottom: calc(var(--m-tabbar-h) + var(--m-safe-bottom) + 26px) !important;
  }

  body.zsb-mock-select-page .mock-step-paper,
  body.xls-page-mock-select .mock-step-paper {
    margin-bottom: 12px !important;
    overflow: visible !important;
  }

  body.zsb-mock-select-page .mock-start-submit-row,
  body.xls-page-mock-select .mock-start-submit-row {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.zsb-mock-select-page .mock-start-submit-row .primary,
  body.xls-page-mock-select .mock-start-submit-row .primary,
  body.zsb-mock-select-page .mock-start-submit-row button,
  body.xls-page-mock-select .mock-start-submit-row button {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
  }

  body.zsb-mock-select-page.xls-has-mobile-tabbar .app,
  body.xls-page-mock-select.xls-has-mobile-tabbar .app {
    padding-bottom: calc(var(--m-tabbar-h) + var(--m-safe-bottom) + 28px) !important;
  }
}
/* === V4.04 hotfix end === */


/* XLS_V533_MOBILE_ZSB_PROVINCE_ENTRY_FIX_START */
@media (max-width: 820px) {
  body.zsb-province-page .province-picker-card::before,
  body.zsb-province-page .province-picker-card::after,
  body.zsb-province-landing-page .zsb-province-landing-hero::before,
  body.zsb-province-landing-page .zsb-province-landing-hero::after,
  body.zsb-province-landing-page .zsb-province-card::before,
  body.zsb-province-landing-page .zsb-province-card::after {
    pointer-events: none !important;
  }

  body.zsb-province-page .province-pick-card,
  body.zsb-province-landing-page .zsb-province-btn,
  body.zsb-province-landing-page .zsb-province-card,
  body.xls-page-zsb-province-hub a[data-zsb-province],
  body.xls-page-zsb-province-home a[data-zsb-province],
  body.xls-page-zsb-province-query a[data-zsb-province],
  body.xls-page-zsb-province-ai a[data-zsb-province] {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  body.zsb-province-page .province-picker-grid,
  body.zsb-province-landing-page .zsb-province-actions,
  body.zsb-province-landing-page .zsb-province-grid {
    position: relative !important;
    z-index: 2 !important;
    pointer-events: auto !important;
  }
}
/* XLS_V533_MOBILE_ZSB_PROVINCE_ENTRY_FIX_END */
