/* V441 mobile-only global app UI polish: does not affect PC */
@media (max-width: 820px) {
  :root{--xls-mobile-bottom:76px;--xls-blue:#2f80ff;--xls-blue2:#1f66e5;--xls-deep:#12396d;--xls-line:#dceaff;--xls-bg:#f4f8ff;}
  html.xls-mobile-v439, html.xls-mobile-v439 body{overflow-x:hidden!important;background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 42%,#ffffff 100%)!important;}
  body.xls-mobile-v439{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;}
  body.xls-mobile-v439.xls-v439-mock-exam{padding-bottom:18px!important;}

  /* Top header: only logo + title + menu icon. Old text buttons are hidden on mobile only. */
  body.xls-mobile-v439 .topbar .actions:not(.xls-mobile-fixed-menu-slot):not(.zsb-ai-actions):not(.zsb-info-actions),
  body.xls-mobile-v439 .topbar .navs:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .topbar .nav-actions:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .topbar .xls-global-actions:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .profile-topbar .profile-actions:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .ai-records-actions:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .profile-topbar .actions:not(.xls-mobile-fixed-menu-slot),
  body.xls-mobile-v439 .hero > .actions,
  body.xls-mobile-v439 .zsb-ai-navs,
  body.xls-mobile-v439 .zsb-top-actions,
  body.xls-mobile-v439 .nav-actions,
  body.xls-mobile-v439 .navs:not(.xls-mobile-fixed-menu-slot) {
    display:none!important;visibility:hidden!important;pointer-events:none!important;height:0!important;max-height:0!important;overflow:hidden!important;
  }
  body.xls-mobile-v439 .xls-v430-header-owner .xls-mobile-fixed-menu-slot{display:flex!important;visibility:visible!important;height:40px!important;max-height:40px!important;}

  /* Avoid duplicate logo/brand inside mobile hero cards after unified header is created */
  body.xls-mobile-v439 .hero .brand{display:none!important;}

  body.xls-mobile-v439 #xlsMobileAppMenuBtnV424{font-size:0!important;}
  body.xls-mobile-v439 #xlsMobileAppMenuBtnV424::before{content:"☰"!important;font-size:20px!important;line-height:1!important;font-weight:900!important;}
  body.xls-mobile-v439 #xlsMobileAppMenuPanelV424{position:fixed!important;top:calc(env(safe-area-inset-top, 0px) + 64px)!important;right:12px!important;bottom:auto!important;left:auto!important;width:min(220px, calc(100vw - 24px))!important;z-index:2147483200!important;}

  /* Single bottom Tabbar owner */
  body.xls-mobile-v439 .xls-mobile-tabbar:not(#xlsMobileTabbarV439){display:none!important;}
  #xlsMobileTabbarV439{
    position:fixed!important;left:10px!important;right:10px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;z-index:2147483000!important;
    height:64px!important;padding:6px!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(207,225,255,.95)!important;
    box-shadow:0 18px 50px rgba(18,57,109,.16)!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:4px!important;backdrop-filter:blur(16px)!important;box-sizing:border-box!important;
  }
  #xlsMobileTabbarV439 a{min-width:0!important;border-radius:17px!important;text-decoration:none!important;color:#6d7f96!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;font-size:11px!important;font-weight:900!important;line-height:1!important;}
  #xlsMobileTabbarV439 a svg{width:22px!important;height:22px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2.25!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
  #xlsMobileTabbarV439 a.is-active{color:#1f66e5!important;background:#edf5ff!important;box-shadow:inset 0 0 0 1px rgba(47,128,255,.10)!important;}
  body.xls-v439-mock-exam #xlsMobileTabbarV439{display:none!important;}

  /* Mobile home: core features first */
  body.xls-mobile-v439.xls-page-home .mobile-quick-grid,
  body.xls-mobile-v439.xls-page-home .mobile-tool-list,
  body.xls-mobile-v439.xls-page-home .mobile-main-task-card{display:none!important;visibility:hidden!important;height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
  body.xls-mobile-v439.xls-page-home .founder-member-card-v407{margin-top:12px!important;}
  body.xls-mobile-v439.xls-page-home .activity-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  body.xls-mobile-v439.xls-page-home .activity-actions a{height:42px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:1000!important;}
  body.xls-mobile-v439.xls-page-home .mobile-app-home-v386{display:block!important;padding:0 10px 18px!important;}
  .mobile-core-v439{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:12px 0!important;}
  .mobile-core-card-v439{position:relative;overflow:hidden;text-decoration:none!important;border-radius:24px!important;padding:18px!important;min-height:116px!important;background:#fff!important;border:1px solid #dceaff!important;box-shadow:0 14px 36px rgba(47,128,255,.10)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;}
  .mobile-core-card-v439.primary{background:linear-gradient(135deg,#2f80ff,#1f66e5)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 18px 46px rgba(47,128,255,.24)!important;}
  .mobile-core-card-v439.secondary{background:linear-gradient(135deg,#ffffff,#f1f7ff)!important;color:#12396d!important;}
  .mobile-core-card-v439.tertiary{background:linear-gradient(135deg,#ffffff,#f7fbff)!important;color:#12396d!important;min-height:96px!important;}
  .mobile-core-text-v439{min-width:0!important;display:grid!important;gap:8px!important;}
  .mobile-core-text-v439 strong{font-size:20px!important;line-height:1.15!important;font-weight:1000!important;letter-spacing:-.2px!important;}
  .mobile-core-text-v439 span{font-size:13px!important;line-height:1.55!important;font-weight:800!important;opacity:.92!important;}
  .mobile-core-icon-v439{width:46px!important;height:46px!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 46px!important;background:rgba(255,255,255,.18)!important;}
  .mobile-core-card-v439.secondary .mobile-core-icon-v439,
  .mobile-core-card-v439.tertiary .mobile-core-icon-v439{background:#edf5ff!important;color:#1f66e5!important;}
  .mobile-core-icon-v439 svg{width:28px!important;height:28px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.3!important;stroke-linecap:round!important;stroke-linejoin:round!important;}

  /* AI择校 mobile */
  body.xls-mobile-v439.xls-page-zsb-ai .app{padding:10px!important;box-sizing:border-box!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .hero{display:none!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .form-card{border-radius:24px!important;padding:16px!important;margin:10px 0 16px!important;border:1px solid #dceaff!important;box-shadow:0 12px 34px rgba(47,128,255,.08)!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .form-title{margin-bottom:12px!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .form-title h3{font-size:18px!important;margin:0 0 6px!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .form-title p{font-size:12.5px!important;line-height:1.5!important;margin:0!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .grid{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;}
  body.xls-mobile-v439.xls-page-zsb-ai label{font-size:13px!important;font-weight:900!important;color:#213f68!important;}
  body.xls-mobile-v439.xls-page-zsb-ai input,
  body.xls-mobile-v439.xls-page-zsb-ai select{height:48px!important;border-radius:16px!important;font-size:15px!important;background:#fff!important;}
  body.xls-mobile-v439.xls-page-zsb-ai #xlsAiFeatureStatus{margin:14px 0 10px!important;border-radius:18px!important;min-height:46px!important;padding:12px!important;font-size:13px!important;line-height:1.55!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .zsb-ai-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;width:100%!important;position:static!important;transform:none!important;float:none!important;visibility:visible!important;pointer-events:auto!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .zsb-ai-generate-btn,
  body.xls-mobile-v439.xls-page-zsb-ai #submitBtn,
  body.xls-mobile-v439.xls-page-zsb-ai #generateBtn{grid-column:1/-1!important;width:100%!important;height:52px!important;border-radius:18px!important;background:linear-gradient(135deg,#2f80ff,#1f66e5)!important;color:#fff!important;font-weight:1000!important;font-size:16px!important;border:0!important;box-shadow:0 14px 30px rgba(47,128,255,.22)!important;display:flex!important;align-items:center!important;justify-content:center!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .zsb-ai-clear-btn,
  body.xls-mobile-v439.xls-page-zsb-ai .zsb-ai-records-inline{height:46px!important;border-radius:16px!important;background:#fff!important;border:1px solid #dceaff!important;color:#1f66e5!important;font-weight:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;}
  body.xls-mobile-v439.xls-page-zsb-ai .result{margin-top:14px!important;border-radius:20px!important;}

  /* 往年查询 mobile: search first, filters folded */
  body.xls-mobile-v439.xls-page-zsb-info .app{display:flex!important;flex-direction:column!important;padding:10px!important;box-sizing:border-box!important;}
  body.xls-mobile-v439.xls-page-zsb-info .search{order:1!important;border-radius:24px!important;padding:16px!important;margin:10px 0 12px!important;border:1px solid #dceaff!important;box-shadow:0 12px 34px rgba(47,128,255,.08)!important;background:#fff!important;}
  body.xls-mobile-v439.xls-page-zsb-info .hero{order:2!important;display:block!important;padding:14px!important;border-radius:22px!important;margin-bottom:12px!important;}
  body.xls-mobile-v439.xls-page-zsb-info .hero .headline h2{font-size:18px!important;line-height:1.25!important;margin:0 0 8px!important;}
  body.xls-mobile-v439.xls-page-zsb-info .hero .headline p,
  body.xls-mobile-v439.xls-page-zsb-info .feedback-contact{font-size:12px!important;line-height:1.55!important;}
  body.xls-mobile-v439.xls-page-zsb-info .stats{order:3!important;display:none!important;}
  body.xls-mobile-v439.xls-page-zsb-info .table-card{order:4!important;}
  body.xls-mobile-v439.xls-page-zsb-info .search .grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  body.xls-mobile-v439.xls-page-zsb-info #keyword{height:50px!important;border-radius:16px!important;font-size:15px!important;}
  body.xls-mobile-v439.xls-page-zsb-info #searchBtn{height:50px!important;border-radius:18px!important;background:linear-gradient(135deg,#2f80ff,#1f66e5)!important;color:#fff!important;font-weight:1000!important;font-size:16px!important;border:0!important;box-shadow:0 14px 30px rgba(47,128,255,.18)!important;width:100%!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-v439{border:1px solid #dceaff!important;border-radius:18px!important;background:#f8fbff!important;overflow:hidden!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-v439 summary{height:46px!important;padding:0 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;font-weight:1000!important;color:#12396d!important;list-style:none!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-v439 summary::-webkit-details-marker{display:none!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-v439 summary::after{content:"⌄";font-weight:1000;color:#2f80ff;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-v439[open] summary::after{content:"⌃";}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-filter-panel-v439{padding:0 12px 12px!important;display:grid!important;gap:10px!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-info-bridge-v439{display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;}
  body.xls-mobile-v439.xls-page-zsb-info .xls-mobile-info-bridge-v439 a{height:38px!important;padding:0 12px!important;border-radius:999px!important;background:#edf5ff!important;color:#1f66e5!important;text-decoration:none!important;display:inline-flex!important;align-items:center!important;font-size:12px!important;font-weight:1000!important;}

  /* Mock select page: mobile only, timer/user display appears only after entering exam mode */
  body.xls-mobile-v439.xls-page-mock .app{padding:10px!important;box-sizing:border-box!important;}
  body.xls-mobile-v439.xls-page-mock .page-head{border-radius:22px!important;padding:14px!important;margin:10px 0 12px!important;}
  body.xls-mobile-v439.xls-page-mock:not(.mock-exam-mode) #timerBox{display:none!important;visibility:hidden!important;}
  body.xls-mobile-v439.xls-page-mock:not(.mock-exam-mode) .mock-head .breadcrumb{display:none!important;}
  body.xls-mobile-v439.xls-page-mock:not(.mock-exam-mode) .mock-head h1{font-size:18px!important;line-height:1.25!important;margin:0!important;}
  body.xls-mobile-v439.xls-page-mock .mock-start{border-radius:24px!important;padding:14px!important;margin:10px 0 16px!important;}
  body.xls-mobile-v439.xls-page-mock .mock-step-block{border-radius:22px!important;padding:14px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:12px!important;}
  body.xls-mobile-v439.xls-page-mock .mock-step-badge{width:36px!important;height:36px!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:1000!important;}
  body.xls-mobile-v439.xls-page-mock .mock-input{height:50px!important;border-radius:16px!important;font-size:15px!important;}
  body.xls-mobile-v439.xls-page-mock #startBtn{width:100%!important;height:52px!important;border-radius:18px!important;background:linear-gradient(135deg,#2f80ff,#1f66e5)!important;color:#fff!important;font-weight:1000!important;font-size:16px!important;border:0!important;box-shadow:0 14px 30px rgba(47,128,255,.22)!important;}

  /* 工具中心 mobile: one real tool hub, not a single-function page */
  body.xls-mobile-v439.xls-page-tools .app,
  body.xls-mobile-v439 .xls-tools-center-app{padding:10px!important;box-sizing:border-box!important;}
  body.xls-mobile-v439 .xls-tools-hero{border-radius:24px!important;padding:18px!important;margin:10px 0 12px!important;background:linear-gradient(135deg,#2f80ff,#1f66e5)!important;color:#fff!important;box-shadow:0 18px 46px rgba(47,128,255,.22)!important;}
  body.xls-mobile-v439 .xls-tools-hero .kicker{display:inline-flex!important;height:26px!important;padding:0 10px!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;align-items:center!important;font-size:12px!important;font-weight:1000!important;}
  body.xls-mobile-v439 .xls-tools-hero h1{font-size:24px!important;line-height:1.2!important;margin:12px 0 8px!important;color:#fff!important;letter-spacing:-.3px!important;}
  body.xls-mobile-v439 .xls-tools-hero p{font-size:13.5px!important;line-height:1.55!important;margin:0!important;color:rgba(255,255,255,.88)!important;}
  body.xls-mobile-v439 .xls-tools-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:12px 0 18px!important;}
  body.xls-mobile-v439 .xls-tool-card{min-height:82px!important;border-radius:22px!important;padding:14px!important;background:#fff!important;border:1px solid #dceaff!important;box-shadow:0 10px 26px rgba(47,128,255,.07)!important;text-decoration:none!important;color:#12396d!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
  body.xls-mobile-v439 .xls-tool-card.is-primary{background:linear-gradient(135deg,#ffffff,#edf5ff)!important;border-color:#cfe4ff!important;}
  body.xls-mobile-v439 .xls-tool-copy{display:grid!important;gap:5px!important;min-width:0!important;}
  body.xls-mobile-v439 .xls-tool-copy strong{font-size:16px!important;line-height:1.2!important;font-weight:1000!important;color:#12396d!important;}
  body.xls-mobile-v439 .xls-tool-copy span{font-size:12.5px!important;line-height:1.4!important;color:#63758f!important;font-weight:800!important;}
  body.xls-mobile-v439 .xls-tool-icon{width:42px!important;height:42px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#edf5ff!important;color:#1f66e5!important;flex:0 0 42px!important;font-size:20px!important;font-weight:1000!important;}
  body.xls-mobile-v439 .xls-tool-card.is-disabled{opacity:.66!important;}

  /* Unified button names and prevent bottom nav overlap */
  body.xls-mobile-v439 button,
  body.xls-mobile-v439 .pill,
  body.xls-mobile-v439 a{ -webkit-tap-highlight-color:transparent; }
}

@media (min-width: 821px) {
  #xlsMobileTabbarV439,.mobile-core-v439,.xls-mobile-info-bridge-v439{display:none!important;}
}


/* ===== V4.102：唯一移动端 Tabbar 对齐规则所有者 ===== */
/* 只作用于移动端，不改 PC。mobile-ui-v439 作为 Tabbar 最终样式所有者。 */
@media (max-width: 820px) {
  body.xls-mobile-v439 .xls-mobile-tabbar:not(#xlsMobileTabbarV439) {
    display: none !important;
  }

  #xlsMobileTabbarV439 {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    height: auto !important;
    min-height: 70px !important;
    padding: 8px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: center !important;
    justify-items: stretch !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(207,225,255,.95) !important;
    box-shadow: 0 18px 50px rgba(18,57,109,.16) !important;
    backdrop-filter: blur(16px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    z-index: 2147483000 !important;
  }

  #xlsMobileTabbarV439 a {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    text-align: center !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    color: #6d7f96 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  #xlsMobileTabbarV439 a svg,
  #xlsMobileTabbarV439 a .xls-tab-icon svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
    margin: 0 auto !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.25 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  #xlsMobileTabbarV439 a .xls-tab-icon {
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    line-height: 1 !important;
  }

  #xlsMobileTabbarV439 a .xls-tab-label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    line-height: 1 !important;
  }

  #xlsMobileTabbarV439 a.is-active,
  #xlsMobileTabbarV439 a.active {
    color: #1f66e5 !important;
    background: #edf5ff !important;
    box-shadow: inset 0 0 0 1px rgba(47,128,255,.10) !important;
  }

  body.xls-has-mobile-tabbar .app,
  body.xls-has-mobile-tabbar .xls-tools-center-app {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.xls-has-mobile-tabbar .site-icp-footer {
    margin-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
