
  :root{--blue:#1E5EFF;--blue-dark:#0B1B3A;--purple:#6C4CF1;--gold:#F0B429;--ink:#111827;--ink-2:#374151;--ink-3:#6B7280;--line:#E7EBF2;--bg:#F4F6FA;--r:14px;--r-lg:18px}
  *{margin:0;padding:0;box-sizing:border-box;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
  body{background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.65}
  .phone{width:100%;max-width:100%;background:var(--bg);min-height:100vh;position:relative;overflow-x:hidden}
  a{text-decoration:none;color:inherit}
  .screen{padding-bottom:76px}

  /* 状态条占位 */
  .statusbar{display:none}

  /* 顶部 */
  .hd{background:linear-gradient(160deg,var(--blue-dark) 0%,#12306E 60%,var(--blue) 150%);color:#fff;padding:12px 16px 54px;position:relative}
  .hd .row{display:flex;align-items:center;justify-content:space-between}
  .hd .logo{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800}
  .hd .logo .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--blue),#4F8CFF);display:flex;align-items:center;justify-content:center;font-size:14px}
  .hd .row .sub{font-size:11px;color:#9FB4E0;margin-top:2px}
  .hd .icons{display:flex;gap:14px;font-size:17px}
  /* 搜索 */
  .search{margin-top:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:9px 16px;font-size:13px;color:#B9C9EC;display:flex;align-items:center;gap:8px}
  .search b{color:#fff;font-weight:400}
  /* 宫格 */
  .grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 0;margin-top:16px}
  .gi{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:#DCE6FA;padding:8px 0}
  .gi .ic{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:19px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
  .gi.hot .ic{background:rgba(240,180,41,.2);border-color:rgba(240,180,41,.5)}
  .gi.hot span{color:#FFE3A1}

  /* 上浮内容区 */
  .float{margin-top:-36px;padding:0 12px}

  /* AI估分主卡 */
  .ai{background:linear-gradient(135deg,#1E5EFF,#4F8CFF);border-radius:var(--r-lg);padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(30,94,255,.35)}
  .ai::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
  .ai h3{font-size:18px;font-weight:800}
  .ai p{font-size:12px;color:#D7E3FF;margin-top:4px}
  .ai .go{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:#fff;color:var(--blue);font-size:13.5px;font-weight:800;border-radius:999px;padding:9px 20px}
  .ai .tagline{position:absolute;right:14px;bottom:14px;font-size:11px;color:#D7E3FF;z-index:1}

  /* 公告条 */
  .notice{display:flex;align-items:center;gap:9px;background:#fff;border-radius:var(--r);margin-top:12px;padding:10px 14px;font-size:12.5px;box-shadow:0 2px 10px rgba(11,27,58,.05)}
  .notice .nt{background:#FDECEA;color:#D93025;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 8px;flex:none}
  .notice .txt{flex:1;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .notice time{color:var(--ink-3);font-size:11px;flex:none}

  /* 区块通用 */
  .sec{padding:22px 12px 0}
  .sec-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px;margin-bottom:12px}
  .sec-head h2{font-size:17px;font-weight:800}
  .sec-head h2 i{font-style:normal;color:var(--blue)}
  .sec-head a{font-size:12px;color:var(--ink-3)}

  /* 分数线速查 横滑 */
  .hscroll{display:flex;gap:10px;overflow-x:auto;padding:2px 4px 8px;scrollbar-width:none}
  .hscroll::-webkit-scrollbar{display:none}
  .sc{flex:none;width:132px;background:#fff;border-radius:var(--r);padding:13px 14px;box-shadow:0 2px 10px rgba(11,27,58,.05)}
  .sc h4{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sc .v{font-size:21px;font-weight:800;color:var(--blue-dark);margin-top:4px}
  .sc .v em{font-style:normal;font-size:10.5px;font-weight:500;color:var(--ink-3)}
  .sc .tr{font-size:10.5px;font-weight:700;margin-top:1px}
  .sc .tr.up{color:#D93025}.sc .tr.dn{color:#0F9D58}

  /* 直播卡 */
  .live{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 2px 10px rgba(11,27,58,.05)}
  .live .lv-top{background:linear-gradient(120deg,#141F3D,#27407E);color:#fff;padding:15px 16px;display:flex;align-items:center;gap:10px}
  .live .dot{width:8px;height:8px;border-radius:50%;background:#FF5A5A;animation:pulse 1.4s infinite}
  @keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,90,90,.5)}50%{box-shadow:0 0 0 6px rgba(255,90,90,0)}}
  .live .lv-top b{font-size:14px}
  .live .lv-top span{font-size:11px;color:#A9BBDD;margin-left:auto}
  .live .lv-body{padding:14px 16px;display:flex;gap:12px}
  .live .thumb{width:104px;height:66px;border-radius:10px;background:linear-gradient(135deg,#1E3A8A,#4F8CFF);flex:none;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}
  .live .info h4{font-size:14px;line-height:1.45}
  .live .info p{font-size:11.5px;color:var(--ink-3);margin-top:5px}
  .live .info .btn{display:inline-block;margin-top:8px;background:var(--gold);color:#5A3A00;font-size:12px;font-weight:800;border-radius:999px;padding:5px 16px}

  /* 学校精选横滑卡 */
  .scard{flex:none;width:200px;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 10px rgba(11,27,58,.05)}
  .scard .pic{height:88px;display:flex;align-items:center;justify-content:center;font-size:32px;color:rgba(255,255,255,.85)}
  .p1{background:linear-gradient(135deg,#12306E,#1E5EFF)}
  .p2{background:linear-gradient(135deg,#0B1B3A,#2563EB)}
  .p3{background:linear-gradient(135deg,#1E3A8A,#4F8CFF)}
  .scard .bd{padding:11px 13px}
  .scard h4{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .scard .row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
  .scard .row .s{font-size:15px;font-weight:800;color:var(--blue-dark)}
  .scard .row .s em{font-style:normal;font-size:10px;color:var(--ink-3);font-weight:500}
  .scard .row .cert{font-size:9.5px;color:#0FA968;border:1px solid #0FA968;border-radius:999px;padding:1px 7px}

  /* 督学公益条 */
  .tutor{background:linear-gradient(150deg,#101A33,#22345F);border-radius:var(--r-lg);padding:18px;color:#fff;position:relative;overflow:hidden}
  .tutor::before{content:"";position:absolute;left:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:rgba(240,180,41,.12)}
  .tutor .tt{font-size:11.5px;color:#EBCE96;border:1px solid rgba(240,180,41,.45);border-radius:999px;display:inline-block;padding:2px 12px}
  .tutor h3{font-size:16.5px;margin-top:9px;line-height:1.4}
  .tutor p{font-size:12px;color:#A9BBDD;margin-top:6px}
  .tutor .go{position:relative;z-index:1;display:inline-flex;margin-top:12px;background:linear-gradient(135deg,var(--gold),#E8A616);color:#4A3200;font-size:13px;font-weight:800;border-radius:999px;padding:9px 22px}

  /* 晞伴免费体验条 */
  .xiban{background:linear-gradient(135deg,#6C4CF1,#9B7BFF);border-radius:var(--r-lg);padding:16px 18px;color:#fff;display:flex;align-items:center;gap:12px;margin-top:12px}
  .xiban .ic{font-size:26px;flex:none}
  .xiban h4{font-size:14.5px}
  .xiban p{font-size:11.5px;color:#E4DBFF;margin-top:2px}
  .xiban .go{margin-left:auto;background:#fff;color:var(--purple);font-size:12px;font-weight:800;border-radius:999px;padding:7px 15px;flex:none}

  /* 资讯列表 */
  .news{background:#fff;border-radius:var(--r-lg);padding:4px 16px;box-shadow:0 2px 10px rgba(11,27,58,.05)}
  .news .ni{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
  .news .ni:last-child{border-bottom:none}
  .news .thumb2{width:86px;height:60px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff}
  .news h4{font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .news .m{font-size:11px;color:var(--ink-3);margin-top:5px;display:flex;gap:10px}
  .news .m .hot{color:#D93025;font-weight:700}

  /* 页脚 */
  .ft{padding:26px 16px 14px;text-align:center;font-size:11px;color:var(--ink-3)}
  .ft .decl{color:#98A3B8;line-height:1.6}

  /* 底部 Tab */
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);display:flex;padding:8px 0 18px;box-shadow:0 -4px 20px rgba(11,27,58,.06)}
  .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--ink-3)}
  .tab .ti{font-size:21px;filter:grayscale(1);opacity:.55}
  .tab.on{color:var(--blue);font-weight:700}
  .tab.on .ti{filter:none;opacity:1}
  .tab.ai-tab .ti{width:40px;height:40px;margin-top:-16px;border-radius:50%;background:linear-gradient(135deg,#1E5EFF,#4F8CFF);display:flex;align-items:center;justify-content:center;font-size:19px;box-shadow:0 6px 16px rgba(30,94,255,.4);filter:none;opacity:1}

  /* 悬浮智能体 */
  /* ===== v12 · M FAB 增强（保留原金色调，加气泡 + Tag 展开 + 呼吸动效） ===== */
  .fab{position:fixed;right:14px;bottom:82px;width:48px;height:48px;border-radius:50%;
    background:linear-gradient(135deg,var(--gold),#E8A616);color:#4A3200;
    display:flex;align-items:center;justify-content:center;font-size:21px;
    box-shadow:0 8px 22px rgba(240,180,41,.45);z-index:22;
    transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease;overflow:visible}
  .fab:hover{transform:scale(1.08);box-shadow:0 12px 28px rgba(240,180,41,.55)}
  .fab:active{transform:scale(.94)}
  .fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;opacity:0;
    animation:fab-pulse-m 2.4s ease-in-out infinite;z-index:-1}
  @keyframes fab-pulse-m{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.4;transform:scale(1.32)}}
  /* 提示气泡：位于 fab 左上方 */
  .fab-tip{position:fixed;right:72px;bottom:90px;max-width:210px;background:#1F2937;color:#fff;padding:11px 14px;
    border-radius:12px;font-size:12px;line-height:1.5;box-shadow:0 10px 26px rgba(16,24,40,.34);
    opacity:0;visibility:hidden;transform:translateX(6px);
    transition:opacity .38s ease,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s .38s;
    z-index:21;pointer-events:none}
  .fab-tip.show{opacity:1;visibility:visible;transform:none;
    transition:opacity .38s ease,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s 0s}
  .fab-tip::after{content:"";position:absolute;right:-6px;top:16px;width:12px;height:12px;background:#1F2937;transform:rotate(45deg);border-radius:2px}
  .fab-tip b{color:#FFD866;font-weight:700}
  /* M 端快捷提问 Tag：点开 fab 时上方浮出 */
  .fab-tags{position:fixed;right:14px;bottom:140px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:21;
    opacity:0;visibility:hidden;transform:translateY(6px);
    transition:opacity .32s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility 0s .32s}
  .fab-tags.show{opacity:1;visibility:visible;transform:none;
    transition:opacity .32s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility 0s 0s}
  .fab-tag{padding:9px 14px;border-radius:999px;background:#fff;color:#2A57D8;border:1px solid #DDE5FF;
    font-size:12px;cursor:pointer;white-space:nowrap;font-weight:500;box-shadow:0 6px 16px rgba(16,24,40,.14);
    transition:transform .22s ease}
  .fab-tag:active{transform:scale(.96)}

  .sc .rk{font-size:10.5px;color:var(--ink-3);margin-top:2px;font-variant-numeric:tabular-nums}

/* 学情评估留资表单（09-26） */
  .tutor .zt-form{position:relative;z-index:1;margin-top:12px;display:flex;flex-direction:column;gap:8px}
  .tutor .zt-form input{width:100%;box-sizing:border-box;border:0;border-radius:10px;padding:11px 13px;font-size:14px;background:#fff;color:#1a2233;outline:none}
  .tutor .zt-form input::placeholder{color:#98A6C3}
  .tutor .zt-form button{border:0;border-radius:999px;padding:11px;font-size:14px;font-weight:800;background:linear-gradient(135deg,var(--gold),#E8A616);color:#4A3200;width:100%;cursor:pointer}
  .tutor .zt-form button[disabled]{opacity:.6}
  .tutor .zt-form .zt-tip{font-size:11px;color:#A9BBDD;margin:2px 0 0;text-align:center}
