:root{
  --green:#0FA958; --green-d:#0B8A48; --green-2:#10B45E; --green-l:#E6F6EE;
  --orange:#FF7A1A; --orange-d:#E86A0F; --orange-l:#FFF2E6;
  --teal:#00B8A9; --teal-d:#009E8E; --teal-l:#E0F8F6;
  --purple:#7C5CE0; --purple-d:#6D4FD1; --purple-l:#F0EBFD;
  --bg:#F5F8F6; --bg2:#EFF4F1; --card:#FFFFFF; --ink:#161F1A; --sub:#64736B; --line:#E8EEE9;
  --red:#E5533C; --blue:#3B82F6;
  --shadow:0 1px 2px rgba(18,38,28,.05),0 10px 26px rgba(18,38,28,.07);
  --shadow2:0 2px 6px rgba(15,169,88,.10),0 12px 30px rgba(15,169,88,.18);
  --shadow-orange:0 2px 6px rgba(255,122,26,.10),0 12px 30px rgba(255,122,26,.18);
  --shadow-teal:0 2px 6px rgba(0,184,169,.10),0 12px 30px rgba(0,184,169,.18);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
  overscroll-behavior-y:none;}
#app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);
  display:flex;flex-direction:column;position:relative;padding-bottom:112px;}
/* 底部固定条＝品牌条+导航条（约 96px）；iPhone 还要叠安全区，若不留，最后一屏会被压住。
   → padding-bottom 必须跟着 bottom-bar 一起含 env(safe-area-inset-bottom)。 */
@supports (padding:env(safe-area-inset-bottom)){
  #app{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px));}
}
.boot{padding:40px;text-align:center;color:var(--sub);}

/* 顶栏 */
.topbar{background:
    radial-gradient(130% 140% at 88% -30%,rgba(22,201,126,.24),transparent 56%),
    linear-gradient(135deg,#0E2318,#081510);color:#fff;
  padding:calc(12px + env(safe-area-inset-top,0px)) 12px 14px;
  position:relative;height:calc(48px + env(safe-area-inset-top,0px));box-shadow:0 6px 20px rgba(8,21,16,.26);}
.topbar .back{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.22);color:#fff;
  height:34px;padding:0 14px 0 10px;border-radius:17px;cursor:pointer;backdrop-filter:blur(4px);z-index:5;
  display:inline-flex;align-items:center;gap:3px;touch-action:manipulation;font-family:inherit;}
.topbar .back svg{width:16px;height:16px;flex:none}
.topbar .back i{font-style:normal;font-size:15px;font-weight:800;letter-spacing:1px;line-height:1}
.topbar .back:active{transform:translateY(-50%) scale(.94);}
.topbar .back i{display:block}
.tb-logo{position:absolute;left:12px;top:50%;transform:translateY(-50%);height:21px;width:auto;display:block;z-index:4;
  filter:drop-shadow(0 1px 4px rgba(0,0,0,.35));}
.topbar.has-back .tb-logo{left:82px;}
.tb-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 190px);
  font-size:16px;font-weight:900;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-align:center;z-index:2;}

/* 内容区 */
.view{flex:1;padding:14px;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.section-title{font-size:14px;color:var(--sub);margin:18px 2px 10px;font-weight:800;letter-spacing:.4px;}
.zone-hint{font-size:12px;color:var(--sub);opacity:.78;margin:0 2px 6px;line-height:1.42;background:rgba(120,140,180,.07);padding:6px 10px;border-radius:8px;}

/* 英语专区 hero */
.ehero{background:
    radial-gradient(120% 90% at 85% -20%, rgba(0,184,169,.25), transparent 55%),
    linear-gradient(155deg,#0E5A52,#063B37);
  color:#fff;border-radius:22px;padding:24px 20px;box-shadow:0 12px 32px rgba(6,59,55,.35);
  position:relative;overflow:hidden;margin-bottom:14px;}
.ehero:before{content:"";position:absolute;right:-34px;top:-34px;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,184,169,.30),transparent 70%);}
.ehero:after{content:"";position:absolute;left:-20px;bottom:-20px;width:80px;height:80px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,26,.22),transparent 70%);}
.ehero-t{font-size:24px;font-weight:900;letter-spacing:1px;position:relative;}
.ehero-s{margin-top:10px;font-size:14px;opacity:.94;line-height:1.6;position:relative;}

/* 记忆专区 · 英语快速入口 hero */
.hero{display:flex;align-items:center;gap:14px;background:
    radial-gradient(120% 90% at 85% -20%, rgba(0,184,169,.25), transparent 55%),
    linear-gradient(155deg,#13291E,#0A1B12);
  border-radius:20px;padding:18px 16px;margin-bottom:14px;box-shadow:0 12px 30px rgba(8,21,16,.30);
  cursor:pointer;position:relative;overflow:hidden;color:#fff;transition:all .18s;}
.hero:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,122,26,.28),transparent 70%);}
.hero:active{transform:scale(.985);}
.hero h3{font-size:18px;font-weight:900;margin:0;letter-spacing:.5px;}
.hero p{font-size:13px;opacity:.82;margin:6px 0 0;line-height:1.55;}
.hero .go{flex:0 0 auto;border:none;cursor:pointer;font-weight:800;font-size:15px;color:#fff;
  background:linear-gradient(135deg,var(--orange),#FF5A1F);padding:12px 18px;border-radius:999px;
  box-shadow:0 8px 20px rgba(255,90,31,.35);white-space:nowrap;transition:all .15s;}
.hero .go:active{transform:scale(.96);background:#FF5A1F;}

/* 并列模块卡 */
.emod{background:var(--card);border-radius:18px;padding:16px;margin-bottom:12px;display:flex;align-items:center;gap:14px;
  box-shadow:var(--shadow);border:1.5px solid var(--line);cursor:pointer;transition:all .18s;position:relative;overflow:hidden;}
.emod:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,22,40,.12);border-color:#d6e4dd;}
.emod:active{transform:scale(.985);}
.emod.expanded{border-color:var(--green);box-shadow:var(--shadow2);}
.emod .em-ic{font-size:28px;line-height:1;width:54px;height:54px;flex:0 0 54px;display:flex;align-items:center;
  justify-content:center;overflow:hidden;border-radius:14px;color:#fff;}
/* 万一将来又有非图标内容漏进来：单字则收敛字号，绝不撑破方框 */
.emod .em-ic.txt{font-size:20px;font-weight:900;}
.emod:nth-child(4n+1) .em-ic{background:linear-gradient(135deg,var(--green),var(--green-2));box-shadow:var(--shadow2);}
.emod:nth-child(4n+2) .em-ic{background:linear-gradient(135deg,var(--orange),var(--orange-d));box-shadow:var(--shadow-orange);}
.emod:nth-child(4n+3) .em-ic{background:linear-gradient(135deg,var(--teal),var(--teal-d));box-shadow:var(--shadow-teal);}
.emod:nth-child(4n+4) .em-ic{background:linear-gradient(135deg,var(--blue),#2563EB);box-shadow:0 10px 28px rgba(59,130,246,.22);}
.em-body{flex:1;min-width:0;}
.em-t{font-size:16px;font-weight:800;}
.em-d{font-size:13px;color:var(--sub);margin-top:3px;}
.em-go{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--green-l);color:var(--green);
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;transition:all .2s;}
.emod.expanded .em-go{transform:rotate(90deg);}
.emod-panel{margin:-6px 0 14px;background:var(--card);border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--line);
  padding:14px;animation:slideDown .22s ease;}
@keyframes slideDown{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* 进度条 */
.pbar{display:flex;align-items:center;gap:8px;margin:8px 0 2px;}
.pbar .pct{font-size:13px;font-weight:800;color:var(--green);min-width:38px;}
.pbar .track{flex:1;height:8px;background:var(--bg2);border-radius:999px;overflow:hidden;}
.pbar .fill{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-2));border-radius:999px;transition:width .4s;}
.pbar .num{font-size:12px;color:var(--sub);min-width:52px;text-align:right;}

/* 标签 */
.tag{font-size:15px;padding:2px 9px;border-radius:999px;font-weight:700;}
.tag.l{background:#E6F6EE;color:var(--green);}
.tag.m{background:#FFEFE4;color:var(--orange-d);}
.tag.pool{background:#EEF1F5;color:#6B7A9A;font-size:11px;}
.tag.ok{background:#E6F6EE;color:var(--green);font-size:11px;}

/* 网格 */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.tile{background:linear-gradient(170deg,#FFFFFF,#F8FBF9);border-radius:18px;padding:14px 10px;text-align:center;
  box-shadow:0 1px 2px rgba(18,38,28,.04),0 8px 18px rgba(18,38,28,.05);position:relative;border:1px solid #E4ECE7;transition:all .15s;}
.tile:before{content:'';position:absolute;top:0;left:16px;right:16px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--sc1,#0FA958),transparent);opacity:.5;}
.tile.add:before{display:none;}
.tile:active{transform:translateY(-2px);box-shadow:var(--shadow2);}
.tile .subj-ic{margin:2px auto 6px;}
.subj-ic{display:flex;align-items:center;justify-content:center;position:relative;}
.subj-ic:before{content:'';position:absolute;inset:0;border-radius:inherit;background:#fff;opacity:.88;}
.subj-ic svg{width:54%;height:54%;display:block;position:relative;z-index:1;}
.subj-ic .mono{color:currentColor;font-weight:900;font-size:22px;line-height:1;position:relative;z-index:1;}
.tile .nm{font-size:14px;font-weight:800;margin-top:6px;letter-spacing:.02em;}
.tile .cnt{font-size:12px;color:var(--sub);margin-top:2px;}
.tile.add{border:1.5px dashed var(--green);color:var(--green);display:flex;flex-direction:column;
  align-items:center;justify-content:center;font-weight:700;}
.tile .del{position:absolute;top:4px;right:6px;color:#c4cdc8;font-size:14px;}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;position:relative;
  border-radius:15px;padding:14px 20px;font-size:15.5px;font-weight:800;cursor:pointer;width:100%;
  transition:transform .15s cubic-bezier(.22,.9,.32,1),box-shadow .15s ease,filter .15s ease;letter-spacing:.2px;}
.btn:active{transform:scale(.975);}
.btn.green{background:linear-gradient(180deg,#12B45E 0%,#0B8A48 100%);color:#fff;border:1px solid #0A7A40;
  box-shadow:0 1px 2px rgba(11,138,72,.30),0 8px 20px rgba(15,169,88,.24),inset 0 1px 0 rgba(255,255,255,.30);}
.btn.green:active{filter:brightness(.94);}
.btn.orange{background:linear-gradient(180deg,#FF8A33 0%,#E86A0F 100%);color:#fff;border:1px solid #D4600C;
  box-shadow:0 1px 2px rgba(232,106,15,.28),0 8px 20px rgba(255,122,26,.22),inset 0 1px 0 rgba(255,255,255,.32);}
.btn.orange:active{filter:brightness(.94);}
.btn.ghost{background:linear-gradient(180deg,#FFFFFF,#F6FAF7);color:var(--green-d);border:1.5px solid rgba(15,169,88,.42);
  box-shadow:0 1px 2px rgba(18,38,28,.04),inset 0 1px 0 #fff;}
.btn.ghost:active{background:var(--green-l);}
.btn.gray{background:linear-gradient(180deg,#F5F8F6,#E9EFEB);color:#4A5A52;border:1px solid #DEE7E2;
  box-shadow:0 1px 2px rgba(18,38,28,.04),inset 0 1px 0 #fff;}
.btn.sm{width:auto;padding:9px 16px;font-size:14px;border-radius:12px;}
.btn.xs{font-size:12.5px;padding:7px 13px;border-radius:11px;}
.btn.big{padding:17px;font-size:17.5px;border-radius:18px;margin-top:14px;
  box-shadow:0 1px 2px rgba(11,138,72,.28),0 12px 26px rgba(15,169,88,.22),inset 0 1px 0 rgba(255,255,255,.28);}
/* 按钮内图标：统一 19px + 半透明白底盘＝现代图标座 */
.btn svg{width:19px;height:19px;flex:0 0 auto;padding:2.5px;border-radius:7px;background:rgba(255,255,255,.18);}
.btn.ghost svg,.btn.gray svg{background:rgba(15,169,88,.10);}
.row{display:flex;gap:10px;}
.row .btn{flex:1;}
.row.big .btn{height:60px;font-size:17px;border-radius:16px;}

/* 列表卡 */
.list{display:flex;flex-direction:column;gap:10px;}
.item{background:var(--card);border-radius:16px;padding:14px;box-shadow:var(--shadow);border:1px solid var(--line);transition:all .12s}
/* 我的页：顶部六按钮（2026-11-03f 与小程序完全对齐）
   原来是三列大方块（图标上、标题中、灰色副标题下），占掉小半屏，家长要往下翻才看得全。
   现在改成两排三列胶囊：图标与文字同一行、高 44px、去掉副标题，一屏看全六个入口。
   数值取自小程序 pages/member/member.wxss 的 .mine-quick / .mq-btn，两端逐项相同。 */
.mine-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 -6px 12px}
.mq-btn{box-sizing:border-box;position:relative;width:100%;min-width:0;max-width:100%;height:44px;padding:0 6px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;overflow:hidden;font-family:inherit;color:inherit;cursor:pointer}
.mq-btn:active{transform:translateY(1px)}
.mq-ic{width:16px;height:16px;flex:none;color:var(--green);display:flex;align-items:center;justify-content:center}
.mq-ic svg{width:16px;height:16px}
.mq-t{font-size:13.5px;font-weight:800;line-height:1;white-space:nowrap;color:var(--ink)}
.mq-b{display:none}
.card-pad{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);border:1px solid var(--line)}
.tip{font-size:13px;color:var(--sub);line-height:1.7;margin:0}
.mq-tip{font-size:12px;color:var(--sub);line-height:1.65;margin-top:12px;padding:0 2px}
.item:active{transform:scale(.992);}
.item .t{font-weight:800;font-size:15px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.item .b{color:var(--sub);font-size:14px;margin-top:4px;white-space:pre-wrap;word-break:break-word;}
.item .meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px;}
.item.wb{cursor:pointer;}
/* 句子带出处：分层标题 + 出处标注 */
.tier-h{display:flex;align-items:center;gap:8px;margin:16px 2px 8px;}
.tier-badge{font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;color:#fff;}
.tier-badge.t-保底核心{background:linear-gradient(135deg,#0FA958,#0c8f4a);}
.tier-badge.t-高分进阶{background:linear-gradient(135deg,#3B82F6,#2563EB);}
.tier-badge.t-冲分顶级{background:linear-gradient(135deg,#F5A623,#E8742C);}
.tier-badge.t-其他{background:#94A3B8;}
.tier-n{font-size:13px;color:var(--sub);font-weight:700;}
.item.sent .t{font-size:15px;line-height:1.4;}
.s-src{font-size:12.5px;color:#7A6A3A;background:#FBF6E8;border-left:3px solid #E0B84A;
  border-radius:0 8px 8px 0;padding:6px 10px;margin-top:8px;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
.ex.src{color:#7A6A3A;background:#FBF6E8;border-left:3px solid #E0B84A;border-radius:0 8px 8px 0;padding:6px 10px;margin-top:6px;}
.m-img{max-width:100%;max-height:220px;border-radius:10px;display:block;margin:6px 0;cursor:pointer;object-fit:contain;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.item img{max-width:100%;border-radius:10px;margin-top:8px;}
.item .ops{display:flex;gap:8px;margin-top:8px;}
.item .ops button{flex:1;font-size:13px;padding:7px;border-radius:9px;border:1px solid var(--line);
  background:#fff;color:var(--sub);cursor:pointer;transition:all .12s;font-weight:700;}
.item .ops button:active{background:var(--bg2);color:var(--green);border-color:var(--green);}

/* 书详情卡 */
.bdcard{background:var(--card);border-radius:20px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--line);}
.bdc-name{font-size:19px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.bdc-desc{color:var(--sub);font-size:14px;margin:8px 0 4px;}
.bdc-note{font-size:13px;color:var(--sub);background:var(--bg2);border-radius:12px;padding:10px 12px;margin:10px 0;line-height:1.6;}
.goal{display:flex;align-items:center;justify-content:space-between;margin:14px 0 4px;font-size:14.5px;font-weight:700;}
.stepper{display:flex;align-items:center;gap:14px;}
.stepper button{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:#fff;
  font-size:20px;font-weight:800;color:var(--green);cursor:pointer;transition:all .12s;}
.stepper button:active{background:var(--green-l);transform:scale(.95);}
.stepper b{font-size:18px;min-width:28px;text-align:center;}

/* 抽卡大卡 */
.study{display:flex;flex-direction:column;height:calc(100vh - 130px);}
.study-top{margin-bottom:8px;}
.dayinfo{font-size:13px;color:var(--sub);margin-top:4px;text-align:center;}
.card-face{background:linear-gradient(160deg,#ffffff,#f6fbf8);border-radius:24px;flex:1;margin:6px 0;
  padding:26px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  box-shadow:var(--shadow);border:1px solid var(--line);cursor:pointer;animation:pop .25s ease;user-select:none;}
.card-face:active{transform:scale(.995);}
@keyframes pop{from{opacity:0;transform:scale(.97);}to{opacity:1;transform:none;}}
.card-face.flipped{background:linear-gradient(160deg,#ffffff,#eefaf3);}
.card-face .q{font-size:32px;font-weight:900;word-break:break-word;line-height:1.3;}
.card-face .q.sent{font-size:23px;font-weight:800;line-height:1.5;}
.speak{background:linear-gradient(135deg,var(--green),var(--green-2));color:#fff;border:none;border-radius:50%;
  width:58px;height:58px;font-size:24px;margin-top:16px;box-shadow:var(--shadow2);cursor:pointer;transition:all .15s;}
.speak:active{transform:scale(.95);box-shadow:0 4px 12px rgba(15,169,88,.3);}
.card-face .ph{color:var(--green-d);margin-top:14px;font-size:19px;font-weight:700;font-style:italic;}
.card-face .pos{color:var(--sub);font-size:14px;margin-top:2px;}
.card-face .a{margin-top:14px;font-size:19px;color:var(--ink);font-weight:700;line-height:1.5;}
.card-face .ex{margin-top:12px;font-size:14.5px;color:var(--sub);line-height:1.7;text-align:left;width:100%;
  background:var(--bg2);border-radius:12px;padding:10px 12px;}
.card-face .hint{color:var(--sub);font-size:14px;margin-top:18px;}
.card-face .hint.tap{opacity:.8;}
.bing{margin-top:14px;background:#EAF2FF;color:var(--blue);border:1.5px solid #cfe0ff;}

/* 听力 */
.card-face.listen{justify-content:flex-start;gap:6px;}
.li-q{font-size:17px;font-weight:800;margin:14px 0 10px;text-align:left;width:100%;}
.li-opts{display:flex;flex-direction:column;gap:10px;width:100%;}
.li-opt{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;font-size:15px;
  text-align:left;cursor:pointer;font-weight:600;transition:all .12s;}
.li-opt:active{background:var(--bg2);}
.li-ans{font-size:15px;font-weight:800;color:var(--green-d);margin:8px 0;width:100%;text-align:left;}
.li-script{font-size:14.5px;color:var(--ink);line-height:1.7;text-align:left;width:100%;background:var(--bg2);
  border-radius:12px;padding:12px;}
.li-result{font-size:20px;font-weight:900;width:100%;text-align:center;padding:10px;border-radius:12px;}
.li-result.ok{background:#E6F6EE;color:var(--green);}
.li-result.no{background:#FFEAE6;color:var(--red);}

/* 外部资源 */
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.res{background:var(--card);border-radius:14px;padding:13px;border:1px solid var(--line);box-shadow:var(--shadow);
  text-decoration:none;display:block;transition:all .12s;}
.res:active{transform:scale(.97);}
.res-n{font-size:14.5px;font-weight:800;color:var(--ink);}
.res-n .ext{color:var(--green);font-size:13px;}
.res-d{font-size:12px;color:var(--sub);margin-top:3px;line-height:1.5;}

/* 表单 */
.field{margin:10px 0;}
.field label{font-size:14px;color:var(--sub);display:block;margin-bottom:5px;font-weight:600;}
.field input,.field textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;
  padding:12px;font-size:15px;font-family:inherit;background:#fff;resize:vertical;transition:all .15s;}
.field input:focus,.field textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(15,169,88,.1);}
.field textarea{min-height:88px;}
.switch{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink);font-weight:600;margin-top:6px;}
/* 鼓励语列表（可新增 / 删除） */
.ec-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.ec-item{display:flex;align-items:center;gap:8px;background:var(--bg2);border-radius:10px;padding:7px 10px;}
.ec-item .ec-tx{flex:1;font-size:14px;font-weight:600;word-break:break-word;}
.ec-item .ec-del{border:none;background:transparent;color:var(--red);font-size:14.5px;cursor:pointer;padding:2px 6px;line-height:1;}
.ec-add{margin-top:8px;align-items:stretch;}
.ec-add input{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:11px;font-size:14.5px;font-family:inherit;background:#fff;}
.ec-add input:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(15,169,88,.1);}

/* 底部 tab */
/* 底部＝「品牌条 ＋ 导航条」一体固定：品牌条贴在导航条正上方 = 可视区里最低的可视位置（此前品牌条在文档流里，
   被 position:fixed 的导航条整个盖住 → 用户反馈"王高粽教育和粽子 logo 被导航条挡住"） */
.bottom-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:480px;z-index:20;
  display:flex;flex-direction:column;background:var(--bg);}
/* 品牌条直接落在页面灰底上（用户：别把 logo+王高粽 套进白色导航条里）→ 容器用 --bg；
   上方加一层 18px 渐隐，内容滚到底时柔和淡出，不做硬切边 */
.bottom-bar:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px;pointer-events:none;
  background:linear-gradient(180deg,rgba(245,248,246,0),#F5F8F6);}
/* 白底只包导航条本身，并让白底一直铺到屏幕最底（含安全区）；原来是 .bottom-bar 在白底内、且导航条带虚线 */
.tabbar{position:relative;bottom:auto;left:auto;transform:none;width:100%;max-width:none;
  background:rgba(255,255,255,.86);border-top:1px solid rgba(18,38,28,.06);
  backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);
  display:flex;flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom,0px);}
.tabbar button{flex:1;border:none;background:none;padding:9px 0 11px;color:var(--sub);font-size:11px;
  display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:all .15s;}
.tabbar button .ic{font-size:20px;}
.tabbar button .ic svg{width:22px;height:22px;display:block;margin:0 auto;stroke:currentColor;}
.tabbar button.on{color:var(--green-d);font-weight:800;}
.tabbar button.on .ic{filter:drop-shadow(0 2px 10px rgba(15,169,88,.45));}
.tabbar button.on .ic svg{stroke-width:2.05;}
.tabbar button:active{color:var(--green);}
.tabbar button.disabled{opacity:.32;}
.tabbar button.disabled:active{color:var(--sub);}

/* 弹层 */
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:flex-end;z-index:40;}
.sheet .box{background:#fff;width:100%;max-width:480px;margin:0 auto;border-radius:22px 22px 0 0;
  padding:18px;animation:up .25s ease;box-shadow:0 -12px 40px rgba(18,38,28,.18);}
@keyframes up{from{transform:translateY(100%);}to{transform:none;}}
.sheet .box h3{margin:0 0 12px;font-size:16px;}
.toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:rgba(22,33,27,.92);
  color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;z-index:60;animation:fade .2s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 28px rgba(0,0,0,.20);}

/* 登录 */
.login{max-width:480px;margin:0 auto;padding:0;min-height:100vh;display:flex;flex-direction:column;position:relative;}
.login .hd{background:
    radial-gradient(120% 80% at 82% -10%, rgba(0,184,169,.22), transparent 58%),
    radial-gradient(120% 90% at 0% 120%, rgba(255,122,26,.16), transparent 55%),
    linear-gradient(160deg,#12281D,#0A1B12);
  color:#fff;padding:56px 24px 44px;text-align:center;position:relative;overflow:hidden;}
.login .hd:before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,184,169,.30),transparent 70%);}
.login .hd .logo-img{height:76px;width:auto;display:block;margin:0 auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.18));}
.login .hd .slogan{margin-top:14px;font-size:14.5px;opacity:.94;line-height:1.7;position:relative;}
.login .attribution{position:absolute;right:16px;bottom:14px;font-size:11px;font-weight:600;opacity:.92;
  background:rgba(255,255,255,.14);padding:4px 10px;border-radius:999px;backdrop-filter:blur(4px);}
.login .bd{padding:28px 22px;}
.login .bd p{color:var(--sub);font-size:14px;line-height:1.7;}
.login .codes{background:#F0F5F2;border-radius:14px;padding:14px;font-size:13px;color:var(--sub);margin:12px 0;}
.caps{display:flex;gap:8px;flex-wrap:wrap;}
.caps span{background:#E6F6EE;color:var(--green);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700;cursor:pointer;transition:all .12s;}
.caps span:active{background:var(--green);color:#fff;}
.subtab{display:flex;background:#EDF1EF;border-radius:12px;padding:4px;margin:10px 0;}
.subtab button{flex:1;border:none;background:none;padding:9px;border-radius:9px;font-weight:700;color:var(--sub);font-size:14.5px;cursor:pointer;transition:all .12s;}
.subtab button.on{background:#fff;color:var(--green);box-shadow:0 2px 6px rgba(0,0,0,.06);}
.empty{text-align:center;color:var(--sub);padding:30px 10px;font-size:14px;}
.empty .big{font-size:34px;margin-bottom:8px;}

/* 归因卡 */
.diag{background:linear-gradient(135deg,#0FA958,#13B06A);color:#fff;border-radius:18px;padding:16px;margin-top:10px;box-shadow:var(--shadow2);}
.diag h4{margin:0 0 8px;font-size:14.5px;opacity:.9;}
.diag .k{font-size:14px;margin:6px 0;}
.diag .k b{font-weight:800;}
.diag .note{font-size:12px;opacity:.8;margin-top:8px;border-top:1px solid rgba(255,255,255,.25);padding-top:6px;}
/* 高考真题对照（掏空 GAOKAO-Bench + Dataset，2010–2024 共 3072 题，99% 带标准解析） */
.diag .ref{margin-top:12px;}
.diag .ref > b{font-size:14px;display:block;margin-bottom:8px;letter-spacing:.3px;}
.refitem{background:rgba(255,255,255,.14);border-radius:12px;padding:10px 12px;margin:8px 0;border-left:3px solid rgba(255,255,255,.55);}
.refmeta{font-size:12px;opacity:.88;font-weight:800;margin-bottom:4px;}
.refq{font-size:13.5px;line-height:1.55;margin-bottom:6px;}
.refa{font-size:13px;line-height:1.55;opacity:.95;}
.refa b{font-weight:800;}
.refempty{font-size:12px;opacity:.75;margin-top:6px;}
/* 深度解析视图（Phase 2）：标准答案 + A/B/C/D 选项 + 考频 + 满意度反馈 —— 均位于深底 .diag 内，用亮色字 */
.ref-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#fff;font-size:15px;font-weight:800;margin-bottom:8px;letter-spacing:.3px;}
.ref-kf{font-size:12px;font-weight:700;background:rgba(255,255,255,.20);color:#fff;border-radius:20px;padding:2px 9px;}
.ref-kf.hf{background:rgba(255,255,255,.36);} .ref-kf.mf{background:rgba(255,255,255,.26);} .ref-kf.lf{background:rgba(255,255,255,.16);}
.ref-opts{margin:6px 0;}
.ref-opt{display:flex;gap:7px;align-items:flex-start;background:rgba(255,255,255,.10);border-radius:9px;padding:6px 9px;margin:4px 0;font-size:13.5px;line-height:1.5;color:#fff;}
.ref-opt.ok{background:rgba(255,255,255,.30);border:1px solid rgba(255,255,255,.75);font-weight:800;}
.ref-ol{flex:0 0 auto;font-weight:800;} .ref-corr{margin-left:6px;font-size:12px;opacity:.92;}
.ref-ans{display:inline-block;margin:6px 0 2px;background:rgba(255,255,255,.24);color:#fff;font-weight:800;font-size:13px;border-radius:20px;padding:3px 11px;}
.ref-fb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.25);font-size:13px;color:#fff;}
.ref-fb-l{flex:1;min-width:110px;opacity:.9;}
.rfb{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:4px 12px;font-size:13px;cursor:pointer;}
.rfb.on{background:#fff;color:#0FA958;font-weight:800;border-color:#fff;}
.ref-fb-t{font-size:12px;opacity:.85;}
/* 即时深度解析层（.box 为浅底，用深字） */
.deepex .box{max-height:88vh;overflow:auto;}
.dexp-box h3{margin:0 0 6px;}
.dexp-tip{font-size:13px;color:var(--sub);margin:0 0 12px;line-height:1.55;}
.dexp-foot{font-size:12px;color:var(--sub);margin:10px 0 0;}
.dex-card{border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;background:var(--card);}
.dex-h{font-size:13px;font-weight:800;color:var(--ink);margin-bottom:6px;}
.dex-card .t{font-size:14px;line-height:1.5;color:var(--ink);margin-bottom:8px;word-break:break-word;}
.dex-card .diag{margin-top:4px;}

/* ---------- 通关庆祝 ---------- */
.cheer{position:relative;text-align:center;padding:10px 0 4px;}
.cheer .cheer-emoji{font-size:64px;display:inline-block;animation:bounceIn .7s cubic-bezier(.2,1.6,.4,1);}
@keyframes bounceIn{0%{transform:scale(0);}60%{transform:scale(1.25);}100%{transform:scale(1);}}
.cheer .cheer-title{font-size:22px;font-weight:900;margin-top:10px;color:var(--green-d);}
.cheer .cheer-sub{font-size:14.5px;color:var(--sub);margin-top:6px;line-height:1.7;}
.cheer .cheer-stats{display:flex;gap:10px;justify-content:center;margin:16px 0 4px;}
.cheer .cstat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 16px;min-width:88px;box-shadow:var(--shadow);}
.cheer .cstat b{display:block;font-size:22px;font-weight:900;color:var(--green);}
.cheer .cstat span{font-size:12px;color:var(--sub);}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden;}
.confetti i{position:absolute;top:-4vh;width:9px;height:14px;border-radius:2px;opacity:.95;
  animation:cfall linear forwards;}
@keyframes cfall{to{transform:translateY(108vh) rotate(720deg);opacity:.9;}}
.confetti i:nth-child(3n){width:7px;height:7px;border-radius:50%;}
.confetti i:nth-child(4n){width:12px;height:6px;}
/* 断点续背提示条 */
.resume-bar{background:#FFF7E8;border:1.5px solid #FFD9A0;border-radius:16px;padding:14px;margin:10px 0;
  display:flex;align-items:center;gap:12px;}
.resume-bar .rb-ic{font-size:26px;}
.resume-bar .rb-tx{flex:1;font-size:14px;line-height:1.5;color:var(--ink);}
.resume-bar .rb-tx b{color:var(--orange-d);}
/* 记忆卡视图 */
.mcard{background:var(--card);border-radius:16px;padding:14px;box-shadow:var(--shadow);border:1px solid var(--line);margin-bottom:10px;}
.mcard .m-front{font-weight:800;font-size:15px;line-height:1.55;word-break:break-word;}
.mcard .m-back{margin-top:8px;color:var(--sub);font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;}
.mcard .m-ops{display:flex;gap:8px;margin-top:10px;}
.mcard .m-ops button{flex:1;font-size:13.5px;padding:9px;border-radius:10px;border:1.5px solid var(--line);background:#fff;color:var(--sub);cursor:pointer;font-weight:700;}
.mcard .m-ops button.yes{border-color:var(--green);color:var(--green);}
.mcard .m-ops button:active{transform:scale(.97);}
.mcard.done{opacity:.66;}
.memtag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--teal-l);color:var(--teal-d);font-weight:800;margin-left:6px;}

/* 考频 pill（高频/中频/低频 三色） */
.ft{display:inline-block;font-size:15px;padding:2px 8px;border-radius:999px;font-weight:800;margin-left:6px;line-height:1.5;}
.ft.高频{background:#FFE9E4;color:#E5533C;}
.ft.中频{background:var(--orange-l);color:var(--orange-d);}
.ft.低频{background:#EEF2F5;color:#7A8A98;}
.m-tags{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.m-wrong{margin-top:7px;font-size:13.5px;color:var(--red);font-weight:600;line-height:1.5;}
.m-wrong b{font-weight:900;}
.m-bing{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:800;color:var(--blue);text-decoration:none;
  background:#EAF1FE;padding:5px 11px;border-radius:999px;}
.m-bing:active{background:#DCE8FC;}

/* 考频说明折叠条 */
.kaopin-note{background:linear-gradient(135deg,#F0F7FF,#EAF2FF);border:1.5px solid #CFE0FB;border-radius:14px;margin:10px 0;overflow:hidden;}
.kaopin-note .kn-h{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-weight:800;font-size:14px;color:#2B5FB0;cursor:pointer;}
.kaopin-note .kn-ar{font-size:13px;color:#2B5FB0;}
.kaopin-note .kn-b{padding:0 14px 13px;font-size:13.5px;line-height:1.75;color:#3A4A5C;}
.kaopin-note .kn-b b{color:#1A2620;}

/* 分类导入 */
.pack-cats{margin:8px 0 2px;}
.pack-cats .btn.green{margin-bottom:10px;}
.cat-list{display:flex;flex-direction:column;gap:8px;}
.cat-row{display:flex;align-items:center;gap:10px;background:#F7FAF8;border:1px solid var(--line);border-radius:12px;padding:9px 12px;}
.cat-meta{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;}
.cat-meta b{font-size:14px;font-weight:800;}
.cat-n{font-size:12px;color:var(--sub);}
.btn.purple{background:linear-gradient(180deg,#9775FA 0%,#7048E8 100%);color:#fff;border:1px solid #6741D9;
  box-shadow:0 1px 2px rgba(112,72,232,.30),0 8px 20px rgba(132,94,247,.24),inset 0 1px 0 rgba(255,255,255,.30);}
.btn.purple:active{filter:brightness(.94);}

/* 抽卡练习弹层 */
.draw-wrap{position:fixed;inset:0;background:rgba(13,22,18,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:18px;z-index:60;animation:fade .2s ease;}
.draw-box{width:100%;max-width:420px;background:var(--card);border-radius:22px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);
  display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow:auto;}
.draw-top{display:flex;align-items:center;justify-content:space-between;}
.draw-top b{font-size:16px;}
.draw-x{border:none;background:#F0F3F1;color:var(--sub);width:30px;height:30px;border-radius:50%;font-size:19px;cursor:pointer;line-height:1;flex:0 0 auto;}
.draw-x:active{transform:scale(.94);}
.draw-chips{display:flex;flex-wrap:wrap;gap:7px;}
.chip{border:1.5px solid var(--line);background:linear-gradient(180deg,#FFFFFF,#F7FAF8);color:var(--sub);font-size:13px;font-weight:700;padding:7px 14px;border-radius:999px;cursor:pointer;box-shadow:0 1px 2px rgba(18,38,28,.04),inset 0 1px 0 #fff;transition:all .15s;}
.chip.on{border-color:rgba(15,169,88,.55);background:linear-gradient(180deg,#EAF9F0,#DCF3E6);color:#0A7A40;box-shadow:0 2px 8px rgba(15,169,88,.18),inset 0 1px 0 rgba(255,255,255,.7);}

/* 记忆区：筛选 + 针对性抽卡 */
.filter-bar{display:flex;gap:8px;margin:4px 0 10px;}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2);}
.filter-panel{background:#F7F8FA;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:12px;}
.fp-grp{margin-bottom:8px;}
.fp-grp:last-of-type{margin-bottom:0;}
.fp-gt{font-size:13px;font-weight:800;color:var(--sub);margin:2px 0 6px;letter-spacing:.5px;}
.fp-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .15s;}
.fp-row:active{background:#ECF0F4;}
.fp-row.on{background:var(--green-l);}
.fp-box{width:20px;height:20px;border-radius:6px;border:1.6px solid #C7CBD1;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--green);font-weight:900;font-size:14px;flex:0 0 auto;}
.fp-row.on .fp-box{border-color:var(--green);background:var(--green);color:#fff;}
.fp-tx{font-size:14.5px;font-weight:700;color:#2B2F36;}
.fp-foot{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);}
.fp-sel{font-size:13px;color:var(--sub);}
.draw-card{position:relative;height:228px;border-radius:18px;transform-style:preserve-3d;transition:transform .5s;}
.dc-side{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;padding:22px;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
  background:linear-gradient(160deg,#13291E,#0A1B12);color:#fff;box-shadow:0 14px 36px rgba(8,21,16,.35);overflow:auto;}
.dc-back{transform:rotateY(180deg);background:linear-gradient(160deg,#0E5A52,#063B37);justify-content:flex-start;padding-top:30px;}
.draw-card.flipped{transform:rotateY(180deg);}
.dc-q{font-size:22px;font-weight:900;line-height:1.4;}
.dc-a{font-size:15px;line-height:1.75;text-align:left;}
.dc-tags{margin-top:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:center;}
.dc-cat{font-size:12px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;font-weight:700;}

/* 抽卡：新卡入场轻微动效 + 连击激励 + 高频必背提示 */
.draw-card.popin .dc-q{animation:qIn .34s cubic-bezier(.2,1.3,.4,1);}
.draw-card.popin .dc-a{animation:qIn .34s cubic-bezier(.2,1.3,.4,1);}
@keyframes qIn{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.dc-hint{margin-top:16px;font-size:13px;color:rgba(255,255,255,.72);animation:hintPulse 1.8s ease-in-out infinite;}
@keyframes hintPulse{0%,100%{opacity:.45;}50%{opacity:.9;}}
.streak-bar{text-align:center;font-size:14px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#FF7A1A,#E5533C);border-radius:999px;padding:8px 12px;margin-bottom:8px;
  box-shadow:0 4px 14px rgba(229,83,60,.28);animation:pop .3s ease;}
.kaopin-note{font-size:13px;color:var(--sub);background:#FFF7F0;border:1px solid #FFE3D0;border-radius:10px;padding:8px 10px;line-height:1.5;}

.draw-card .ft{background:rgba(255,255,255,.16);color:#fff;margin-left:0;}
.draw-card .ft.高频{background:rgba(229,83,60,.92);}
.draw-card .ft.中频{background:rgba(255,122,26,.92);}
.draw-card .ft.低频{background:rgba(122,138,152,.85);}
.draw-card .m-wrong{color:#FFB4A6;}
.draw-card .m-bing{background:rgba(255,255,255,.22);color:#fff;}
.draw-card .dc-hint{margin-top:16px;font-size:13px;color:rgba(255,255,255,.72);}
/* ⚠️ 卡面是深底：卡里那些「为浅底设计」的文字必须转亮，否则深字压深底＝看不见
   （「必备72篇」等专区卡的正面就是 .zc-t / .zc-sub，之前全糊在这一条） */
.draw-card .zc-t,.draw-card .zc-d{color:#FFFFFF;}
.draw-card .zc-sub{color:rgba(255,255,255,.78);}
.draw-card .zc-t.typos{color:#FF9E8C;text-decoration-color:rgba(255,158,140,.55);}
/* 展开/收起轻轻淡入一下，手感顺一点 */
.emod-panel{animation:panelIn .18s ease-out;}
@keyframes panelIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}
/* ---------- 抽卡：每轮张数可调（5 / 10 / 20 / 全部），抽不完也没关系 ---------- */
/* ⚠️ 抽卡弹层的底是浅色（.draw-box = --card 白）：这里一律用深色字。
   上一版照抄了深色卡面那套白字 → 白底白字，用户只看得见被选中的那个胶囊，反馈"看不到张数选择" */
.draw-size{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;}
.draw-size .ds-t{font-size:13.5px;color:var(--ink);font-weight:800;}
.ds-hint{font-size:12px;color:var(--sub);}
.ds-num{width:54px;height:29px;text-align:center;font-size:14.5px;font-weight:900;color:var(--ink);
  background:#F2F5F3;border:1.5px solid var(--line);border-radius:9px;font-family:inherit;padding:0 4px;}
.ds-num:focus{outline:none;border-color:var(--green);background:#fff;}
.ds-num::-webkit-outer-spin-button,.ds-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ds-num{-moz-appearance:textfield;appearance:textfield;}
.ds-chip{background:#F2F5F3;color:var(--ink);border:1.5px solid var(--line);border-radius:999px;
  padding:4px 11px;font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;}
.ds-chip:active{transform:scale(.96);}
.ds-chip.on{background:var(--green);border-color:var(--green);color:#fff;}
.draw-round{font-size:13px;color:var(--sub);font-weight:800;margin-left:auto;margin-right:8px;white-space:nowrap;}
.draw-size-wrap{margin:10px 0 4px;}
/* 卡背外链：点出去到平台上把全文 / 释义看全 */
.dc-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px;}
.dc-links .m-bing{margin-top:0;}
/* 分类里的「看全部 N 张」 */
.more-all{width:100%;margin-top:8px;}

.draw-prog{text-align:center;font-size:13px;color:var(--sub);}
.draw-btns{display:flex;gap:8px;}
.draw-btns .btn{flex:1;}
/* 本轮完成 */
.draw-done{text-align:center;padding:26px 12px 18px;}
.dd-emo{font-size:54px;line-height:1;margin-bottom:8px;}
.dd-t{font-size:19px;font-weight:900;color:#2B2F36;margin-bottom:6px;}
.dd-s{font-size:14.5px;color:var(--sub);margin-bottom:6px;}
.draw-empty{text-align:center;padding:30px 10px;font-size:16px;font-weight:800;color:var(--ink);}
.draw-empty span{display:block;margin-top:8px;font-size:13.5px;font-weight:500;color:var(--sub);line-height:1.6;}

/* 底部品牌页脚（导航按钮之上 · 居中水印） */
.brandfoot{display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px 4px;
  background:transparent;pointer-events:none;}
/* 粽子图标与「王高粽教育」同高同轴：两者盒子都是 16px，靠 align-items:center 精确对齐 */
.brandfoot .bf-logo{height:16px;width:auto;display:block;flex:0 0 auto;align-self:center;opacity:.72;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.18));}
/* 听力：点一套就在本页播（浅底页面，字一律深色；只有播放器头部是深底白字） */
.lh-pick{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 10px;}
.lh-year{text-decoration:none;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:13.5px;font-weight:800;
  padding:6px 11px;border-radius:999px;cursor:pointer;font-family:inherit;line-height:1.3;}
.lh-year:active{transform:scale(.97);}
.lh-year.on{border-color:var(--green);background:var(--green-l);color:var(--green-d);}
.lh-year.more{border-style:dashed;color:var(--sub);}
.lh-src{font-size:12.5px;color:var(--sub);line-height:1.6;margin:-4px 0 8px;}
.lh-frame-wrap{background:#0A1B12;border-radius:14px;overflow:hidden;margin:0 0 12px;box-shadow:var(--shadow);animation:panelIn .18s ease-out;}
.lh-frame-t{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#13291E;color:#fff;font-size:13.5px;font-weight:800;}
.lh-frame-t span{flex:1;min-width:0;}
.lh-frame-t a{margin-left:auto;color:#fff;background:rgba(255,255,255,.2);border-radius:999px;
  padding:3px 10px;font-size:12.5px;text-decoration:none;white-space:nowrap;}
.lh-frame{display:block;width:100%;height:210px;border:0;background:#000;}
.lh-frame-audio{height:96px;background:#fff;}
/* 播放器底部提示条：容器是深底 #0A1B12，文字必须用亮色（深底禁深字铁律）*/
.lh-frame-hint{padding:8px 12px 11px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.86);background:#0A1B12;}
/* 听力·真实原音 hub */
.lh-note{font-size:15px;line-height:1.6;color:#0B6B3F;background:#E8F8F0;border:1px solid #BDEBD6;border-radius:10px;padding:10px 12px;margin:2px 2px 12px;}
.typo-wrap{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 6px;}
.typo-pair{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #E4E9EC;border-radius:9px;padding:5px 9px;font-size:14px;line-height:1.4;}
.typo-w{color:#C0392B;text-decoration:line-through;text-decoration-color:rgba(192,57,43,.45);}
.typo-ar{color:#9AA6A0;font-size:12px;}
.typo-r{color:#0B6B3F;font-weight:700;}
/* 语文专区 · 作文人物素材 */
.item.essay{padding:12px 12px 13px;}
.item.essay .t{font-size:15px;font-weight:800;color:var(--ink);display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.item.essay .essay-loc{font-size:12px;font-weight:600;color:#5B6B8C;background:#EEF2F8;border-radius:6px;padding:2px 7px;}
.item.essay .b{font-size:13.5px;line-height:1.78;color:#3A4453;margin-top:2px;}
.essay-sub{font-size:12px;font-weight:700;color:#8A94A6;letter-spacing:.5px;margin:11px 0 5px;}
.fit-row{display:flex;flex-wrap:wrap;gap:6px;}
.fit-tag{font-size:12.5px;color:#0B6B3F;background:#E8F8F0;border:1px solid #BDEBD6;border-radius:20px;padding:3px 10px;font-weight:600;}
.fit-line{font-size:12px;font-weight:500;color:#8A94A6;margin-left:8px;}
.item.essay .ex{background:#F4F7FF;border-left:3px solid #6B8AFD;border-radius:0 8px 8px 0;padding:8px 11px;font-size:13.5px;line-height:1.8;color:#2C3550;}
.s-fix{font-size:12.5px;line-height:1.7;color:#8A5A16;background:#FFF7E8;border-left:3px solid #E8A93A;border-radius:0 8px 8px 0;padding:6px 10px;margin-top:6px;}
/* 语文专区 ⇄ 记忆卡：导入条 + 专区卡片版式（与专区同一套视觉） */
.zone-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#F5F1FF;border:1px solid #E0D8FB;border-radius:12px;padding:10px;margin:0 0 12px;}
.zone-bar .btn{width:auto;margin:0;flex:0 0 auto;}
.zone-bar .zb-n{flex:1 0 100%;font-size:12px;color:#6B6B8A;line-height:1.5;}
/* 分类面板：卡片预览后的"还有 N 张"提示 */
.more-n{font-size:15px;color:var(--sub);background:#F7FAFB;border:1px dashed #D7DEE2;border-radius:10px;padding:9px 12px;margin-top:10px;line-height:1.6;}
.memtag.zone{background:#F0EAFF;color:#6C3BD1;}
.zc-t{font-size:19px;font-weight:900;color:var(--ink);line-height:1.35;letter-spacing:.3px;text-align:left;}
.zc-t.typos{font-size:22px;color:#C0392B;text-decoration:line-through;text-decoration-color:rgba(192,57,43,.5);text-decoration-thickness:2px;}
.zc-sub{font-size:13px;color:var(--sub);margin-top:5px;line-height:1.55;text-align:left;}
.zc-d{font-size:15px;color:var(--ink);line-height:1.8;font-weight:600;text-align:left;}
.typo-pair.big{font-size:19px;padding:8px 13px;border-color:#CBD6D1;}
.m-front .ex,.m-back .ex,.dc-front .ex,.dc-back .ex{background:#F4F7FF;border-left:3px solid #6B8AFD;border-radius:0 8px 8px 0;padding:8px 11px;font-size:13.5px;line-height:1.8;color:#2C3550;margin-top:4px;text-align:left;}
.m-front .s-src,.m-back .s-src,.dc-front .s-src,.dc-back .s-src{margin-top:8px;text-align:left;}
.lh-grid{display:flex;flex-direction:column;gap:10px;margin:0 2px 4px;}
.lh-ch{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;text-decoration:none;
  background:#fff;border:1px solid #E4E9EC;border-radius:12px;padding:12px 14px;box-shadow:0 2px 8px rgba(20,40,60,.05);}
.lh-ch:active{transform:scale(.99);}
.lh-ch.static{cursor:default;background:#F7FAFB;}
.lh-n{font-size:14.5px;font-weight:800;color:var(--ink);display:flex;align-items:center;flex-wrap:wrap;gap:6px;}
.lh-tag{font-size:11px;font-weight:700;color:#0FA958;background:#E8F8F0;padding:2px 6px;border-radius:6px;}
.lh-d{font-size:13px;color:var(--sub);margin-top:4px;line-height:1.5;}
.lh-ch .ext{color:#0FA958;font-weight:800;font-size:14.5px;flex:0 0 auto;}
.lh-tips{background:#F7FAFB;border:1px solid #E4E9EC;border-radius:12px;padding:10px 14px 10px 30px;margin:0 2px;}
.lh-tips li{font-size:13.5px;color:#33414B;line-height:1.7;margin:4px 0;}
/* 加错题·错因点选 chips */
.wchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.wchip{border:1px solid #D7DEE2;background:#F7FAFB;color:#33414B;border-radius:18px;padding:7px 12px;font-size:13.5px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.15s;}
.wchip:active{transform:scale(.97);}
.wchip.on{background:#E8F8F0;border-color:#0FA958;color:#0B6B3F;box-shadow:0 2px 6px rgba(15,169,88,.18);}
.brandfoot .bf-tx{display:block;height:16px;line-height:16px;font-size:11px;color:#9AA6A0;font-weight:600;letter-spacing:.3px;opacity:.85;}
/* 工信部备案号：与王高粽教育同一字号，整行由 .brandfoot 居中 */
.brandfoot .bf-icp{display:block;height:16px;line-height:16px;font-size:11px;color:#9AA6A0;font-weight:600;letter-spacing:.3px;opacity:.85;}

/* 图片全屏查看（记忆卡/错题卡拍照） */
.dc-img{border:none;background:transparent;padding:0;margin:8px 0 0;display:block;width:100%;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.dc-img img{max-width:100%;max-height:160px;border-radius:12px;display:block;margin:0 auto;box-shadow:0 4px 12px rgba(0,0,0,.18);object-fit:contain;}
.dc-img-cap{display:block;margin-top:6px;font-size:13px;color:rgba(255,255,255,.8);pointer-events:none;}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;}
/* 全局加载遮罩：异步（读题/分题/识别）期间盖住主界面，避免“先回主页面再跳走”的闪跳 */
.gd-loading{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;background:rgba(15,20,18,.82);backdrop-filter:blur(2px);}
.gd-loading-box{display:flex;flex-direction:column;align-items:center;gap:14px;}
.gd-spin{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:gd-spin .8s linear infinite;}
@keyframes gd-spin{to{transform:rotate(360deg);}}
.gd-loading-txt{color:#fff;font-size:14.5px;letter-spacing:.5px;}
/* 加载遮罩里的「引擎来源」小徽章：切题时让用户一眼看出走的是阿里云还是本地兜底 */
.gd-loading-tag{margin-top:-8px;padding:4px 12px;border-radius:999px;font-size:15px;letter-spacing:.3px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);}
.gd-loading-tag.gd-tag-ali{color:#ffd9ad;background:rgba(255,138,0,.20);border-color:rgba(255,176,80,.55);}
/* 关键修复：默认「整图适应屏幕」——旧版 max-width/height:none 让手机原图像素直接铺开，只露出正中间 */
.lightbox .lb-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .1s linear;touch-action:none;-webkit-user-drag:none;user-select:none;}
.lb-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:12px;z-index:4;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.34);background:rgba(0,0,0,.5);color:#fff;font-size:19px;font-weight:800;line-height:44px;text-align:center;}
.lb-close:active{transform:scale(.94);}
.lb-scale{position:absolute;top:calc(env(safe-area-inset-top,0px) + 20px);left:12px;z-index:4;background:rgba(0,0,0,.5);color:#fff;font-size:13px;font-weight:800;padding:5px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.22);}
.lb-tip{position:absolute;top:calc(env(safe-area-inset-top,0px) + 66px);left:0;right:0;z-index:4;text-align:center;color:#fff;font-size:12.5px;opacity:.8;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.6);}
.lb-bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:12px 10px calc(env(safe-area-inset-bottom,0px) + 12px);background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62));}
.lb-btn{min-width:56px;height:42px;padding:0 12px;border-radius:13px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.5);color:#fff;font-size:14px;font-weight:800;}
.lb-btn:active{transform:scale(.96);}
.lb-btn.close{background:#0FA958;border-color:#0FA958;color:#fff;min-width:88px;}
.lb-nav{position:absolute;top:50%;margin-top:-22px;z-index:4;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.5);color:#fff;font-size:20px;font-weight:800;line-height:42px;}
.lb-prev{left:10px;} .lb-next{right:10px;}
.lb-count{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 62px);left:0;right:0;z-index:4;text-align:center;color:#fff;font-size:13px;font-weight:800;opacity:.85;pointer-events:none;}
/* 错题卡：紧凑排版（一屏多看几题）+ 照片缩略 + 诊断折叠 */
.mil{display:flex;flex-direction:column;gap:10px;}
.mi-card{padding:12px 13px;}
.mi-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.mi-badge{font-size:12px;font-weight:800;padding:3px 9px;border-radius:20px;background:#FDECEA;color:#B03A2E;}
.mi-badge.ok{background:#E8F8F0;color:#0B6B3F;}
.mi-date{font-size:12.5px;color:#8A968F;margin-left:auto;}
.mi-photo{border:none;background:#F2F6F4;padding:0;margin:8px 0 0;display:block;width:100%;border-radius:12px;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.10);}
.mi-photo img{display:block;width:100%;max-height:168px;object-fit:contain;background:#fff;}
.mi-zoom{display:block;padding:6px 8px;font-size:12.5px;font-weight:800;color:#0B6B3F;background:#E8F8F0;text-align:center;}
.mi-det{margin-top:8px;border-top:1px dashed #D7DEE2;padding-top:6px;}
.mi-sum{font-size:13.5px;font-weight:800;color:#0B8A48;cursor:pointer;padding:4px 0;list-style:none;}
.mi-sum::-webkit-details-marker{display:none;}
.mi-sum::before{content:'\25B8  ';}
.mi-det[open] .mi-sum::before{content:'\25BE  ';}
.mi-kv{display:flex;gap:8px;font-size:13.5px;line-height:1.62;margin:5px 0;}
.mi-k{flex:0 0 66px;color:#8A968F;font-weight:800;}
.mi-v{flex:1;color:#33414B;font-weight:600;word-break:break-word;}
.mi-card.done{opacity:.72;}
/* 错题集 · 筛选工具条（状态 / 错因分布 / 搜索 / 排序） */
.mf-bar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:0 2px 8px rgba(15,40,28,.05);}
.mf-status{display:flex;gap:6px;}
.mf-st{flex:1;height:38px;border-radius:11px;border:1px solid #D7DEE2;background:#fff;color:#43524B;font-size:14px;font-weight:800;-webkit-tap-highlight-color:transparent;}
.mf-st.on{background:#0FA958;border-color:#0FA958;color:#fff;box-shadow:0 2px 6px rgba(15,169,88,.22);}
.mf-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;align-items:center;}
.mf-lab{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#8A968F;margin-right:2px;}
.mf-cat{border:1px solid #D7DEE2;background:#fff;color:#43524B;border-radius:16px;padding:6px 11px;font-size:13px;font-weight:700;-webkit-tap-highlight-color:transparent;}
.mf-cat.on{background:#0FA958;border-color:#0FA958;color:#fff;}
.mf-cat i{font-style:normal;font-weight:800;opacity:.75;margin-left:4px;}
.mf-sum{margin-top:9px;font-size:13px;line-height:1.65;color:#43524B;background:#F2F6F4;border-radius:10px;padding:8px 10px;}
.mf-sum b{color:#0B6B3F;}
.mf-search{display:flex;gap:8px;margin-top:10px;}
.mf-inp{flex:1;min-width:0;height:42px;border:1px solid #D7DEE2;border-radius:12px;padding:0 12px;font-size:14.5px;color:#1A2620;background:#fff;}
.mf-btn{flex:0 0 auto;height:42px;padding:0 15px;border:none;border-radius:12px;background:#0FA958;color:#fff;font-size:14px;font-weight:800;}
.mf-btn.ghost{background:#EDF1EF;color:#43524B;}
.mf-top{position:fixed;right:14px;bottom:158px;z-index:60;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:#0B8A48;font-size:13px;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.14);}
/* 卡片：题号 + 已搞定斜角标 + 操作行分区（删除推到最右，防误触） */
.mi-card{position:relative;}
.mi-no{flex:0 0 auto;font-size:12px;font-weight:800;color:#0B6B3F;background:#E8F8F0;border-radius:8px;padding:2px 7px;}
.mi-flag{position:absolute;top:8px;right:-3px;transform:rotate(7deg);background:#0FA958;color:#fff;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:4px;box-shadow:0 2px 6px rgba(15,169,88,.32);letter-spacing:.5px;}
.mi-ops{display:flex;align-items:center;gap:8px;margin-top:11px;flex-wrap:wrap;}
.mi-ops .ops-l{display:flex;gap:8px;flex:1;flex-wrap:wrap;}
.btn.sm.danger{margin-left:auto;background:#fff;color:#B03A2E;border:1.5px solid #E3B4AE;}
.mi-hit{font-size:12.5px;color:#8A968F;margin-top:8px;}
/* 确认层（删除前的二次确认，防误触） */
.cfm{position:fixed;inset:0;background:rgba(12,20,16,.52);z-index:140;display:flex;align-items:center;justify-content:center;padding:20px;}
.cfm-box{width:100%;max-width:340px;background:#fff;border-radius:18px;padding:20px 18px;box-shadow:0 20px 50px rgba(0,0,0,.3);}
.cfm-box h4{margin:0 0 10px;font-size:16px;color:#1A2620;}
.cfm-box p{margin:0 0 16px;font-size:14px;line-height:1.7;color:#43524B;}
.cfm-btns{display:flex;gap:10px;}
.cfm-btns .btn{flex:1;}
.btn.danger{background:linear-gradient(180deg,#C4453A,#A5342A);border:1px solid #9A3127;box-shadow:0 1px 2px rgba(165,52,42,.28),inset 0 1px 0 rgba(255,255,255,.22);}
/* 可撤销的提示条 */
.toast.undo{display:flex;align-items:center;gap:12px;max-width:92vw;justify-content:space-between;}
.tu-tx{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tu-btn{flex:0 0 auto;border:none;background:rgba(255,255,255,.24);color:#fff;font-size:13.5px;font-weight:800;padding:6px 12px;border-radius:10px;}
/* 诊断块是绿底白字（.diag），里面的 kv 行必须跟着反色，否则看不清 */
.diag .mi-kv{margin:6px 0;}
.diag .mi-k{color:rgba(255,255,255,.85);}
.diag .mi-v{color:#fff;}
.mi-det .diag{margin-top:6px;padding:13px 14px;}
.diag.soft{background:linear-gradient(135deg,#6B7A72,#4A554F);}

/* ============ 英语 · 听力逐句精练入口 ============ */
.lpro{padding:2px 0 6px;}
.lpro-t{font-size:15px;font-weight:900;color:#1A2620;margin-bottom:8px;}
.lpro-p{margin:0 0 10px;font-size:14px;line-height:1.75;color:#43524B;}
.lpro-l{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:7px;}
.lpro-l li{font-size:13.5px;line-height:1.6;color:#43524B;background:#F6FAF7;
  border-radius:10px;padding:8px 11px;}
.lpro-l li b{color:#0B8A48;}
.lpro-btn{display:block;text-align:center;text-decoration:none;line-height:1.2;}
.lpro-note{margin-top:10px;font-size:12px;color:#6B7A72;line-height:1.6;text-align:center;}


/* ===== 错题专区 ·「错题集」书册主题（纸 · 墨 · 朱 · 烫金；与记忆专区的绿色卡片刻意区分）===== */
.mt-hero{display:flex;align-items:center;gap:14px;padding:16px 16px 15px;border-radius:20px;margin-bottom:16px;
  background:radial-gradient(120% 120% at 88% -20%, rgba(201,162,39,.22), transparent 58%), linear-gradient(150deg,#2B322A,#171B16);
  box-shadow:0 14px 32px rgba(18,24,18,.34);position:relative;overflow:hidden;color:#F6EFE1;}
.mt-hero:before{content:"";position:absolute;inset:7px;border:1px solid rgba(201,162,39,.38);border-radius:14px;pointer-events:none;z-index:2;}
.mt-hero:after{content:"";position:absolute;right:-26px;bottom:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle,rgba(176,58,46,.24),transparent 70%);}
.mt-illus{flex:0 0 auto;width:62px;height:56px;position:relative;z-index:3;}
.mt-illus svg{width:100%;height:100%;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.45));}
.mt-hero-tx{flex:1;min-width:0;position:relative;z-index:3;}
.mt-kicker{font-size:20px;font-weight:900;letter-spacing:.30em;color:#E9D9A8;}
.mt-hero-s{margin-top:6px;font-size:13px;line-height:1.55;color:#D2CAB8;}
.mt-stats{margin-top:9px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#BDB7A4;}
.mt-stats b{font-size:14.5px;font-weight:900;color:#F3E3B8;}
.mt-stats em{width:1px;height:11px;background:rgba(201,162,39,.45);}
.mt-h{font-size:14px;font-weight:800;color:#3F4F45;margin:16px 2px 8px;display:flex;align-items:center;gap:8px;letter-spacing:.4px;}
.mt-h:before{content:"";width:7px;height:7px;background:#B03A2E;transform:rotate(45deg);border-radius:1px;flex:0 0 auto;}
.mt-hint{font-size:12px;color:#6D6553;line-height:1.5;background:#F3EDE0;border:1px solid #E9E0CC;border-radius:10px;padding:7px 10px;margin:0 0 12px;}
.mt-shelf{display:flex;flex-direction:column;gap:10px;}
.mt-book{position:relative;display:flex;border-radius:14px;overflow:hidden;cursor:pointer;
  background:#FCF9F2;border:1px solid #E8DFCB;box-shadow:0 6px 18px rgba(60,50,30,.10);transition:all .18s;}
.mt-book:active{transform:scale(.99);}
.mt-spine{flex:0 0 46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px 0;position:relative;}
.mt-spine:after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:rgba(255,255,255,.24);}
/* 浅色科目（英语/化学/历史）上白字会偏糊：书脊加一层薄墨压暗，白字才立得住（配色铁律） */
.mt-spine:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.20),rgba(12,18,14,.34));}
.mt-vol,.mt-spine-t{position:relative;z-index:1;}
.mt-vol{font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.78);font-weight:700;}
.mt-spine-t{writing-mode:vertical-rl;font-size:15px;font-weight:900;color:#fff;letter-spacing:.14em;text-shadow:0 1px 3px rgba(0,0,0,.35);}
.mt-page{flex:1;min-width:0;padding:11px 13px 11px 14px;
  background-image:repeating-linear-gradient(180deg,transparent 0 20px,rgba(120,110,80,.07) 20px 21px);}
.mt-row{display:flex;align-items:center;gap:8px;}
.mt-name{flex:1;min-width:0;font-size:15px;font-weight:900;color:#26302A;letter-spacing:.3px;}
.mt-tag{flex:0 0 auto;font-size:11px;font-weight:800;color:#9C2F22;background:#FBE9E4;border:1px solid #F0CFC6;border-radius:999px;padding:2px 8px;}
.mt-tag.done{color:#2C6B4C;background:#E6F2EA;border-color:#C9E2D2;}
.mt-meta{margin-top:5px;font-size:12px;color:#6B6353;}
.mt-bar{margin-top:8px;height:6px;border-radius:999px;background:#EBE2CE;overflow:hidden;}
.mt-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3E7A5E,#2C5A45);transition:width .4s;}
.mt-go{margin-top:8px;font-size:12px;font-weight:800;color:#9C2F22;letter-spacing:.3px;}
.mt-go b{font-size:14px;}
.mt-del{position:absolute;top:5px;right:7px;z-index:3;color:#C3B9A2;font-size:13px;padding:2px 4px;}
.mt-book.add{border:1.5px dashed #C9B98F;background:#FBF7EE;}
.mt-spine.add{background:repeating-linear-gradient(135deg,#EFE6D2,#EFE6D2 6px,#E7DCC4 6px,#E7DCC4 12px);color:#6E6450;font-size:20px;font-weight:900;}
.mt-spine.add:before{content:none;}
.mt-draw{width:100%;border:none;cursor:pointer;font-family:inherit;font-size:15px;font-weight:900;color:#FBF7EF;
  background:linear-gradient(135deg,#8E2F24,#6E231A);border-radius:14px;padding:14px 16px;
  display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 10px 24px rgba(110,35,26,.30);
  border:1px solid rgba(201,162,39,.55);letter-spacing:.3px;}
.mt-draw:active{transform:scale(.985);}
.mt-seal{flex:0 0 auto;width:26px;height:26px;border-radius:6px;background:rgba(255,255,255,.16);
  border:1px solid rgba(233,217,168,.7);color:#E9D9A8;font-size:14.5px;font-weight:900;
  display:flex;align-items:center;justify-content:center;}
.mt-crumb{display:flex;align-items:center;gap:8px;background:#FCF9F2;border:1px solid #E8DFCB;border-left:4px solid #B03A2E;
  border-radius:10px;padding:9px 12px;margin-bottom:10px;}
.mt-crumb-t{flex:1;font-size:14.5px;font-weight:900;color:#26302A;}
.mt-crumb-n{font-size:12px;color:#6B6353;font-weight:700;}

/* ===== 信息专区 · 列表 / 详情 / 搜索（2026-09-18 新增） ===== */
/* 密档状态条：篇数 / 日期 / 版本 / 检查按钮（2026-09-20 新增，用于自查是否加载到最新） */
.info-stat{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 2px 12px;padding:9px 12px;background:#F2F7F3;border:1px solid var(--line);border-radius:12px;font-size:15px;color:#5A6B60;}
.info-stat .is-n{font-weight:800;color:#26302A;}
.info-stat .is-n b{color:#1E8A5A;}
.info-stat .is-d,.info-stat .is-v{color:#8A8F86;}
.info-stat .is-btn{margin-left:auto;border:1px solid var(--line);background:#fff;color:#3E6B52;font-size:13px;font-weight:800;padding:5px 10px;border-radius:999px;cursor:pointer;}
.info-stat .is-btn:disabled{opacity:.55;cursor:default;}
.info-search{display:flex;gap:8px;margin:2px 2px 14px;}
.info-search input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;font-size:15px;background:var(--card);color:var(--ink);transition:border-color .15s,box-shadow .15s;}
.info-search input::placeholder{color:#9AA6A0;}
.info-search input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(15,169,88,.12);}
.info-search .btn-search{flex:0 0 auto;border:none;cursor:pointer;font-weight:800;font-size:15px;color:#fff;background:linear-gradient(135deg,var(--green),var(--green-2));padding:0 22px;border-radius:14px;box-shadow:var(--shadow2);transition:transform .15s;}
.info-search .btn-search:active{transform:scale(.96);}

.info-list{display:flex;flex-direction:column;gap:12px;}
.info-card{background:var(--card);border-radius:18px;padding:16px 16px 14px;box-shadow:var(--shadow);border:1.5px solid var(--line);cursor:pointer;transition:all .18s;position:relative;overflow:hidden;}
.info-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--green),var(--green-2));opacity:.85;}
.info-card:active{transform:scale(.985);border-color:#d6e4dd;}
.info-card .ic-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.info-card .ic-pin{font-size:12px;font-weight:800;color:#fff;background:var(--orange,#F06000);padding:2px 9px;border-radius:999px;letter-spacing:.02em;}
.info-card .ic-cat{font-size:12px;font-weight:700;color:var(--green);background:var(--green-l);padding:2px 9px;border-radius:999px;}
.info-card .ic-lv{font-size:12px;font-weight:700;color:var(--orange-d);background:var(--orange-l);padding:2px 9px;border-radius:999px;}
/* 专区徽标：只在「全部专区」搜索结果里出现，用来标明这篇属于哪个专区 */
.info-card .ic-zone{font-size:15px;font-weight:800;color:#2F5AA8;background:#E8F0FF;padding:2px 9px;border-radius:999px;}

/* ---------- 核心密档 · 五大专区导航 ---------- */
.iz-head{display:flex;align-items:center;gap:8px;margin:2px 2px 9px;font-size:15px;font-weight:800;
  color:#3E5148;letter-spacing:.02em;}
.iz-head .iz-head-x{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--sub);}
.info-zones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;}
.iz{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 13px 12px;
  background:linear-gradient(168deg,#FFFFFF,#F7FAF8);border:1px solid #E2EAE5;border-radius:16px;cursor:pointer;
  box-shadow:0 1px 2px rgba(18,38,28,.04),0 8px 18px rgba(18,38,28,.05),inset 0 1px 0 #fff;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.iz:active{transform:scale(.975);}
/* 六专区三行两列：第 5、6 个（家长护航＋志愿基础）同排收尾，不落单（用户 2026-09-26 明令） */
.iz-ic{width:40px;height:40px;border-radius:12px;background:linear-gradient(150deg,#EAF6EF,#DCEFE4);
  display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 3px 8px rgba(18,38,28,.07);}
.iz-ic svg{width:22px;height:22px;display:block;}
.iz-tx{flex:1;min-width:0;width:100%;}
.iz-n{font-size:15px;font-weight:900;color:var(--ink);letter-spacing:.01em;line-height:1.32;max-width:100%;overflow:hidden;text-overflow:ellipsis;padding-right:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all}
.iz-d{margin-top:4px;font-size:11.5px;color:#5F6E66;line-height:1.55;}
.iz-c{position:absolute;right:12px;top:13px;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:#F2F7F3;
  border:1px solid var(--line);color:#4F5F57;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;}
.iz.on{border-color:var(--green);background:linear-gradient(135deg,#F4FBF7,#E6F5EE);
  box-shadow:0 4px 14px rgba(15,169,88,.16);}
.iz.on:after{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:0 3px 3px 0;background:var(--green);}
.iz.on .iz-ic{background:linear-gradient(135deg,#12B45E,#0B8A48);}
.iz.on .iz-n{color:#0B6B3C;}
.iz.on .iz-d{color:#4F7A62;}
.iz.on .iz-c{background:#0A7A3F;border-color:#0A7A3F;color:#fff;}
/* 五大专区身份色：统一版式、各配色相 —— 分区有个性，不做成一张脸 */
.iz:nth-child(1) .iz-ic{background:linear-gradient(135deg,#E6F6EE,#D2EFE0);color:#0B8A48;}
.iz:nth-child(2) .iz-ic{background:linear-gradient(135deg,#E8F1FD,#D4E6FA);color:#2563EB;}
.iz:nth-child(3) .iz-ic{background:linear-gradient(135deg,#E0F8F6,#CBEFEA);color:#009E8E;}
.iz:nth-child(4) .iz-ic{background:linear-gradient(135deg,#FFF2E6,#FFE7CF);color:#E86A0F;}
.iz:nth-child(5) .iz-ic{background:linear-gradient(135deg,#F0EBFD,#E2D9FB);color:#6D4FD1;}
.iz:nth-child(1).on{border-color:var(--green);background:linear-gradient(135deg,#F4FBF7,#E6F5EE);}
.iz:nth-child(2).on{border-color:var(--blue);background:linear-gradient(135deg,#F3F8FE,#E4F0FC);box-shadow:0 4px 14px rgba(59,130,246,.16);}
.iz:nth-child(2).on:after{background:var(--blue);}
.iz:nth-child(2).on .iz-n{color:#1D4E9E;}
.iz:nth-child(2).on .iz-d{color:#4C6E9E;}
.iz:nth-child(2).on .iz-ic{background:linear-gradient(135deg,#3B82F6,#2563EB);}
.iz:nth-child(2).on .iz-c{background:#2563EB;border-color:#2563EB;}
.iz:nth-child(3).on{border-color:var(--teal);background:linear-gradient(135deg,#F1FCFB,#DFF7F4);box-shadow:0 4px 14px rgba(0,184,169,.16);}
.iz:nth-child(3).on:after{background:var(--teal);}
.iz:nth-child(3).on .iz-n{color:#00796D;}
.iz:nth-child(3).on .iz-d{color:#4E948C;}
.iz:nth-child(3).on .iz-ic{background:linear-gradient(135deg,#00B8A9,#009E8E);}
.iz:nth-child(3).on .iz-c{background:#009E8E;border-color:#009E8E;}
.iz:nth-child(4).on{border-color:var(--orange);background:linear-gradient(135deg,#FFF7F0,#FFEDE0);box-shadow:0 4px 14px rgba(255,122,26,.16);}
.iz:nth-child(4).on:after{background:var(--orange);}
.iz:nth-child(4).on .iz-n{color:#B25308;}
.iz:nth-child(4).on .iz-d{color:#A9714A;}
.iz:nth-child(4).on .iz-ic{background:linear-gradient(135deg,#FF7A1A,#E86A0F);}
.iz:nth-child(4).on .iz-c{background:#E86A0F;border-color:#E86A0F;}
.iz:nth-child(5).on{border-color:var(--purple);background:linear-gradient(135deg,#F7F4FE,#EFE9FD);box-shadow:0 4px 14px rgba(124,92,224,.16);}
.iz:nth-child(5).on:after{background:var(--purple);}
.iz:nth-child(5).on .iz-n{color:#5638A8;}
.iz:nth-child(5).on .iz-d{color:#7763A8;}
.iz:nth-child(5).on .iz-ic{background:linear-gradient(135deg,#7C5CE0,#6D4FD1);}
.iz:nth-child(5).on .iz-c{background:#6D4FD1;border-color:#6D4FD1;}
/* 第六专区（志愿基础学习）：玫红系身份色 */
.iz:nth-child(6) .iz-ic{background:linear-gradient(135deg,#FDE9F1,#FBD5E3);color:#D6336C;}
.iz:nth-child(6).on{border-color:#E0457B;background:linear-gradient(135deg,#FEF4F8,#FCE7EF);box-shadow:0 4px 14px rgba(214,51,108,.16);}
.iz:nth-child(6).on:after{background:#D6336C;}
.iz:nth-child(6).on .iz-n{color:#B02A5B;}
.iz:nth-child(6).on .iz-d{color:#A8647F;}
.iz:nth-child(6).on .iz-ic{background:linear-gradient(135deg,#E0457B,#D6336C);}
.iz:nth-child(6).on .iz-c{background:#D6336C;border-color:#D6336C;}
/* 搜不到时给的「其他专区还有 N 篇」跳转按钮 */
.info-empty .ie-jump{margin-top:12px;border:1.5px solid var(--green);background:#fff;color:#086B39;
  font-size:15px;font-weight:800;padding:8px 16px;border-radius:999px;cursor:pointer;font-family:inherit;}
.info-empty .ie-jump:active{background:var(--green-l);}
.info-card .ic-t{font-size:16px;font-weight:800;line-height:1.45;color:var(--ink);}
.info-card .ic-s{font-size:14px;color:var(--sub);margin-top:6px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.info-card .ic-meta{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.info-card .ic-date{font-size:12px;color:#9AA6A0;}
.info-card .ic-dl{flex:0 0 auto;border:1.5px solid var(--line);background:var(--bg);color:var(--green);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .15s;}
.info-card .ic-dl:active{background:var(--green-l);border-color:var(--green);}

.info-empty{text-align:center;color:var(--sub);font-size:14.5px;padding:40px 20px;line-height:1.7;}

.info-detail .id-top{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.info-detail .id-date{font-size:12px;color:#9AA6A0;margin-left:auto;}
.info-detail .id-sum{font-size:14.5px;color:var(--sub);line-height:1.6;background:var(--green-l);padding:12px 14px;border-radius:12px;margin-bottom:14px;}
.info-detail .id-body{font-size:15px;line-height:1.85;color:var(--ink);}
.info-detail .id-body p{margin:0 0 12px;}
.info-detail .p-gap{height:6px;}
.info-detail .id-foot{font-size:12px;color:#9AA6A0;margin:18px 0 14px;line-height:1.6;}
.info-detail .id-dl{width:100%;justify-content:center;}

/* ===== 信息专区 · 下载 PDF（打印）专用：屏幕隐藏，打印时仅显示，并铺满斜向浅灰水印 ===== */
#infoPrint{display:none;}
#infoPrint{position:relative;background:#fff;color:#222;}
.ip-wm{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='170'%3E%3Ctext x='50%25' y='50%25' transform='rotate(-28 130 85)' font-family='sans-serif' font-size='20' font-weight='700' fill='%23cccccc' fill-opacity='0.55' text-anchor='middle'%3E王高粽教育%3C/text%3E%3C/svg%3E");
  background-repeat:repeat;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;}
.ip-content{position:relative;z-index:1;padding:26px 30px;}
.ip-title{font-size:22px;font-weight:800;color:#16302a;line-height:1.4;margin-bottom:8px;}
.ip-meta{font-size:13px;color:#8a958f;margin-bottom:14px;}
.ip-sum{font-size:14.5px;color:#3c4a44;line-height:1.7;background:#f3f8f5;padding:12px 14px;border-radius:10px;margin-bottom:16px;}
.ip-body{font-size:15px;line-height:1.95;color:#222;}
.ip-body p{margin:0 0 12px;}
.ip-body .p-gap{height:6px;}
.ip-foot{font-size:12px;color:#9aa6a0;margin-top:20px;line-height:1.7;}
@media print{
  html,body{background:#fff!important;}
  body>*:not(#infoPrint){display:none!important;}
  #infoPrint{display:block!important;}
  .ip-wm{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  @page{margin:14mm;}
}

/* ===== 错题拍照 · 分题点选（扫描光感 + 可点选框） ===== */
.seg-ov{position:fixed;inset:0;background:rgba(15,20,18,.96);z-index:1100;display:flex;flex-direction:column;}
.seg-top{color:#fff;font-size:16px;font-weight:600;padding:14px 16px 8px;display:flex;justify-content:space-between;align-items:center;}
.seg-tip{font-size:13px;color:#9fb8af;font-weight:400;}
/* 【2026-09-29 用户指令】圈题编辑器常驻醒目横幅：提示叉掉多余框 + 手指微调（不消失，颜色醒目、字稍大） */
.seg-banner{margin:8px 14px 0;padding:9px 14px;border-radius:12px;background:linear-gradient(135deg,#ffb020,#ff7a1a);color:#3a1d00;font-size:15px;font-weight:700;line-height:1.7;text-align:center;box-shadow:0 2px 10px rgba(255,138,26,.35);flex-shrink:0;}
.seg-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:6px 12px;}
.seg-img{max-width:100%;max-height:100%;display:block;pointer-events:none;}
.seg-layer{position:absolute;left:0;top:0;right:0;bottom:0;}
.seg-box{position:absolute;left:0;right:0;border:2px solid rgba(255,255,255,.55);border-radius:8px;cursor:pointer;box-sizing:border-box;transition:border-color .15s,background .15s;}
.seg-box.sel{border-color:#37d99a;background:rgba(55,217,154,.20);box-shadow:0 0 0 1px #37d99a inset;}
.seg-bh{position:absolute;left:6px;top:4px;background:rgba(0,0,0,.55);color:#fff;font-size:13px;padding:1px 7px;border-radius:10px;}
.seg-pv{position:absolute;left:6px;right:50px;bottom:4px;color:rgba(255,255,255,.9);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000;}
.seg-ck{position:absolute;right:6px;top:4px;width:20px;height:20px;border-radius:50%;background:#37d99a;color:#063;font-size:14.5px;line-height:20px;text-align:center;opacity:0;transform:scale(.6);transition:.15s;}
.seg-box.sel .seg-ck{opacity:1;transform:scale(1);}
.seg-scan{position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(180deg,rgba(80,220,160,0) 0%,rgba(80,220,160,.16) 60%,rgba(80,220,160,.55) 100%);pointer-events:none;animation:segscan 2.4s ease-in-out infinite;mix-blend-mode:screen;}
@keyframes segscan{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:100%;opacity:0}}
.seg-bar{display:flex;align-items:center;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));}
.seg-count{color:#fff;font-size:14.5px;flex:1;}
.seg-cancel{background:rgba(255,255,255,.14);color:#fff;border:0;padding:10px 16px;border-radius:10px;font-size:14.5px;}
.seg-ok{background:#37d99a;color:#063;border:0;padding:10px 18px;border-radius:10px;font-size:14.5px;font-weight:600;}
.seg-ok:disabled{opacity:.4;}

/* ===== 圈题器重写版（.seg-ed）：框与图片同坐标系 · 自由拖动 + 八向拉伸 + 单框删除 =====
   旧版两个硬伤：① .seg-layer 铺满「舞台」而不是「图片」，图片上下有黑边时框全错位；
   ② JS 输出的手柄类名是 .seg-h，CSS 里却写成 .seg-bh → 手柄尺寸为 0，永远点不到，
      表现为「四边大小固定死、不能框选」。以下为修正版，全部以 .seg-ed 作用域覆盖。 */
.seg-ed{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.seg-ed .seg-top{align-items:flex-start;gap:10px;}
.seg-ed .seg-ttl{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:15px;}
.seg-ed .seg-sub{font-size:12.5px;color:#9fb8af;font-weight:400;line-height:1.5;font-style:normal;}
.seg-ed .seg-acts{display:flex;gap:6px;flex-shrink:0;padding-top:1px;}
.seg-ed .seg-ghost{background:rgba(255,255,255,.12);color:#dfeee8;border:0;padding:7px 11px;border-radius:9px;font-size:13.5px;}
.seg-ed .seg-stage{position:relative;flex:1;display:block;overflow:hidden;margin:0 10px;padding:0;touch-action:none;}
.seg-ed .seg-frame{position:absolute;left:0;top:0;width:0;height:0;touch-action:none;box-shadow:0 0 0 1px rgba(255,255,255,.16);}
.seg-ed .seg-img{width:100%;height:100%;display:block;pointer-events:none;-webkit-user-drag:none;}
.seg-ed .seg-layer{position:absolute;left:0;top:0;right:0;bottom:0;touch-action:none;}
.seg-ed .seg-box{position:absolute;left:0;top:0;border:2px solid rgba(255,255,255,.62);border-radius:8px;box-sizing:border-box;touch-action:none;background:rgba(255,255,255,.04);cursor:move;transition:none;}
.seg-ed .seg-box.sel{border-color:#37d99a;background:rgba(55,217,154,.20);box-shadow:0 0 0 1px #37d99a inset;}
.seg-ed .seg-n{position:absolute;left:3px;top:2px;background:rgba(0,0,0,.58);color:#fff;font-size:12px;line-height:1.6;padding:0 6px;border-radius:7px;white-space:nowrap;pointer-events:none;}
.seg-ed .seg-x{position:absolute;right:2px;top:2px;width:30px;height:30px;line-height:27px;text-align:center;color:#fff;background:rgba(18,24,22,.86);border:1.5px solid rgba(255,255,255,.5);border-radius:50%;font-size:14.5px;touch-action:none;}
.seg-ed .seg-h{position:absolute;background:transparent;touch-action:none;z-index:3;}
.seg-ed .seg-box:not(.sel) .seg-h{display:none;}
.seg-ed .seg-h::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#37d99a;border-radius:3px;box-shadow:0 0 0 1.5px rgba(6,40,28,.85);}
.seg-ed .seg-h[data-e="tl"],.seg-ed .seg-h[data-e="tr"],.seg-ed .seg-h[data-e="bl"],.seg-ed .seg-h[data-e="br"]{width:32px;height:32px;}
.seg-ed .seg-h[data-e="tl"]{left:-16px;top:-16px;}
.seg-ed .seg-h[data-e="tr"]{right:-16px;top:-16px;}
.seg-ed .seg-h[data-e="bl"]{left:-16px;bottom:-16px;}
.seg-ed .seg-h[data-e="br"]{right:-16px;bottom:-16px;}
.seg-ed .seg-h[data-e="tl"]::after,.seg-ed .seg-h[data-e="tr"]::after,.seg-ed .seg-h[data-e="bl"]::after,.seg-ed .seg-h[data-e="br"]::after{width:14px;height:14px;}
.seg-ed .seg-h[data-e="t"],.seg-ed .seg-h[data-e="b"]{left:30px;right:30px;height:28px;}
.seg-ed .seg-h[data-e="t"]{top:-14px;}
.seg-ed .seg-h[data-e="b"]{bottom:-14px;}
.seg-ed .seg-h[data-e="t"]::after,.seg-ed .seg-h[data-e="b"]::after{width:36px;height:7px;}
.seg-ed .seg-h[data-e="l"],.seg-ed .seg-h[data-e="r"]{top:30px;bottom:30px;width:28px;}
.seg-ed .seg-h[data-e="l"]{left:-14px;}
.seg-ed .seg-h[data-e="r"]{right:-14px;}
.seg-ed .seg-h[data-e="l"]::after,.seg-ed .seg-h[data-e="r"]::after{width:7px;height:36px;}
.seg-ed .seg-tools{display:flex;gap:8px;padding:10px 12px 2px;overflow-x:auto;}
.seg-ed .seg-tool{flex:1;min-width:64px;background:rgba(255,255,255,.12);color:#e8f3ee;border:1px solid rgba(255,255,255,.14);padding:9px 6px;border-radius:10px;font-size:14px;white-space:nowrap;}
.seg-ed .seg-tool:active{background:rgba(55,217,154,.28);}
.seg-ed .seg-toast{position:absolute;left:50%;bottom:104px;transform:translate(-50%,8px);max-width:86%;background:rgba(8,14,12,.94);color:#eaf6f1;font-size:13.5px;line-height:1.5;padding:9px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center;}
.seg-ed .seg-toast.show{opacity:1;transform:translate(-50%,0);}

/* ===== 错题揪根：首行大白话根因 + 次行历史踩坑信任区（极致呈现）===== */
.jiugen{margin:10px 0 4px;border-radius:14px;background:linear-gradient(135deg,#FFF7F0,#FFFFFF);border:1px solid #FFE2CC;border-left:4px solid var(--orange,#FF7A1A);padding:12px 14px;box-shadow:0 2px 12px rgba(255,122,26,.10);}
.jg-concl{font-size:16.5px;font-weight:800;line-height:1.5;color:#1A2620;display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;}
.jg-pill{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--orange,#FF7A1A);border-radius:20px;padding:2px 9px;margin-top:2px;white-space:nowrap;flex:0 0 auto;}
.jg-t{flex:1;min-width:200px;}
.jg-meta{font-size:13.5px;color:#6B7A72;margin-top:8px;line-height:1.55;}
.jg-trust{font-size:13px;color:#9AA0A6;margin-top:6px;}
.jg-ev{font-size:13px;color:#1A73E8;margin-top:5px;line-height:1.5;}

/* ==================================================================
   未激活：磨砂付费墙（核心密档）/ 激活页 / 支付页 / 我的·授权卡
   风格基调：白卡 + 深墨字 + 沉稳绿，多留白、细分割线 —— 稳重、正式、不喧哗
   ================================================================== */
/* —— 磨砂付费墙 —— */
.lk-wrap{position:relative;padding:0;overflow:hidden;flex:1;min-height:min(680px,calc(100vh - 200px));}
.lk-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
/* 玻璃后面铺的是「核心密档」整页的真实内容（说明条＋搜索框＋文章列表），所以铺得比一屏长得多 */
.lk-bg-inner{padding:16px 14px 44px;}
/* 薄纱：全页恒定一层很薄的雾 + 顶部再压一点点（让内容从卡片下缘慢慢浮出来）。
   刻意做"薄"——隔着纱能看出后面排着一长串密档条目，但字读不清。
   目的就是让人一眼明白：这页背后是内容，不是一张孤零零的收款页。 */
.lk-frost{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(245,248,246,.42) 0,rgba(245,248,246,0) 340px),
    rgba(246,249,247,.44);
  backdrop-filter:blur(8px) saturate(1.06);-webkit-backdrop-filter:blur(8px) saturate(1.06);}
.lk-fg{position:relative;z-index:2;padding:20px 15px 16px;}
/* —— 锁屏卡片 · 爆裂风（2026-09-24 重设计：深色能量场 + 旋转射线 + 霓虹强调，面向高三学生审美） —— */
.lk-card{position:relative;overflow:hidden;
  background:
    radial-gradient(120% 72% at 50% -10%,rgba(22,201,126,.30) 0,rgba(22,201,126,0) 56%),
    radial-gradient(90% 46% at 50% 112%,rgba(22,201,126,.14) 0,rgba(22,201,126,0) 60%),
    linear-gradient(168deg,#0D1A14 0%,#10261B 46%,#071108 100%);
  border:1px solid rgba(124,247,176,.24);border-radius:24px;
  padding:28px 20px 20px;
  box-shadow:0 24px 56px rgba(8,26,17,.44),inset 0 1px 0 rgba(255,255,255,.06);}
/* 顶部旋转能量射线：缓慢自转的扇形爆裂，营造"即将引爆"的势能 */
.lk-burst{position:absolute;top:-84px;left:50%;width:360px;height:360px;margin-left:-180px;border-radius:50%;
  background:repeating-conic-gradient(from 8deg,rgba(124,247,176,.17) 0deg 7deg,rgba(124,247,176,0) 7deg 16deg);
  -webkit-mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.45) 42%,transparent 68%);
  mask-image:radial-gradient(circle,#000 0,rgba(0,0,0,.45) 42%,transparent 68%);
  animation:lkSpin 26s linear infinite;pointer-events:none;}
.lk-badge{display:flex;justify-content:center;position:relative;}
.lk-logo{display:block;height:32px;width:auto;margin:0 auto;padding:7px 16px;
  background:rgba(255,255,255,.97);border-radius:999px;
  box-shadow:0 10px 26px rgba(0,0,0,.4),0 0 22px rgba(22,201,126,.4);}
.lk-slogan{position:relative;margin-top:14px;text-align:center;font-size:23px;font-weight:900;letter-spacing:.08em;
  background:linear-gradient(92deg,#FFFFFF 18%,#A9F8D0 56%,#2AE08B 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 16px rgba(22,201,126,.32));}
.lk-slogan em{font-style:normal;
  background:linear-gradient(92deg,#6BF7AE,#16C97E);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;}
.lk-lead{position:relative;margin:12px 0 0;font-size:14px;line-height:1.85;color:#B7CCC0;text-align:center;}
.lk-lead b{color:#5CF0A2;text-shadow:0 0 16px rgba(22,201,126,.55);font-weight:900;}
.lk-count{position:relative;display:table;margin:12px auto 0;padding:6px 14px;
  background:rgba(22,201,126,.10);border:1px solid rgba(124,247,176,.38);border-radius:999px;
  font-size:13.5px;font-weight:800;color:#8FE8B8;}
.lk-count b{color:#5CF0A2;}
.lk-feats{position:relative;margin-top:18px;border-top:1px solid rgba(143,232,184,.16);padding-top:12px;display:grid;gap:9px;}
.lk-feat{display:flex;gap:12px;padding:11px 12px;border-radius:14px;
  background:rgba(255,255,255,.045);border:1px solid rgba(143,232,184,.14);}
.lk-ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;
  background:linear-gradient(135deg,#16C97E,#0A8F4F);color:#062515;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
  box-shadow:0 4px 14px rgba(22,201,126,.42);}
.lk-ic svg{width:19px;height:19px;}
.lk-ft{font-size:15px;font-weight:900;color:#fff;letter-spacing:.4px;display:flex;align-items:center;gap:8px;}
.lk-no{font-size:11px;font-weight:800;color:rgba(143,232,184,.8);letter-spacing:.14em;}
.lk-fd{margin-top:4px;font-size:13px;line-height:1.66;color:#9DB4A8;}
.lk-why{margin-top:14px;background:rgba(255,171,64,.10);border:1px solid rgba(255,193,105,.32);border-radius:12px;
  padding:10px 12px;font-size:13px;line-height:1.6;color:#FFD9A0;font-weight:700;}
.lk-buy{position:relative;display:block;width:100%;margin-top:18px;border:none;border-radius:15px;cursor:pointer;
  background:linear-gradient(135deg,#8BFFC4 0%,#2AE08B 55%,#0FB86A 100%);
  color:#052914;font-size:16.5px;font-weight:900;letter-spacing:1px;padding:15px 10px;
  box-shadow:0 14px 34px rgba(22,201,126,.45);
  font-family:inherit;touch-action:manipulation;
  animation:lkPulse 2.2s ease-in-out infinite;}
.lk-buy:active{transform:scale(.985);animation:none;}
.lk-sub{margin-top:10px;text-align:center;font-size:12px;color:rgba(157,180,168,.85);letter-spacing:.3px;}
@keyframes lkSpin{to{transform:rotate(360deg)}}
@keyframes lkPulse{
  0%,100%{box-shadow:0 14px 34px rgba(22,201,126,.45),0 0 0 0 rgba(42,224,139,.35)}
  50%{box-shadow:0 14px 34px rgba(22,201,126,.45),0 0 0 11px rgba(42,224,139,0)}}
/* 卡片与"被锁住的正文"之间的那条分隔说明：把这一屏从"收款页"拉回"内容页" */
.lk-veil{display:flex;align-items:center;justify-content:center;gap:12px;
  margin:22px 4px 0;font-size:15px;font-weight:700;color:var(--sub);letter-spacing:.6px;}
.lk-veil:before,.lk-veil:after{content:"";height:1px;width:40px;}
.lk-veil:before{background:linear-gradient(90deg,transparent,rgba(107,122,114,.5));}
.lk-veil:after{background:linear-gradient(90deg,rgba(107,122,114,.5),transparent);}

/* 「返回」悬浮圆钮：屏幕左下角（底栏原返回位已让给「深度诊断」）——墨绿实底高对比版 */
.fab-back{position:fixed;left:14px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:21;
  width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.85);cursor:pointer;
  background:linear-gradient(145deg,#0F8A4C,#0B6B3C 55%,#084A2B);
  color:#fff;box-shadow:0 8px 22px rgba(8,74,43,.42),0 2px 6px rgba(8,74,43,.28),inset 0 1px 0 rgba(255,255,255,.25);
  display:flex;align-items:center;justify-content:center;transition:all .15s;}
.fab-back svg{width:23px;height:23px;display:block;stroke-width:2.6;}
.fab-back:active{transform:scale(.94);box-shadow:0 4px 12px rgba(8,74,43,.4);}
.fab-back.disabled{opacity:.34;box-shadow:none;background:#9AA8A0;border-color:rgba(255,255,255,.5);}
/* 深度诊断进了底栏，顶部大卡不再使用 */
/* —— 深度诊断：顶部宣言 banner（对应难点爆破 hero 的气质：权威＋能量） —— */
.sd-banner{background:
    radial-gradient(130% 110% at 88% -30%,rgba(22,201,126,.30),transparent 58%),
    radial-gradient(90% 90% at 8% 110%,rgba(124,92,224,.20),transparent 55%),
    linear-gradient(160deg,#13291E,#0A1B12);
  border:1px solid rgba(124,247,176,.22);border-radius:20px;padding:18px 16px;margin:2px 2px 14px;
  box-shadow:0 14px 34px rgba(8,21,16,.32);position:relative;overflow:hidden;}
.sd-bn-badge{display:inline-block;font-size:11.5px;font-weight:800;color:#5CF0A2;
  border:1px solid rgba(92,240,162,.4);border-radius:999px;padding:3px 10px;letter-spacing:.1em;}
.sd-bn-t{margin-top:10px;font-size:19px;font-weight:900;color:#fff;line-height:1.42;letter-spacing:.02em;}
.sd-bn-d{margin-top:8px;font-size:13.5px;line-height:1.75;color:#C7D8CE;}
.sd-bn-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
.sd-bn-chips span{font-size:12px;font-weight:800;color:#fff;background:rgba(22,201,126,.18);
  border:1px solid rgba(92,240,162,.35);border-radius:999px;padding:4px 10px;}
/* —— 三大入口卡：颜色区分＋全名＋一句亮点（用户 2026-09-24：123 必须一眼分开） —— */
.sd-ents{display:flex;flex-direction:column;gap:10px;margin:0 2px 10px;}
.sd-ent{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-family:inherit;cursor:pointer;
  border-radius:16px;padding:13px 12px;border:2px solid transparent;background:#fff;
  box-shadow:var(--shadow);transition:transform .12s, box-shadow .12s;}
.sd-ent:active{transform:scale(.985);}
.sd-ent .sd-en{flex:0 0 34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:14.5px;font-weight:900;color:#fff;}
.sd-ent .sd-etx2{flex:1;min-width:0;display:flex;flex-direction:column;}
.sd-ent .sd-enm{font-size:15.5px;font-weight:900;color:var(--ink);letter-spacing:.02em;}
.sd-ent .sd-edd{margin-top:3px;font-size:12.5px;line-height:1.55;color:var(--sub);}
.sd-ent .sd-eb{flex:0 0 auto;font-size:11.5px;font-weight:900;border-radius:999px;padding:4px 9px;white-space:nowrap;}
.sd-ent.g{background:linear-gradient(135deg,#E9F9F0,#FFFFFF 62%);border-color:#8FE0B4;}
.sd-ent.g .sd-en{background:linear-gradient(135deg,#12B45E,#0A8F4F);}
.sd-ent.g .sd-eb{color:#0B7A42;background:#DCF3E6;}
.sd-ent.au{background:linear-gradient(135deg,#FDF4DC,#FFFFFF 62%);border-color:#E7C36A;}
.sd-ent.au .sd-en{background:linear-gradient(135deg,#E0A81E,#B5830F);}
.sd-ent.au .sd-eb{color:#8A5E12;background:#FBF3E1;}
.sd-ent.vi{background:linear-gradient(135deg,#F0EBFD,#FFFFFF 62%);border-color:#C4B2F0;}
.sd-ent.vi .sd-en{background:linear-gradient(135deg,#8A6FF0,#6A4FD8);}
.sd-ent.vi .sd-eb{color:#5B3FB8;background:#EAE3FB;}
.sd-ent.on{box-shadow:0 10px 26px rgba(18,38,28,.16);transform:translateY(-1px);}
.sd-ent.g.on{background:linear-gradient(135deg,#12B45E,#0A8F4F);border-color:#0A8F4F;}
.sd-ent.g.on .sd-enm{color:#fff;}
.sd-ent.g.on .sd-edd{color:rgba(255,255,255,.92);}
.sd-ent.au.on{background:linear-gradient(135deg,#E0A81E,#B5830F);border-color:#B5830F;}
.sd-ent.au.on .sd-enm{color:#fff;}
.sd-ent.au.on .sd-edd{color:rgba(255,255,255,.92);}
.sd-ent.vi.on{background:linear-gradient(135deg,#8A6FF0,#6A4FD8);border-color:#6A4FD8;}
.sd-ent.vi.on .sd-enm{color:#fff;}
.sd-ent.vi.on .sd-edd{color:rgba(255,255,255,.92);}
.sd-human-pill{display:inline-block;vertical-align:2px;margin-left:6px;font-size:10px;font-weight:800;color:#8A5E12;
  background:linear-gradient(135deg,#FFF3CF,#FFE08A);border:1px solid rgba(255,255,255,.8);
  border-radius:6px;padding:1.5px 6px;white-space:nowrap;letter-spacing:.02em;
  box-shadow:0 1px 4px rgba(255,197,61,.35);}
.sd-findrow{margin:0 2px 12px;text-align:center;}
.sd-findrow button{border:none;background:none;color:var(--sub);font-size:13.5px;font-weight:700;
  font-family:inherit;cursor:pointer;text-decoration:underline dotted;}
/* —— ②③ 的「激活后立刻解锁」醒目横条（用户：需激活三个字太小，要突出） —— */
.sd-unlockbar{margin:0 2px 12px;border-radius:12px;padding:11px 12px;
  background:linear-gradient(135deg,#FDF4DC,#FBF3E1);border:1.5px solid #E7C36A;
  font-size:15px;font-weight:900;color:#8A5E12;}
.sd-unlockbar small{font-weight:700;font-size:12.5px;line-height:1.55;color:#A9823A;display:block;margin-top:2px;}
/* —— ③ 试卷上传器（恢复家长页原逻辑：逐科拍照/相册上传） —— */
.sd-upbox{border:1.5px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#fff;}
.sd-uph{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:900;color:var(--ink);}
.sd-uph .sd-del{color:var(--red);font-weight:900;cursor:pointer;font-size:14.5px;padding:2px 6px;}
.sd-uthumbs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;}
.sd-uthumbs img{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--line);}
.sd-ustatus{font-size:13px;font-weight:800;margin-top:6px;color:var(--green-d);}
.sd-uphint{font-size:12.5px;line-height:1.6;color:var(--sub);margin:8px 0 2px;}
.sd-goldbox{border:2px dashed #E0B84E;border-radius:12px;padding:12px;background:#FFFDF5;margin:12px 0;}
.sd-goldbox .sd-gt{font-size:13.5px;font-weight:900;color:#8A5E12;margin-bottom:8px;}
.sd-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);}
.sd-h{font-size:15px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sd-free{font-size:12px;font-weight:800;color:#0B8A48;background:var(--green-l);border-radius:999px;padding:2px 9px;}
.sd-vip{font-size:12px;font-weight:800;color:#8A5E12;background:#FBF3E1;border-radius:999px;padding:2px 9px;}
.sd-sub{font-size:13px;color:var(--sub);line-height:1.65;margin:6px 0 2px;}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 4px;}
.sd-grid label,.sd-h2{display:block;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:4px;}
.sd-h2{font-size:14px;font-weight:800;color:var(--ink);margin:12px 0 6px;}
.sd-grid select,.sd-grid input,.sd-sec>input{width:100%;border:1.5px solid var(--line);border-radius:10px;
  padding:11px;font-size:14.5px;font-family:inherit;background:#fff;box-sizing:border-box;}
.sd-sec>input{margin-top:10px;}
.sd-pair{display:flex;gap:6px;}
.sd-pair input{min-width:0;}
.sd-sec .btn{margin-top:12px;}
.sd-row{display:flex;gap:6px;align-items:center;margin:6px 0;}
.sd-row select,.sd-row input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:9px;
  padding:9px 6px;font-size:14px;font-family:inherit;background:#fff;}
.sd-row .sd-del{flex:0 0 auto;color:var(--red);font-size:15px;padding:0 6px;cursor:pointer;}
.sd-res{margin-top:12px;font-size:14px;}
.sd-ok{background:var(--green-l);color:#0B6B3C;padding:12px 14px;border-radius:12px;font-weight:700;line-height:1.7;}
.sd-err{background:#FDEAEA;color:#C0392B;padding:11px 13px;border-radius:12px;font-weight:700;}
.sd-form-err{margin:8px 2px;padding:11px 13px;border-radius:12px;font-size:15px;font-weight:900;
  color:#B0271B;background:linear-gradient(135deg,#FFE9E6,#FFD5CF);border:1.5px solid #F0A08E;
  box-shadow:0 4px 14px rgba(176,39,27,.18);display:flex;align-items:center;gap:6px;}
.sd-qcard{background:linear-gradient(150deg,#0E2318,#123624);color:#fff;border-radius:16px;padding:18px;
  box-shadow:0 14px 34px rgba(8,21,16,.35);}
.sd-qh{font-size:17px;font-weight:900;letter-spacing:.5px;}
.sd-qrate{margin-top:8px;font-size:38px;font-weight:900;line-height:1;}
.sd-qrate small{font-size:17px;font-weight:800;margin-left:2px;}
.sd-qlvl{display:inline-block;vertical-align:6px;margin-left:8px;background:rgba(255,255,255,.16);
  border-radius:999px;padding:3px 12px;font-size:13.5px;font-weight:800;}
.sd-qpot{margin-top:12px;background:rgba(22,201,126,.14);border:1px solid rgba(124,247,176,.3);
  border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.7;}
.sd-qt{margin:12px 0 6px;font-size:14px;font-weight:800;color:#A9F8D0;}
.sd-qcard ul{margin:0;padding-left:18px;}
.sd-qcard li{font-size:13.5px;line-height:1.7;margin:4px 0;color:#E7F2EC;}
.sd-rep{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;font-size:14px;line-height:1.6;}
.sd-replink{display:inline-block;margin-top:6px;color:var(--green);font-weight:800;text-decoration:none;}
/* 统一收件箱：状态徽标 + 新报告提醒 */
.sd-rh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sd-rmeta{font-size:12px;color:var(--muted);margin-top:2px;}
.sd-muted{color:var(--muted);font-size:13px;}
.sd-new{display:inline-block;background:#e23b3b;color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;line-height:1.6;}
.sd-done{display:inline-block;background:#e7f3ec;color:var(--green-d);font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;line-height:1.6;}
.sd-rev{display:inline-block;background:#fdeaea;color:#c0392b;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;line-height:1.6;}
.sd-wait{display:inline-block;background:#fff4e0;color:#b9770a;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px;line-height:1.6;}
.sd-newbar{background:#fff4f4;border:1px solid #f3c9c9;color:#c0392b;font-weight:700;font-size:13px;
  border-radius:12px;padding:10px 12px;margin:8px 0;text-align:center;}
/* 密档未激活：锁定文章卡（标题可见 · 摘要磨砂 · 解锁角标） */
.ic-blur{filter:blur(4.5px);opacity:.75;user-select:none;}
.ic-locktag{font-size:11.5px;font-weight:800;color:#8A5E12;background:#FBF3E1;border:1px solid #EFDDB4;
  border-radius:999px;padding:2px 8px;}

/* —— 我的 · 授权卡 —— */
.lic{border-radius:18px;padding:16px;margin-bottom:14px;}
.lic.on{background:linear-gradient(155deg,#0E3A2A,#082419);color:#fff;box-shadow:0 12px 30px rgba(8,36,25,.26);}
.lic.off{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);}
.lic-top{display:flex;align-items:center;gap:8px;}
.lic-badge{font-size:12px;font-weight:900;letter-spacing:.6px;border-radius:999px;padding:3px 10px;
  background:rgba(255,255,255,.16);color:#EAF7F0;}
.lic-badge.off{background:var(--orange-l);color:#87470F;}
.lic-tag{margin-left:auto;font-size:12px;color:rgba(255,255,255,.76);}
.lic-code{display:flex;align-items:center;gap:10px;margin-top:12px;}
.lic-code span{font-size:19px;font-weight:900;letter-spacing:.10em;}
.lic-copy{margin-left:auto;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);
  color:#fff;border-radius:9px;font-size:12px;font-weight:800;padding:5px 11px;cursor:pointer;font-family:inherit;}
.lic-date{margin-top:8px;font-size:13px;color:rgba(255,255,255,.80);}
.lic-dev{margin-top:4px;font-size:12.5px;color:rgba(255,255,255,.62);letter-spacing:.2px;}
.lic-dev b{color:rgba(255,255,255,.92);font-weight:800;}
.lic-row .btn[disabled]{opacity:.55;cursor:default;}
.lic-hint{font-size:13.5px;line-height:1.72;color:#47584F;}
.lic-row{margin-top:12px;gap:8px;}
.lic-input{flex:1;min-width:0;letter-spacing:.08em;font-weight:700;}

/* —— 激活页 —— */
.lic-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 16px;box-shadow:var(--shadow);}
/* 「如何获取激活码」说明框（用户 2026-09-26 加：放在输入激活码页顶部，绿框醒目） */
.act-how{margin:0 0 14px;padding:12px 14px;border:1.5px solid var(--green);border-radius:14px;background:var(--green-l);}
.act-how-t{font-size:14.5px;font-weight:900;color:var(--green-d);margin-bottom:5px;}
.act-how-b{font-size:13.5px;line-height:1.8;color:var(--ink);}
.lic-h3{margin:0 0 10px;font-size:17px;font-weight:900;color:var(--ink);}
.lic-p{margin:0 0 14px;font-size:13.5px;line-height:1.78;color:#47584F;}
.lic-p b{color:var(--ink);}
.lic-hr{display:flex;align-items:center;gap:10px;margin:20px 0 14px;color:var(--sub);font-size:12px;}
.lic-hr:before,.lic-hr:after{content:"";flex:1;height:1px;background:var(--line);}
.lic-thanks{margin-top:16px;text-align:center;font-size:12.5px;color:var(--sub);letter-spacing:.3px;}
/* ===== 密档正文排版（2026-09-21 立：标题层级 / 真表格 / 图表 / 提示框 / 插图）===== */
.ab-h2{margin:18px 0 10px;font-size:18px;font-weight:800;color:#14432C;line-height:1.4;padding-left:10px;border-left:4px solid #0A7A3F}
.ab-h3{margin:14px 0 8px;font-size:15.5px;font-weight:700;color:#1B5E3B;padding-left:9px;border-left:3px solid #9CCBB0}
.ab-p{margin:0 0 9px;font-size:15px;line-height:1.85;color:#33403A}
.ab-li{margin:0 0 6px;padding-left:15px;position:relative;font-size:15px;line-height:1.8;color:#33403A}
.ab-li:before{content:"";position:absolute;left:2px;top:9px;width:5px;height:5px;border-radius:50%;background:#0A7A3F}
.ab-tblwrap{margin:12px 0;overflow-x:auto;border:1px solid #E1EAE5;border-radius:10px;background:#fff}
.ab-tbl{width:100%;border-collapse:collapse;font-size:14px}
.ab-tbl th{background:#EAF3EE;color:#14432C;font-weight:700;padding:9px 11px;text-align:left;white-space:nowrap;border-bottom:1px solid #DCE8E1}
.ab-tbl td{padding:9px 11px;border-top:1px solid #F0F4F2;color:#33403A;line-height:1.6}
.ab-tbl tr.z td{background:#FAFCFB}
.ab-box{margin:12px 0;padding:11px 13px;background:#FDF8EC;border-left:4px solid #C98A12;border-radius:8px;font-size:14.5px;line-height:1.75;color:#4A3C22}
.ab-box b{display:block;margin-bottom:3px;color:#8A6212}
.ab-chartbox{margin:14px 0;padding:11px 10px 8px;background:#fff;border:1px solid #E1EAE5;border-radius:12px}
.ab-ct{font-size:14px;font-weight:700;color:#14432C;margin-bottom:6px}
.ab-chart{width:100%;height:auto;display:block}
.ab-lg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;font-size:13px;color:#4A5A51}
.ab-lg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.ab-fig{margin:14px 0}
.ab-fig img{width:100%;border-radius:10px;display:block}
.ab-fig figcaption{margin-top:6px;font-size:13px;color:#5F6E66;text-align:center}

/* ===== App 内下拉刷新指示器（替代浏览器原生下拉刷新，避免重载跳回首页）===== */
.ptr-ind{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 56px);transform:translateX(-50%);
  z-index:90;display:flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;
  background:rgba(20,40,30,.84);color:#fff;font-size:15px;line-height:1;white-space:nowrap;
  opacity:0;pointer-events:none;transition:opacity .18s;box-shadow:0 6px 18px rgba(0,0,0,.20);}
.ptr-ind.on{opacity:1}
.ptr-ind .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
  border-radius:50%;animation:gdSpin .7s linear infinite}
.ptr-ind.done .spin{animation:none;border-top-color:rgba(255,255,255,.35)}
@keyframes gdSpin{to{transform:rotate(360deg)}}

/* ===== 更新按钮内联提示（紧贴按钮右边，替代屏幕顶部 toast）===== */
.inline-msg{display:inline-block;max-width:62vw;font-size:15px;line-height:1.4;font-weight:600;
  color:#0A7A3F;opacity:0;transform:translateY(-2px);transition:opacity .18s,transform .18s;
  pointer-events:none;white-space:normal;}
.inline-msg.on{opacity:1;transform:none;animation:imIn .2s ease}
.inline-msg.ok{color:#0A7A3F}
.inline-msg.err{color:#B23B2E}
.inline-msg:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}
@keyframes imIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* ===== 难点爆破 · 板块专题库（细线条科幻感 · 配色可切 ?theme=0/1/2）===== */
.ndb-view{background:transparent;
  --ndb-ac:#39E0FF; --ndb-ac2:#14A3C0; --ndb-actx:#7CF3FF; --ndb-glow:rgba(57,224,255,.42);
  --ndb-hero-bg:radial-gradient(135% 120% at 50% -6%, #10313C 0%, #0B1A28 52%, #071019 100%);
  --ndb-loc-bg:linear-gradient(135deg,#0E2430,#0A1722);
  --ndb-rec-bg:linear-gradient(135deg,#0E2230,#0A1822);}
body[data-ndb-theme="1"] .ndb-view{
  --ndb-ac:#C4A7FF; --ndb-ac2:#845EF7; --ndb-actx:#D9C6FF; --ndb-glow:rgba(157,110,255,.44);
  --ndb-hero-bg:radial-gradient(135% 120% at 50% -6%, #2C1552 0%, #1A0C33 52%, #100623 100%);
  --ndb-loc-bg:linear-gradient(135deg,#241247,#160A2E);
  --ndb-rec-bg:linear-gradient(135deg,#221146,#140A2C);}
body[data-ndb-theme="2"] .ndb-view{
  --ndb-ac:#5FF0C8; --ndb-ac2:#0FA97C; --ndb-actx:#8BF3D6; --ndb-glow:rgba(70,230,190,.42);
  --ndb-hero-bg:radial-gradient(135% 120% at 50% -6%, #07342C 0%, #04231E 52%, #031713 100%);
  --ndb-loc-bg:linear-gradient(135deg,#063027,#041E18);
  --ndb-rec-bg:linear-gradient(135deg,#05281F,#041C16);}
.ndb-hero{position:relative;overflow:hidden;border-radius:20px;margin-bottom:14px;padding:15px 16px 13px;text-align:center;color:#EAFBFF;
  background:var(--ndb-hero-bg);
  box-shadow:0 14px 34px rgba(7,16,26,.42), inset 0 0 0 1px rgba(255,255,255,.10);}
.ndb-hero:before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.12);border-radius:15px;pointer-events:none;z-index:1;}
.ndb-deco{position:absolute;top:50%;left:50%;width:296px;height:112px;transform:translate(-50%,-54%);color:var(--ndb-ac);opacity:.17;z-index:1;pointer-events:none;}
.ndb-hero-in{position:relative;z-index:2;}
.ndb-title{position:relative;z-index:2;margin:2px 0 3px;font-size:34px;font-weight:900;letter-spacing:.16em;color:#F2FEFF;
  text-shadow:0 0 22px var(--ndb-glow);}
.ndb-kicker{position:relative;z-index:2;font-size:13px;font-weight:800;letter-spacing:.32em;color:var(--ndb-actx);}
.ndb-hero-s{position:relative;z-index:2;margin:7px auto 0;max-width:330px;font-size:13px;line-height:1.66;color:#AFC6D6;}
/* 九大学科按钮：3 列网格，留足间距防误触（最终版界面全部预留）*/
.ndb-subs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:0 2px 15px;}
.ndb-sub{position:relative;overflow:hidden;border:none;border-radius:15px;padding:15px 8px 13px;cursor:pointer;
  background:linear-gradient(135deg,var(--sc1),var(--sc2));opacity:.6;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  box-shadow:0 6px 16px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.30);  /* 2026-10-02：细内框线 + 轻投影，做出层次感 */
  transition:transform .14s,opacity .14s,box-shadow .14s;}
.ndb-sub:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,18,.26),rgba(8,12,18,.5));}
.ndb-sub-n{position:relative;z-index:1;font-size:16px;font-weight:900;color:#fff;letter-spacing:.06em;text-shadow:0 1px 3px rgba(0,0,0,.45);}
.ndb-sub-c{position:relative;z-index:1;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.82);letter-spacing:.02em;}
.ndb-sub.on{opacity:1;transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.34), inset 0 0 0 1.5px rgba(255,255,255,.85);}
.ndb-sub:active{transform:scale(.97);}
.ndb-cap{margin:0 4px 11px;font-size:12.5px;line-height:1.55;color:#6D6553;text-align:center;letter-spacing:.01em;}
.ndb-cap b{color:#B03A2E;font-weight:800;}
.ndb-rec{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 2px 14px;padding:12px 14px;
  background:var(--ndb-rec-bg);border:1px solid rgba(255,255,255,.14);border-left:4px solid #F5B93D;border-radius:14px;} /* 2026-09-26 明令：挪到「三选一」下方后用琥珀色边条与定位块区分 */
.ndb-rec-l{display:flex;flex-direction:column;gap:2px;}
.ndb-rec-t{font-size:14.5px;font-weight:800;color:#EAFBFF;}
.ndb-rec-n{font-size:12px;color:#8FB0C2;}
.ndb-rec-go{flex:0 0 auto;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#DCEBF5;
  font-size:13.5px;font-weight:800;padding:8px 14px;border-radius:999px;cursor:pointer;}
.ndb-rec-go:active{background:rgba(255,255,255,.16);}
.ndb-back-hint{margin-top:14px;font-size:12.5px;line-height:1.6;color:#6D6553;background:#F3EDE0;
  border:1px solid #E9E0CC;border-radius:10px;padding:9px 11px;text-align:center;}

/* 母题卡片网格 */
.ndb-grid{display:flex;flex-direction:column;gap:12px;margin-top:4px;}
.ndb-card{border-radius:16px;overflow:hidden;cursor:pointer;background:#FCF9F2;border:1px solid #E8DFCB;
  box-shadow:0 8px 20px rgba(60,50,30,.12);transition:transform .16s,box-shadow .16s;}
.ndb-card:active{transform:scale(.99);box-shadow:0 4px 12px rgba(60,50,30,.16);}
.ndb-card-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;color:#fff;overflow:hidden;}
.ndb-card-top:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.20),rgba(12,18,14,.34));}
.ndb-card-subj{position:relative;z-index:1;flex:0 0 auto;white-space:nowrap;font-size:14px;font-weight:900;letter-spacing:.4px;text-shadow:0 1px 3px rgba(0,0,0,.35);}
.ndb-card-body{padding:12px 14px 13px;}
.ndb-card-title{font-size:15px;font-weight:900;color:#26302A;line-height:1.45;}
.ndb-card-sum{margin-top:6px;font-size:13px;line-height:1.6;color:#5A5246;}
.ndb-card-go{margin-top:10px;font-size:13px;font-weight:800;color:#9C2F22;letter-spacing:.3px;}
.ndb-card-go b{font-size:14.5px;}

/* 难度 / 标签药丸 */
.ndb-diff{position:relative;z-index:1;flex:0 0 auto;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.5);color:#fff;white-space:nowrap;letter-spacing:.02em;}
.ndb-diff.easy{background:rgba(44,107,76,.55);}
.ndb-diff.mid{background:rgba(154,107,18,.62);}
.ndb-diff.hard{background:rgba(156,47,34,.6);}
.ndb-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.ndb-sec-tag{font-size:12px;font-weight:700;color:#6E5640;background:#F4ECDB;border:1px solid #E7DBC2;border-radius:999px;padding:2px 9px;}

/* 单模块详情 */
.ndb-mod-head{position:relative;padding:16px 16px 15px;color:#fff;overflow:hidden;margin:-14px -14px 0;
  border-radius:0 0 18px 18px;box-shadow:0 8px 20px rgba(0,0,0,.18);}
.ndb-mod-head:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,18,14,.16),rgba(12,18,14,.40));}
.ndb-mod-subj{position:relative;z-index:1;font-size:13px;font-weight:800;letter-spacing:.5px;color:rgba(255,255,255,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);}
.ndb-mod-title{position:relative;z-index:1;margin-top:6px;font-size:18px;font-weight:900;line-height:1.4;text-shadow:0 1px 4px rgba(0,0,0,.35);}
.ndb-mod-meta{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;}

/* 内容块排版（浅底深字，遵循配色铁律） */
.ndb-blocks{padding-top:14px;}
.ndb-h1{font-size:20px;font-weight:900;color:#2B2433;line-height:1.4;margin:6px 0 12px;letter-spacing:.2px;}
/* 2026-09-30 版面升级：h2 改「彩色胶囊标题」——渐变底+序号徽章+图标，一眼分层，不再混在正文里 */
.ndb-h2{display:flex;align-items:center;gap:9px;font-size:17.5px;font-weight:900;color:#FFFFFF;line-height:1.4;
  margin:22px 0 12px;padding:11px 14px;border-radius:14px;
  background:linear-gradient(120deg,#B03A2E,#C9500B);
  box-shadow:0 3px 12px rgba(176,58,46,.28);letter-spacing:.3px;}
.ndb-h2-ic{font-size:17px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25));}
.ndb-h2-no{flex:0 0 auto;width:22px;height:22px;line-height:22px;text-align:center;font-size:13px;font-weight:900;
  color:#B03A2E;background:#FFF; border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.18);}
.ndb-h2-t{flex:1 1 auto;}
/* 「如何搞定这一类题」通关总纲：金色高亮 + 卡片底纹，让它在一堆标题里跳出来 */
.ndb-h2.ndb-h2-star{background:linear-gradient(120deg,#C9A227,#E0A83C);box-shadow:0 4px 14px rgba(201,162,39,.42);font-size:18px;}
.ndb-h2.ndb-h2-star .ndb-h2-no{color:#C9A227;}
.ndb-sec-star{background:linear-gradient(180deg,#FFFCF2,#FFF8E6);border:1.5px solid #F0DFA8;border-radius:16px;padding:10px 12px 4px;margin:20px 0 14px;}
.ndb-h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#7A4A1E;line-height:1.45;
  margin:16px 0 8px;letter-spacing:.2px;background:#FDF6E7;border-radius:9px;padding:8px 11px;}
.ndb-h3-bar{width:4px;height:15px;border-radius:3px;background:linear-gradient(180deg,#C9A227,#B03A2E);flex:0 0 auto;}
.ndb-p{font-size:14.5px;line-height:1.85;color:#3A433C;margin:9px 0;}
/* 目录（可点击跳转） */
.ndb-toc{margin:12px 4px 4px;padding:12px 12px 10px;border-radius:16px;
  background:linear-gradient(135deg,#F6F1E4,#EFE7D6);border:1px solid #E4D9C0;box-shadow:0 2px 8px rgba(120,100,60,.10);}
.ndb-toc-h{font-size:13.5px;font-weight:900;color:#7A4A1E;margin-bottom:9px;letter-spacing:.3px;}
.ndb-toc-list{display:flex;flex-direction:column;gap:7px;}
.ndb-toc-b{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-size:14px;font-weight:800;
  color:#3A3226;background:#FFFDF7;border:1.5px solid #E6DCC4;border-radius:11px;padding:9px 11px;cursor:pointer;}
.ndb-toc-b:active{background:#F3EBD8;}
.ndb-toc-ic{font-size:14.5px;flex:0 0 auto;}
.ndb-toc-t{flex:1 1 auto;line-height:1.45;}
.ndb-sec{scroll-margin-top:8px;}
.ndb-sec-flash{animation:ndbFlash 1.6s ease-out;}
@keyframes ndbFlash{0%{background:rgba(255,214,120,.55);}100%{background:transparent;}}
.ndb-p b,.ndb-callout b,.ndb-list li b{color:#9C2F22;font-weight:800;}
.ndb-eq{font-size:14px;line-height:1.9;color:#2B2433;background:#F7F3EA;border-left:3px solid #C9A227;
  border-radius:0 10px 10px 0;padding:9px 13px;margin:10px 0;overflow-x:auto;white-space:nowrap;
  font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;letter-spacing:.2px;}
.ndb-callout{font-size:14px;line-height:1.75;color:#5A4A2E;
  background:linear-gradient(180deg,#FFF9EC,#FBF3E2);border:1px solid #ECDDBE;
  border-left:5px solid #B03A2E;border-radius:0 14px 14px 0;padding:12px 14px;margin:12px 0;position:relative;
  box-shadow:0 2px 7px rgba(150,120,70,.10);}
.ndb-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:7px;}
.ndb-list li{font-size:14px;line-height:1.65;color:#43392C;background:#FBF6EC;border:1px solid #EFE6D2;
  border-radius:10px;padding:9px 12px;position:relative;padding-left:26px;}
.ndb-list li:before{content:"";position:absolute;left:11px;top:14px;width:6px;height:6px;background:#B03A2E;
  border-radius:50%;flex:0 0 auto;}
.ndb-table-wrap{margin:12px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid #E8DFCB;}
.ndb-table{border-collapse:collapse;width:100%;font-size:13px;background:#fff;color:#3A433C;}
.ndb-table th{background:#2B2433;color:#F3E3B8;font-weight:800;text-align:left;padding:9px 11px;white-space:nowrap;
  letter-spacing:.3px;}
.ndb-table td{padding:8px 11px;border-top:1px solid #EDE6D6;line-height:1.55;vertical-align:top;}
.ndb-table tbody tr:nth-child(even){background:#FBF8F0;}
.ndb-fig{margin:13px 0;}
.ndb-fig img{width:100%;border-radius:12px;display:block;box-shadow:0 6px 18px rgba(60,50,30,.14);background:#fff;}
.ndb-fig figcaption{margin-top:7px;font-size:12.5px;color:#6B6353;line-height:1.5;text-align:center;}
.ndb-foot{margin-top:18px;padding-top:12px;border-top:1px dashed #DAD0BC;font-size:12px;line-height:1.6;color:#8A7E68;text-align:center;}
.ndb-empty{margin:24px 6px;padding:20px 16px;text-align:center;font-size:14px;line-height:1.7;color:#6D6553;
  background:#F3EDE0;border:1px dashed #D8CBB0;border-radius:14px;}

/* ===== 难点爆破 · 定位器（三选一：拍照 / 选板块 / 手填）===== */
.ndb-loc{margin:0 2px 16px;padding:14px;border-radius:16px;color:#EAFBFF;
  background:var(--ndb-loc-bg);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 10px 26px rgba(7,16,26,.32), inset 0 0 0 1px rgba(255,255,255,.06);}
.ndb-loc-h{font-size:14.5px;font-weight:900;letter-spacing:.04em;color:var(--ndb-actx);margin-bottom:11px;display:flex;flex-direction:column;gap:3px;}
.ndb-loc-hrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* 「请先在上方选择科目」常驻提醒（用户 2026-09-26 明令：放标题右边＋颜色区分，不再用 toast） */
.ndb-subj-tip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#F5B93D;color:#3A2B00;font-size:15px;font-weight:800;letter-spacing:.02em;white-space:nowrap;animation:ndbTipPulse 1.6s ease-in-out infinite;}
@keyframes ndbTipPulse{0%,100%{opacity:1}50%{opacity:.55}}
.ndb-loc-h2{font-size:13px;font-weight:700;letter-spacing:.02em;color:#CFE9F5;}
.ndb-loc-row{display:flex;gap:8px;}
.ndb-loc-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.06);color:#DCEBF5;border-radius:12px;padding:11px 6px;font-size:14px;font-weight:800;cursor:pointer;
  transition:transform .14s, background .14s;}
.ndb-loc-btn svg{width:17px;height:17px;flex:0 0 auto;}
.ndb-loc-btn:active{transform:scale(.97);background:rgba(255,255,255,.15);}
.ndb-ptags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;align-content:flex-start;max-height:168px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px;scrollbar-width:thick;scrollbar-color:var(--ndb-ac,#C9A227) rgba(255,255,255,.10);}
.ndb-ptag{font-size:13px;font-weight:700;color:#CFE0EC;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);
  border-radius:999px;padding:6px 12px;cursor:pointer;transition:all .14s;}
.ndb-ptag.on{color:#04222B;background:var(--ndb-ac);border-color:var(--ndb-ac);font-weight:800;box-shadow:0 4px 12px var(--ndb-glow);}
.ndb-ptag:active{transform:scale(.96);}
.ndb-ptags-empty{margin-top:12px;font-size:13px;line-height:1.6;color:#8FB0C2;}
.ndb-filtered{margin-top:11px;font-size:13px;color:#8FB0C2;display:flex;align-items:center;gap:8px;}
.ndb-clear{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.08);color:#DCEBF5;
  font-size:12.5px;font-weight:800;padding:5px 11px;border-radius:999px;cursor:pointer;}
.ndb-fill{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18);}
.ndb-fill-in{display:flex;gap:8px;}
.ndb-fill-input{flex:1;min-width:0;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.07);color:#EAFBFF;
  border-radius:11px;padding:11px 12px;font-size:14px;outline:none;}
.ndb-fill-input::placeholder{color:#7E97A6;}
.ndb-fill-btn{flex:0 0 auto;border:none;border-radius:11px;background:linear-gradient(135deg,var(--ndb-ac),var(--ndb-ac2));color:#04222B;
  font-size:14px;font-weight:800;padding:11px 16px;cursor:pointer;}
.ndb-fill-btn:active{transform:scale(.97);}
.ndb-fill-res{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.ndb-res{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);border-radius:12px;padding:10px 12px;cursor:pointer;}
.ndb-res-t{font-size:14px;font-weight:800;color:#EAFBFF;line-height:1.4;}
.ndb-res-s{font-size:12px;color:#8FB0C2;margin-top:3px;}
.ndb-res-go{font-size:13px;font-weight:800;color:var(--ndb-actx);margin-top:5px;}
.ndb-fill-empty{font-size:13.5px;color:#8FB0C2;line-height:1.6;padding:8px 2px;}

/* 母题详情：记到档案 */
.ndb-save{margin:14px 2px 0;display:flex;}
.ndb-save-btn{flex:1;border:none;border-radius:12px;background:linear-gradient(135deg,var(--ndb-ac),var(--ndb-ac2));color:#04222B;
  font-size:14.5px;font-weight:800;padding:12px;cursor:pointer;box-shadow:0 8px 20px var(--ndb-glow);}
.ndb-save-btn:active{transform:scale(.98);}
.ndb-save-btn.done{background:rgba(255,255,255,.08);color:#9FB8C8;border:1px solid rgba(255,255,255,.24);box-shadow:none;}

/* ===== 我的爆破记录 ===== */
.ndb-bl-view{background:transparent;}
.ndb-bl-hint{margin:2px 4px 12px;font-size:12.5px;line-height:1.6;color:#6D6553;background:#F3EDE0;border:1px solid #E9E0CC;border-radius:10px;padding:8px 11px;text-align:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;}
.ndb-bl-collapse{font-size:12px;font-weight:800;color:#7A4B12;background:#FFF3DC;border:1px solid #E3C88F;border-radius:8px;padding:4px 12px;cursor:pointer;white-space:nowrap;}
.ndb-bl-collapse:active{background:#FBE8BF;}
/* 爆破记录多维筛选（参照竞品错题本筛选条：状态 / 来源 / 学科） */
.ndb-bl-bar{margin:2px 4px 10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;}
.ndb-bl-row{display:flex;flex-wrap:wrap;gap:6px;}
.ndb-bl-row+.ndb-bl-row{margin-top:7px;}
.ndb-bl-f{border:1px solid var(--line);background:#fff;color:var(--sub);font-size:12.5px;font-weight:700;
  padding:6px 10px;border-radius:999px;cursor:pointer;font-family:inherit;transition:all .12s;}
.ndb-bl-f.on{background:linear-gradient(135deg,#12B45E,#0B8A48);border-color:transparent;color:#fff;}
.ndb-bl-item{margin:0 2px 12px;border-radius:15px;overflow:hidden;background:#FCF9F2;border:1px solid #E8DFCB;box-shadow:0 8px 18px rgba(60,50,30,.10);}
.ndb-bl-top{display:flex;align-items:center;gap:9px;padding:11px 13px;background:var(--ndb-loc-bg);}
.ndb-bl-ic{font-size:15px;flex:0 0 auto;}
.ndb-bl-title{flex:1;min-width:0;font-size:14px;font-weight:800;color:#EAFBFF;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ndb-bl-st{flex:0 0 auto;font-size:12.5px;font-weight:800;padding:4px 11px;border-radius:999px;cursor:pointer;border:1px solid transparent;}
.ndb-bl-st.doing{color:#FFD9A0;background:rgba(255,170,80,.16);border-color:rgba(255,170,80,.45);}
/* 已搞定：实心亮绿+白字+光晕，配 ✓（2026-09-30 用户明令：搞定/没搞定要一眼区分） */
.ndb-bl-st.done{color:#FFFFFF;background:linear-gradient(135deg,#16C973,#0E9F5E);border-color:#16C973;box-shadow:0 2px 10px rgba(22,201,115,.5);font-weight:900;font-size:15px;letter-spacing:.5px;}
.ndb-bl-meta{font-size:12.5px;color:#6A6253;padding:8px 13px 0;display:flex;gap:6px;flex-wrap:wrap;}
.ndb-bl-media{width:100%;max-height:180px;object-fit:cover;display:block;padding:8px 13px 0;box-sizing:border-box;border-radius:0;}
.ndb-bl-act{display:flex;flex-wrap:wrap;gap:8px;padding:11px 13px 13px;}
.ndb-bl-go{flex:1;border:1px solid #C9A227;background:#FBF3E2;color:#8A6A1E;border-radius:11px;font-size:14px;font-weight:800;padding:10px;cursor:pointer;}
.ndb-bl-go:active{transform:scale(.98);}
.ndb-bl-del{flex:0 0 auto;border:1px solid #E2C4BC;background:#FFF5F3;color:#B5523F;border-radius:11px;font-size:14px;font-weight:800;padding:10px 14px;cursor:pointer;}
.ndb-bl-del:active{transform:scale(.98);}
.ndb-bl-nomatch{flex:1;display:flex;align-items:center;justify-content:center;font-size:13.5px;color:#9A8F7C;background:#F3EDE0;border:1px dashed #D8CBB0;border-radius:11px;padding:10px;}
.ndb-bl-tip{margin:0 13px 12px;font-size:13px;line-height:1.5;color:#C8731A;background:#FFF7EC;border:1px solid #FFD9A8;border-radius:10px;padding:7px 10px;}
.ndb-bl-match-hint{margin:0 2px 14px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#0F3A2B,#0A281C);
  border:1px solid rgba(124,247,176,.25);box-shadow:0 8px 20px rgba(7,16,26,.28);}
.ndb-bl-match-title{font-size:14px;font-weight:800;color:#EAFBFF;line-height:1.5;}
.ndb-bl-match-sub{font-size:12.5px;color:#8FB0C2;margin-top:5px;line-height:1.5;}
.ndb-bl-match-go{display:block;width:100%;margin-top:10px;border:none;background:linear-gradient(135deg,#16C97E,#0B8A48);color:#fff;
  font-size:14px;font-weight:800;padding:11px;border-radius:11px;cursor:pointer;text-align:center;}
.ndb-bl-match-go:active{transform:scale(.98);}

/* 板块选择器滚动条（用户 2026-09-24 要求：可下滑 + 右侧粗滚动条，全科目生效） */
.ndb-ptags::-webkit-scrollbar{width:12px;}
.ndb-ptags::-webkit-scrollbar-track{background:rgba(255,255,255,.10);border-radius:8px;}
.ndb-ptags::-webkit-scrollbar-thumb{background:var(--ndb-ac,#C9A227);border-radius:8px;border:2px solid rgba(0,0,0,.18);}
.ndb-ptags::-webkit-scrollbar-thumb:hover{filter:brightness(1.12);}
/* 模块详情页长表同理可滑（保险起见统一处理） */
.ndb-table-wrap::-webkit-scrollbar{height:12px;width:12px;}
.ndb-table-wrap::-webkit-scrollbar-track{background:#F1EADB;border-radius:8px;}
.ndb-table-wrap::-webkit-scrollbar-thumb{background:#B03A2E;border-radius:8px;border:2px solid #F1EADB;}

/* ---------- 难点爆破：未激活板块锁（2026-09-24 用户明令） ---------- */
/* 锁定卡片：标题可见、摘要/标签磨砂；免费卡片挂「免费试读」角标 */
.ndb-card.locked{position:relative;cursor:pointer;}
.ndb-card.locked .ndb-card-sum,.ndb-card.locked .ndb-tags,.ndb-card.locked .ndb-card-go{filter:blur(4px);opacity:.72;user-select:none;pointer-events:none;}
.ndb-lock-badge{position:absolute;top:34px;right:10px;z-index:2;background:rgba(15,23,42,.62);color:#fff;
  font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.ndb-lock-badge.free{top:10px;background:rgba(21,128,61,.88);}
/* 原地解锁浮层：磨砂玻璃 + 搞定介绍卡（同核心密档锁屏内容） */
.ndb-lock-ov{position:fixed;inset:0;z-index:96;display:flex;align-items:center;justify-content:center;padding:18px;}
.ndb-lock-ov .lk-frost2{position:absolute;inset:0;background:rgba(15,23,42,.38);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.ndb-lock-ov .lk-card{position:relative;z-index:2;max-width:430px;width:100%;max-height:82vh;overflow-y:auto;margin:0;}
.ndb-lock-x{position:absolute;top:14px;right:16px;z-index:3;width:32px;height:32px;border-radius:50%;
  border:none;background:rgba(255,255,255,.9);color:#334155;font-size:15px;line-height:32px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18);}

/* AI 解析块（爆破记录「看解法」） */
.ndb-sol{margin:10px 0 4px;border:1px solid #D8CBB0;border-radius:14px;background:#FBF7EE;padding:12px 14px;}
.ndb-sol-ans{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;font-weight:800;color:#0A281C;line-height:1.5;}
.ndb-sol-ans-l{flex:0 0 auto;font-size:12.5px;font-weight:800;color:#FBF7EE;background:#0A281C;border-radius:8px;padding:3px 9px;}
.ndb-sol-badge{flex:0 0 auto;font-size:11.5px;font-weight:800;color:#5F5E5A;background:#F1EFE8;border:1px solid #D3D1C7;border-radius:8px;padding:3px 8px;}
.ndb-sol-badge.ok{color:#0B6B3A;background:#E7F6EC;border-color:#9FD8B4;}
.ndb-sol-badge.mid{color:#7A4C0B;background:#FCF3E2;border-color:#E8CE9A;}
.ndb-sol-steps{margin-top:10px;display:flex;flex-direction:column;gap:8px;}
.ndb-sol-step{border-left:3px solid #C9B98F;padding:2px 0 2px 10px;}
.ndb-sol-step-t{font-size:13.5px;font-weight:800;color:#4A4234;}
.ndb-sol-step-d{font-size:13.5px;color:#5F5648;line-height:1.65;margin-top:2px;}
.ndb-sol-kws{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;}
.ndb-sol-kw{font-size:12px;font-weight:800;color:#0F5A46;background:#E3F2EC;border:1px solid #BADFCE;border-radius:8px;padding:3px 8px;}
.ndb-sol-note{margin-top:10px;font-size:11.5px;color:#9A8F7C;line-height:1.5;}

/* —— 六段式 AI 私教解析卡片（v2） —— */
.ndb-sol-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.ndb-sol-lvl{font-size:12px;font-weight:800;color:#3C5A78;background:#EAF1F8;border:1px solid #C3D6EA;border-radius:8px;padding:3px 9px;}
.ndb-sol-collapse{margin-left:auto;font-size:12px;font-weight:700;color:#5B6B7A;background:#F2F5F8;border:1px solid #D5DEE6;border-radius:8px;padding:4px 11px;cursor:pointer;white-space:nowrap;}
.ndb-sol-collapse:active{background:#E4EAF0;}
.ndb-sol-badge.warn{color:#8A2C12;background:#FDECE7;border-color:#F0B9A9;}
.ndb-sol-secs{margin-top:10px;display:flex;flex-direction:column;gap:10px;}
.ndb-sol-sec{border-left:4px solid #2B7CD3;background:#FFFDF8;border-radius:0 10px 10px 0;padding:8px 12px;}
.ndb-sol-sec-t{font-size:13.5px;font-weight:900;line-height:1.4;margin-bottom:3px;display:flex;align-items:flex-start;gap:8px;}
.ndb-sec-tt{flex:1 1 auto;}
.ndb-sec-ask{flex:0 0 auto;font-size:11.5px;font-weight:700;color:#0B6B3A;background:#EAF7EF;border:1px solid #8FCEAA;border-radius:7px;padding:2px 8px;cursor:pointer;white-space:nowrap;margin-top:1px;}
.ndb-sec-ask:active{background:#D8EFE1;}
.ndb-sol-sec-b{font-size:13.5px;color:#4F4738;line-height:1.75;white-space:pre-wrap;}
.ndb-sol-warn{margin-top:10px;font-size:13px;color:#8A2C12;background:#FDECE7;border:1px solid #F0B9A9;border-radius:10px;padding:8px 10px;line-height:1.6;}
.ndb-sol-alt{margin-top:10px;background:#F6F4EE;border:1px dashed #C9C2B2;border-radius:10px;padding:8px 10px;}
.ndb-sol-alt summary{font-size:13px;font-weight:800;color:#0A281C;cursor:pointer;}
.ndb-sol-alt-b{margin-top:8px;font-size:13px;color:#5F5648;line-height:1.7;white-space:pre-wrap;max-height:340px;overflow:auto;}
.ndb-sol-cost{margin-top:6px;font-size:11.5px;color:#8A7F6B;text-align:right;}
.ndb-sol-ask{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.ndb-sol-ask-b{flex:1 1 46%;min-width:120px;font-size:13px;font-weight:800;color:#0B6B3A;background:#EAF7EF;border:1.5px solid #8FCEAA;border-radius:10px;padding:9px 6px;cursor:pointer;}
.ndb-sol-ask-b:active{background:#D8EFE2;}
.ndb-sol-ask-r{margin-top:10px;border-left:3px solid #0B8A8A;background:#F2FAFA;border-radius:0 10px 10px 0;padding:8px 10px;}
.ndb-sol-ask-rt{font-size:12.5px;font-weight:900;color:#0B6B6B;margin-bottom:3px;}
.ndb-sol-ask-rb{font-size:13.5px;color:#4F4738;line-height:1.75;white-space:pre-wrap;}

/* ---------- 密档「听文章」播放器（2026-09-30 立）---------- */
/* 家长常在开车、做家务时听，所以主按钮必须够大够醒目，一眼看到喇叭 */
.tts-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 10px;padding:11px 12px;
  background:linear-gradient(135deg,#FFF6E8,#FDEBD8);border:1px solid #F0DCBE;border-radius:14px;
  box-shadow:0 2px 10px rgba(176,58,46,.07);}
.tts-main{flex:1 1 100%;min-height:50px;font-size:16.5px;font-weight:900;color:#fff;letter-spacing:.5px;
  background:linear-gradient(135deg,#E8703A,#C9412A);border:0;border-radius:12px;padding:12px 14px;
  box-shadow:0 4px 12px rgba(201,65,42,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.tts-main:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(201,65,42,.25);}
.tts-main.go{background:linear-gradient(135deg,#3AA76D,#237A4B);box-shadow:0 4px 12px rgba(35,122,75,.28);}
.tts-sub{flex:0 0 auto;font-size:13.5px;font-weight:800;color:#8A5A2B;background:#fff;
  border:1px solid #E5CFA8;border-radius:10px;padding:8px 11px;cursor:pointer;}
.tts-sub:active{background:#FBF1E2;}
.tts-live{margin:-2px 0 12px;padding:9px 12px;font-size:13.5px;font-weight:800;line-height:1.6;color:#237A4B;
  background:#EAF7EF;border:1px solid #C6E7D3;border-radius:12px;}
.tts-tip{display:block;margin-top:3px;font-size:12px;font-weight:600;color:#5E7A68;}
.tts-voices{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px;padding:10px;background:#FBF6EC;
  border:1px dashed #E0CBA6;border-radius:12px;}
.tts-v{font-size:13px;font-weight:800;color:#7A4A1E;background:#fff;border:1px solid #E5CFA8;
  border-radius:9px;padding:7px 10px;cursor:pointer;}
.tts-v.on{color:#fff;background:linear-gradient(135deg,#E8703A,#C9412A);border-color:#C9412A;}
.tts-v.close{width:100%;text-align:center;color:#8A8578;background:transparent;border-style:dashed;}
.tts-v-empty{width:100%;font-size:12.5px;line-height:1.6;color:#8A6A45;}

/* ---------- 志愿基础学习专区 · 分类入口（2026-09-30 立）---------- */
/* 家长一进来先看到分类，而不是几十篇长文 —— 每个分类卡片带独立强调色 */
.zy-cats{margin:4px 0 14px;}
.zy-cats-h{font-size:13px;line-height:1.7;color:#6D6553;background:#F3EDE0;border:1px solid #E9E0CC;
  border-radius:10px;padding:8px 11px;margin-bottom:10px;}
.zy-cat{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding:12px 13px;background:#fff;
  border:1px solid #EADFC8;border-left:5px solid var(--cc,#B03A2E);border-radius:13px;cursor:pointer;
  box-shadow:0 2px 8px rgba(120,90,50,.06);}
.zy-cat:active{transform:translateY(1px);background:#FDFAF3;}
.zy-cat-ic{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  font-size:20px;background:color-mix(in srgb,var(--cc,#B03A2E) 12%,#fff);}
.zy-cat-tx{flex:1 1 auto;min-width:0;}
.zy-cat-n{font-size:15px;font-weight:900;color:#2B2433;line-height:1.35;letter-spacing:.2px;}
.zy-cat-d{font-size:12.5px;line-height:1.55;color:#7A7364;margin-top:2px;}
.zy-cat-c{flex:0 0 auto;font-size:12.5px;font-weight:900;color:var(--cc,#B03A2E);
  background:color-mix(in srgb,var(--cc,#B03A2E) 10%,#fff);border-radius:8px;padding:4px 9px;}
.zy-back{display:flex;align-items:center;gap:10px;margin:2px 0 12px;}
.zy-back button{font-size:13.5px;font-weight:800;color:#8A5A2B;background:#fff;border:1px solid #E5CFA8;
  border-radius:10px;padding:7px 12px;cursor:pointer;}
.zy-back span{font-size:13px;font-weight:800;color:#6D6553;}

/* ---------- 深度诊断「人工」标签（营销包装：显得有老师人工）---------- */
.human-tag{display:inline-block;margin-left:8px;font-size:15px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#3B82F6,#2563EB);border-radius:6px;padding:2px 8px;
  vertical-align:middle;letter-spacing:.5px;box-shadow:0 2px 6px rgba(37,99,235,.25);}

/* ---------- 难点爆破卡片「人工输出」标注 + 解析下载按钮 ---------- */
.ndb-human-out{display:inline-block;margin-left:8px;font-size:15px;font-weight:800;color:#0B6B3F;
  background:#E6F6EE;border:1px solid #BFE6CF;border-radius:6px;padding:2px 7px;vertical-align:middle;}
.ndb-sol-dl{margin:12px 0 2px;}

/* ---------- 核心密档：引导横幅 + 上下分框（层次更分明）---------- */
.info-banner{margin:8px 12px 10px;padding:11px 14px;border-radius:13px;font-size:15px;font-weight:800;
  color:#fff;background:linear-gradient(135deg,#0FA958,#0B8A48);box-shadow:0 6px 16px rgba(15,169,88,.28);
  line-height:1.45;}
.info-upper{margin:0 12px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 12px 8px;
  box-shadow:0 2px 10px rgba(40,70,55,.05);}
.info-lower{margin:12px 12px 0;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;
  box-shadow:0 2px 10px rgba(40,70,55,.05);}
.btn-back-cat{font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0FA958,#0B8A48);
  border:0;border-radius:10px;padding:8px 14px;cursor:pointer;box-shadow:0 3px 8px rgba(15,169,88,.25);}

/* ---------- 我的：清空本机数据 提示 + 右下角小按钮 ---------- */
.reset-tip{display:flex;flex-direction:column;margin-top:18px;padding:13px 14px;border:1px solid #F0D9C9;
  background:#FDF6EF;border-radius:13px;}
.reset-tip .rt-tx{font-size:13px;line-height:1.7;color:#8A6A45;margin-bottom:10px;}
.reset-tip .rt-btn{align-self:flex-end;}
.btn.xs{font-size:12.5px;padding:6px 12px;border-radius:9px;}

/* ---------- R-44 微调（2026-09-30 晚，用户反馈）---------- */
/* ① 两个快速入口的橙色按钮上下严格对齐：固定宽 + 居中 */
.hero .go{width:96px;padding:12px 0;text-align:center;}
/* ③ 难点爆破：人工输出移到科目与难度中间，难度保持靠右；高亮琥珀配色（不再绿底绿字） */
.ndb-card-top .ndb-diff{margin-left:auto;}
.ndb-human-out{margin-left:0;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:10.5px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#243B8F,#3B6FE0);border:1px solid rgba(255,255,255,.6);
  border-radius:999px;padding:3px 10px;letter-spacing:.03em;white-space:nowrap;
  box-shadow:0 2px 14px rgba(40,70,200,.55),inset 0 1px 0 rgba(255,255,255,.45);}
/* ④ 核心密档横幅：放大 + 炫彩流动渐变（科幻感） */
.info-banner{margin:10px 12px 12px;padding:16px 17px;border-radius:17px;font-size:17.5px;font-weight:900;
  letter-spacing:.6px;color:#fff;border:1px solid rgba(255,255,255,.30);
  background:linear-gradient(115deg,#1A2A6C,#2A4DD0 28%,#00A896 58%,#7B2CBF 88%);
  background-size:240% 240%;animation:ibFlow 7s ease infinite;
  box-shadow:0 10px 28px rgba(42,77,208,.40), inset 0 1px 0 rgba(255,255,255,.28);
  line-height:1.5;}
.info-banner .ib-sub{font-size:13.5px;font-weight:700;opacity:.95;letter-spacing:.3px;}
@keyframes ibFlow{0%{background-position:0% 50%;}50%{background-position:100% 50%;}100%{background-position:0% 50%;}}
/* ⑤ 密档上下两块加深且区分：上=冷色科技面板（带三色顶线），下=暖色卷面 */
.info-upper{background:linear-gradient(170deg,#EDF2FB,#E0E9F7);border:1px solid #C7D5EC;border-radius:16px;
  box-shadow:0 6px 18px rgba(35,60,120,.12);}
.info-upper:before{display:none;}
.info-lower{background:linear-gradient(170deg,#FBF7ED,#F4EDDC);border:1px solid #E2D4B8;border-radius:16px;
  box-shadow:0 6px 18px rgba(120,90,40,.12);}
/* ⑦ 清空按钮：文字多宽就多宽，缩到右下角 */
.reset-tip .rt-btn{width:auto;flex:0 0 auto;padding:4px 10px;font-size:15px;border-radius:8px;}

/* ---------- R-45（2026-09-30 晚三）---------- */
/* ① 难点爆破顶框：光束来回穿梭 + 科幻流光（同核心密档横幅质感） */
.ndb-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(105deg,transparent 0%,transparent 36%,rgba(255,255,255,.14) 45%,rgba(150,240,255,.38) 50%,rgba(255,255,255,.14) 55%,transparent 64%,transparent 100%),
    linear-gradient(115deg,rgba(0,168,150,.20),transparent 42%,rgba(123,44,191,.24) 78%,transparent);
  background-size:260% 100%,100% 100%;
  animation:ndbBeam 4.6s ease-in-out infinite;}
@keyframes ndbBeam{
  0%{background-position:130% 0,0 0;}
  50%{background-position:-30% 0,0 0;}
  100%{background-position:130% 0,0 0;}}
/* ② 两个 hero 橙按钮上下严格对齐（加固：flex-basis 锁死宽度） */
.hero .go{width:96px;min-width:96px;flex:0 0 96px;padding:12px 0;text-align:center;}
.hero h3{font-size:17px;}
/* ③ 核心密档内容区拉宽：卡片左右留白 12→8px，内边距同步收紧 */
.info-banner{margin:8px 8px 7px;}
.info-upper{margin:0 8px;padding:9px 9px;}
.info-lower{margin:12px 8px 0;padding:12px 10px;transition:border-color .25s ease;}

/* ---------- R-46（2026-09-30 晚四）---------- */
/* ① 两张 hero 卡等高 + 橙按钮右对齐：左文字弹性占满、按钮钉死右缘（根因=按钮紧跟文字，文字长短不一导致按钮 x 不齐） */
.hero{min-height:104px;}
.hero > div{flex:1 1 auto;min-width:0;}
/* ② 核心密档统计条压缩：去版本号（我的页已有）+ 缩 padding/字号，单行不换行 */
.info-stat{padding:5px 10px;margin:0 2px 6px;font-size:15px;gap:8px;border-radius:11px;}
.info-stat .is-btn{font-size:13px;padding:4px 9px;}
.info-stat .inline-msg{font-size:11.5px;}

/* ---------- R-48（2026-09-30）难点爆破顶级化排版：新增区块视觉 ---------- */
/* ① 成果承诺卡（金边卡片，一眼看到"我能得到什么"） */
.ndb-gain{margin:12px 2px;padding:13px 14px 12px;border-radius:14px;
  background:linear-gradient(160deg,#FFFDF4,#FFF6E2);border:1.5px solid #F0D79A;
  box-shadow:0 3px 12px rgba(201,162,39,.13);}
.ndb-gain-h{font-size:14px;font-weight:900;color:#8A5A00;letter-spacing:.3px;margin-bottom:9px;}
.ndb-gain-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.ndb-gain-l li{display:flex;gap:7px;font-size:14px;line-height:1.75;color:#4A3A18;}
.ndb-gain-ck{flex:0 0 auto;font-size:13px;line-height:1.7;}
/* ② 口诀：大字高亮视觉锤 */
.ndb-slogan{margin:14px 2px;padding:14px 15px;border-radius:14px;display:flex;gap:10px;align-items:flex-start;
  background:linear-gradient(135deg,#2B2A26,#3E3A2E);border-left:5px solid #FFC53D;
  box-shadow:0 4px 14px rgba(0,0,0,.16);}
.ndb-slogan-ic{font-size:17px;flex:0 0 auto;}
.ndb-slogan-t{font-size:16.5px;font-weight:900;line-height:1.55;color:#FFE9A8;letter-spacing:.4px;}
.ndb-slogan-t b{color:#FFD45E;}
/* ③ 考场秒用徽章 */
.ndb-sec-tag{display:inline-flex;align-items:center;gap:5px;margin:8px 2px 2px;padding:5px 11px;border-radius:20px;
  background:#EAF6FF;border:1px solid #B8DCF5;color:#1668A8;font-size:15px;font-weight:800;}
.ndb-sec-tag-ic{font-size:13px;}
/* ④ 折叠推导（details 原生，点开才看） */
.ndb-fold{margin:9px 2px;border:1px solid #E5D9BF;border-radius:12px;background:#FDFBF4;overflow:hidden;}
.ndb-fold-s{list-style:none;cursor:pointer;padding:10px 13px;font-size:14px;font-weight:800;color:#7A5A22;
  background:#FBF3E2;display:flex;align-items:center;gap:7px;}
.ndb-fold-s::-webkit-details-marker{display:none;}
.ndb-fold-ar{display:inline-block;transition:transform .18s;font-size:12px;color:#B08A3A;}
.ndb-fold[open] .ndb-fold-ar{transform:rotate(90deg);}
.ndb-fold-b{padding:11px 14px 13px;border-top:1px dashed #E5D9BF;}
.ndb-fold-l{font-size:14px;line-height:1.95;color:#4A4238;margin:4px 0;}
.ndb-fold-l b{color:#2B2417;}
.ndb-fold-sm .ndb-fold-s{padding:7px 11px;font-size:13px;background:#F6F1E6;}
/* ⑤ 自测三问 */
.ndb-quiz{margin:16px 2px 8px;padding:13px 14px;border-radius:14px;
  background:linear-gradient(165deg,#F3FBF6,#E9F7EF);border:1.5px solid #BFE3CD;}
.ndb-quiz-h{font-size:14px;font-weight:900;color:#0B6B3C;margin-bottom:10px;}
.ndb-quiz-i{margin:9px 0;padding:9px 11px;background:#fff;border-radius:11px;border:1px solid #D9EEE2;}
.ndb-quiz-q{font-size:14px;line-height:1.75;color:#22402F;font-weight:600;display:flex;gap:7px;}
.ndb-quiz-no{flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:#0FA958;color:#fff;
  font-size:12.5px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px;}
.ndb-quiz-i .ndb-fold{margin:8px 0 0;background:#FAFDFB;}
/* ⑥ 家长提问卡 */
.ndb-parent{margin:14px 2px;padding:13px 14px;border-radius:14px;
  background:linear-gradient(160deg,#F0FAFD,#E4F5FA);border:1.5px solid #B6E0EC;}
.ndb-parent-h{font-size:14px;font-weight:900;color:#0E6A80;margin-bottom:9px;}
.ndb-parent-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.ndb-parent-l li{display:flex;gap:7px;font-size:14px;line-height:1.8;color:#20444E;}
.ndb-parent-ic{flex:0 0 auto;}
/* ⑦ 高考频率条（证据默认折叠） */
.ndb-freq{margin:12px 2px;padding:12px 14px;border-radius:14px;background:#FBFAF6;border:1.5px solid #E2D8C2;}
.ndb-freq-h{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:900;color:#3A3222;flex-wrap:wrap;}
.ndb-freq-ic{font-size:14.5px;}
.ndb-freq-lv{padding:2px 9px;border-radius:20px;font-size:12.5px;font-weight:900;color:#fff;}
.ndb-freq-hi .ndb-freq-lv{background:#D0352A;}
.ndb-freq-mid .ndb-freq-lv{background:#E08600;}
.ndb-freq-lo .ndb-freq-lv{background:#7B8794;}
.ndb-freq-rk{font-size:12.5px;color:#7A7159;font-weight:700;}
.ndb-freq-bar{height:9px;border-radius:6px;background:#EDE6D6;margin:9px 0 6px;overflow:hidden;}
.ndb-freq-bar i{display:block;height:100%;border-radius:6px;transition:width .5s ease;}
.ndb-freq-hi .ndb-freq-bar i{background:linear-gradient(90deg,#F0685C,#D0352A);}
.ndb-freq-mid .ndb-freq-bar i{background:linear-gradient(90deg,#FFB340,#E08600);}
.ndb-freq-lo .ndb-freq-bar i{background:linear-gradient(90deg,#B9C4CE,#7B8794);}
.ndb-freq-n{font-size:13px;color:#6B6350;line-height:1.6;}
.ndb-freq-n b{color:#2B2417;font-size:14.5px;}
.ndb-ev{margin-top:9px;}
.ndb-ev-w{max-height:260px;overflow:auto;}
.ndb-ev-i{display:flex;gap:6px;align-items:flex-start;padding:6px 0;border-bottom:1px dashed #E5D9BF;font-size:13px;line-height:1.6;}
.ndb-ev-y{flex:0 0 38px;font-weight:900;color:#8A5A00;}
.ndb-ev-p{flex:0 0 auto;padding:1px 6px;border-radius:5px;background:#EEF4FF;color:#2A5FA8;font-size:12px;font-weight:700;}
.ndb-ev-t{flex:0 0 auto;padding:1px 6px;border-radius:5px;background:#F2F0E8;color:#6B6350;font-size:12px;}
.ndb-ev-s{flex:1;color:#7A7159;font-size:12.5px;}
.ndb-ev-note{margin-top:8px;font-size:12px;color:#9A8F7A;line-height:1.7;}

/* ---------- R-48 考频查询工具 ---------- */
.freq-head{margin:12px 8px 10px;padding:15px 16px;border-radius:16px;
  background:linear-gradient(140deg,#0E2A3A,#12495C 55%,#0B6B7A);color:#EAF6FA;
  box-shadow:0 6px 18px rgba(11,60,80,.22);}
.freq-h1{font-size:18px;font-weight:900;letter-spacing:.5px;}
.freq-sub{margin-top:7px;font-size:12.5px;line-height:1.7;color:#BFE0EA;}
.freq-note{color:#8FBFCF;}
.ndb-subs-sm{display:flex;flex-wrap:wrap;gap:7px;margin:10px 8px;}
.ndb-sub-sm{padding:7px 13px;font-size:13.5px;border-radius:20px;}
.freq-enter{display:flex;align-items:center;gap:9px;width:calc(100% - 16px);margin:10px 8px;padding:13px 14px;
  border-radius:14px;border:1.5px solid #BFE3CD;background:linear-gradient(120deg,#F2FBF6,#E4F6EC);cursor:pointer;}
.freq-enter-ic{font-size:18px;}
.freq-enter-t{flex:1;text-align:left;font-size:14px;font-weight:800;color:#0B6B3C;}
.freq-enter-go{font-size:13.5px;font-weight:800;color:#0FA958;}
.freq-list{margin:12px 8px 0;display:flex;flex-direction:column;gap:10px;}
.freq-row{padding:12px 13px;border-radius:14px;background:#FBFAF6;border:1.5px solid #E2D8C2;}
.freq-row-t{display:flex;align-items:flex-start;gap:8px;}
.freq-rank{flex:0 0 24px;width:24px;height:24px;border-radius:7px;background:#2B2417;color:#FFD45E;
  font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.freq-name{flex:1;text-align:left;background:none;border:none;padding:0;font-size:14.5px;font-weight:800;
  color:#2B2417;line-height:1.6;cursor:pointer;font-family:inherit;}
.freq-row-b{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}
.freq-row-b .ndb-freq-bar{flex:1;min-width:120px;margin:0;}
.freq-cnt{font-size:13.5px;color:#6B6350;}
.freq-cnt b{font-size:15px;color:#2B2417;}
.freq-yrs{font-size:12.5px;color:#8A8270;}
.freq-empty{padding:26px 16px;text-align:center;color:#7A7159;font-size:14px;}
.freq-foot{margin:16px 12px 8px;padding:11px 13px;border-radius:12px;background:#F4F1E8;
  font-size:12.5px;line-height:1.8;color:#7A7159;}

/* ---------- R-48 插图按需加载占位（图片已压缩外置） ---------- */
.ndb-img-ph{margin:10px 0;padding:26px 12px;border-radius:12px;text-align:center;
  background:#F5F2E9;border:1px dashed #DDD3BC;color:#8A8270;font-size:15px;}

/* ---------- R-48 知识点搜索 / 板块关键词 ---------- */
.ndb-search-bar{margin:10px 8px;padding:12px 13px;border-radius:14px;background:#FBFAF6;border:1.5px solid #E2D8C2;}
.ndb-search-in{width:100%;padding:11px 12px;border-radius:11px;border:1.5px solid #DCD3BE;background:#fff;
  font-size:14.5px;color:#2B2417;font-family:inherit;outline:none;}
.ndb-search-in:focus{border-color:#0FA958;}
.ndb-search-go{display:block;width:100%;margin-top:9px;padding:10px;border-radius:11px;border:none;
  background:linear-gradient(135deg,#0FA958,#0B7A42);color:#fff;font-size:14.5px;font-weight:800;font-family:inherit;}
.ndb-search-modes{display:flex;gap:8px;margin-top:9px;}
.ndb-mode{flex:1;padding:8px 6px;border-radius:10px;border:1.5px solid #DCD3BE;background:#fff;
  font-size:13.5px;font-weight:700;color:#6B6350;font-family:inherit;}
.ndb-mode.on{border-color:#0FA958;background:#EAF8EF;color:#0B6B3C;}
.ndb-kwbox{margin:12px 8px;padding:12px 13px;border-radius:14px;background:#F7FBF8;border:1.5px solid #D9EDE2;}
.ndb-kwbox-h{font-size:14px;font-weight:900;color:#0B6B3C;margin-bottom:9px;}
.ndb-kwbox-tip{font-size:12.5px;font-weight:400;color:#7A8F83;}
.ndb-kwline{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;}
.ndb-kw{padding:4px 10px;border-radius:14px;background:#fff;border:1px solid #CFE6D8;
  font-size:13px;color:#20402F;font-family:inherit;}

/* ---------- 2026-10-03：爆破记录入口「人工名师 · 深度爆破」绚丽科幻按钮（刻意突出人工名师） ---------- */
.ndb-bl-go.ndb-bl-go-master,
.ndb-dl-bar .ndb-bl-go-master {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 13px 18px;
  border: none; border-radius: 14px;
  font-size: 15px; font-weight: 900; letter-spacing: .3px;
  color: #fff; cursor: pointer;
  white-space: nowrap;   /* 2026-10-02：保证「人工名师 · 深度爆破」八个字始终排在一行，不在手机上换行 */
  background: linear-gradient(120deg, #7A3CF5 0%, #2E8BFF 48%, #16E6C8 100%);
  background-size: 220% 220%;
  box-shadow: 0 8px 22px rgba(106,61,240,.42), 0 0 0 1px rgba(255,255,255,.20) inset;
  overflow: hidden;
  animation: ndbMasterFlow 4.5s ease infinite;
  text-shadow: 0 1px 2px rgba(0,0,0,.18);
}
/* 爆破记录卡片内的「人工名师 · 深度爆破」按钮：独占一行、整行宽，既不被挤压换行，也突出人工名师入口 */
.ndb-bl-act .ndb-bl-go.ndb-bl-go-master { flex: 1 1 100%; }
.ndb-bl-go.ndb-bl-go-master::after,
.ndb-dl-bar .ndb-bl-go-master::after {
  content: ''; position: absolute; top: 0; left: -60%; width: 50%; height: 100%;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-20deg);
  animation: ndbShine 2.6s ease-in-out infinite;
}
.ndb-bl-go.ndb-bl-go-master:active,
.ndb-dl-bar .ndb-bl-go-master:active { transform: scale(.97); }
@keyframes ndbMasterFlow { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes ndbShine { 0%{left:-60%} 55%,100%{left:135%} }
/* 深色模式同样醒目（按钮本身已为高对比渐变，这里只加强阴影与描边） */
@media (prefers-color-scheme: dark) {
  .ndb-bl-go.ndb-bl-go-master,
  .ndb-dl-bar .ndb-bl-go-master { box-shadow: 0 8px 26px rgba(106,61,240,.6), 0 0 0 1px rgba(255,255,255,.28) inset; }
}
/* 下载条（仅在爆破记录入口出现的模块页最上/最下方） */
.ndb-dl-bar { padding: 14px 12px 4px; text-align: center; }
.ndb-dl-bar.ndb-dl-top { border-bottom: 1px dashed #E0D7C2; margin-bottom: 4px; }
.ndb-dl-bar.ndb-dl-bot { border-top: 1px dashed #E0D7C2; margin-top: 14px; }
.ndb-dl-bar .ndb-bl-go-master { width: 100%; max-width: 540px; }


/* ==== 难点爆破 · 2026-10-04 美化（金色品牌动效）==== */
/* 解析中面板：跳动光点 + 流光扫过，替代灰按钮 */
.ndb-solving{display:flex;align-items:center;gap:12px;margin:2px 13px 12px;padding:12px 14px;border-radius:13px;
  background:linear-gradient(135deg,#FFF9EC 0%,#FFF3D9 60%,#FFEDCB 100%);border:1px solid #FFD9A8;
  box-shadow:0 6px 16px rgba(200,115,26,.14);position:relative;overflow:hidden}
.ndb-solving::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);
  animation:ndbShimmer 2.1s ease-in-out infinite;pointer-events:none}
@keyframes ndbShimmer{0%{left:-60%}55%{left:115%}100%{left:115%}}
.ndb-solving-orb{display:flex;gap:5px;flex:none}
.ndb-solving-orb i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#FFC23C,#F08A00);
  box-shadow:0 2px 6px rgba(240,138,0,.45);animation:ndbBounce 1.15s ease-in-out infinite}
.ndb-solving-orb i:nth-child(2){animation-delay:.15s}
.ndb-solving-orb i:nth-child(3){animation-delay:.3s}
@keyframes ndbBounce{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-7px);opacity:1}}
.ndb-solving-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.ndb-solving-tx b{font-size:15px;font-weight:900;color:#8A5A00;letter-spacing:.02em}
.ndb-solving-tx span{font-size:15px;color:#C8731A;line-height:1.5}
/* 记录卡：金色顶线 + 题图圆角 */
.ndb-bl-item{position:relative}
.ndb-bl-item::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:1;
  background:linear-gradient(90deg,#FFD9A8,#F0A63C 45%,rgba(240,166,60,0));opacity:.85;pointer-events:none}
.ndb-bl-media{border-radius:12px}


/* ═══════════════════════════════════════════════════════════════
   大学与专业（mj-*）· 「绿金·权威白皮书」设计系统 v20261009e
   设计主张：白底为纸、细线立骨、墨绿立威、金色点睛。
   4 级字阶：冲击 22-26px / 主读 16-17px / 正文 14px / 辅注 12px。
   ═══════════════════════════════════════════════════════════════ */
.mj-wrap{
  --mj-gold:#B8892D; --mj-gold-d:#966E1E; --mj-gold-l:#FBF6EA; --mj-gold-line:#E8D9B0;
  --mj-ink2:#33413A; --mj-dim2:#7A8A82;
  --mj-sh:0 1px 2px rgba(18,38,28,.04),0 6px 18px rgba(18,38,28,.05);
  --mj-sh-pop:0 2px 6px rgba(18,38,28,.06),0 14px 34px rgba(18,38,28,.10);
  padding:16px 22px 12px;
  font-variant-numeric:tabular-nums;
}
.mj-wrap b{letter-spacing:.01em}

/* ── 1. 页头 hero ─────────────────────────────── */
.mj-hero{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 16px 16px;margin-bottom:14px;box-shadow:var(--mj-sh)}
.mj-hero-t{font-size:21px;font-weight:800;color:var(--ink);margin-bottom:6px;letter-spacing:.3px}
.mj-hero-d{font-size:14px;line-height:1.75;color:#5B6B63}
/* 3场9维 banner：深绿纸面 + 细网格 + 金线收边 */
.mj-hero-banner{background:radial-gradient(110% 120% at 85% -10%,rgba(34,211,238,.22) 0%,rgba(34,211,238,0) 50%),linear-gradient(158deg,#04070E 0%,#070D1C 38%,#0B1730 70%,#10245C 100%);border:1px solid rgba(56,189,248,.22);position:relative;overflow:hidden;padding:14px 15px 11px;border-radius:18px;box-shadow:0 14px 34px rgba(2,14,9,.50),inset 0 0 0 1px rgba(56,189,248,.06),inset 0 0 30px rgba(34,211,238,.05)}
.mj-hero-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(56,189,248,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.075) 1px,transparent 1px);background-size:26px 26px;pointer-events:none}
.mj-hero-banner:after{content:'';position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.20),transparent 62%);pointer-events:none}
.mj-hero-kicker{font-size:10.5px;letter-spacing:.38em;color:#38BDF8;margin-bottom:6px;font-weight:700;position:relative;z-index:1;text-shadow:0 0 16px rgba(56,189,248,.55)}
.mj-hero-banner .mj-hero-t{font-size:20px;font-weight:900;letter-spacing:.5px;margin-bottom:6px;color:#F0F9FF;text-shadow:0 0 22px rgba(34,211,238,.40),0 0 4px rgba(34,211,238,.25),0 2px 8px rgba(0,0,0,.55);position:relative;z-index:1}
.mj-hero-banner .mj-hero-d{color:rgba(255,255,255,.92);font-size:12.5px;line-height:1.62;margin-bottom:9px;position:relative;z-index:1}
.mj-hero-grid{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;position:relative;z-index:1}
.mj-hero-dim{flex:1 1 calc(20% - 3.2px);background:rgba(34,211,238,.06);border:1px solid rgba(56,189,248,.34);border-radius:7px;padding:4.5px 2px;text-align:center;font-size:11.5px;font-weight:700;color:#E0F2FE;letter-spacing:1px;text-shadow:0 0 10px rgba(56,189,248,.45);backdrop-filter:blur(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 12px rgba(34,211,238,.10)}
.mj-hero-tag{font-size:10.5px;color:rgba(255,255,255,.80);line-height:1.55;margin-bottom:8px;position:relative;z-index:1}
.mj-hero-tag b{color:#7DD3FC}
.mj-hero-go{font-size:12.5px;color:#03271A;letter-spacing:.22em;text-align:center;background:linear-gradient(95deg,#38BDF8 0%,#22D3EE 48%,#0EA5E9 100%);border:none;border-radius:999px;padding:8px 0;font-weight:900;position:relative;z-index:1;box-shadow:0 6px 20px rgba(34,211,238,.42),0 0 18px rgba(56,189,248,.35),inset 0 1px 0 rgba(255,255,255,.5);text-shadow:0 1px 0 rgba(255,255,255,.30)}
/* 金线分隔小标（banner 内装饰） */
.mj-hero-rule{display:flex;align-items:center;gap:8px;margin:0 0 7px;position:relative;z-index:1}
.mj-hero-rule i{flex:1;height:1px;background:linear-gradient(90deg,rgba(56,189,248,0),rgba(56,189,248,.5),rgba(56,189,248,0))}
.mj-hero-rule s{text-decoration:none;font-size:10.5px;letter-spacing:.3em;color:rgba(125,211,252,.85)}
/* 2026-10-12：大学专业页顶部 banner 标题——设计感（渐变 + 发光，去方块厚重感） */
.mj-hero-banner .mj-hero-t.mj-banner-title{
  font-size:21px;font-weight:800;letter-spacing:1.2px;margin-bottom:7px;
  background:linear-gradient(100deg,#BAE6FD 0%,#38BDF8 42%,#22D3EE 76%,#7DD3FC 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 16px rgba(34,211,238,.50)) drop-shadow(0 2px 5px rgba(0,0,0,.55));
}
/* ── 2026-10-14：banner 顶部的【两个窄按钮】—— 三九线性法 定专业 / 定城市 ──
   只占原来那行金线小标的位置（一行两块），大框本身不变。 */
.mj-modesw{display:flex;gap:8px;margin:0 0 9px;position:relative;z-index:1}
.mj-mode-btn{
  flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5px;
  padding:9px 4px;border-radius:12px;cursor:pointer;text-align:center;
  border:1px solid rgba(56,189,248,.30);background:rgba(34,211,238,.07);
  -webkit-tap-highlight-color:transparent;transition:all .18s ease;
}
.mj-mode-btn b{font-size:14px;font-weight:900;color:#E0F2FE;letter-spacing:.5px;line-height:1.25;white-space:nowrap}
.mj-mode-btn em{font-style:normal;font-size:12px;font-weight:700;color:rgba(148,197,235,.92);letter-spacing:.5px}
.mj-mode-btn.on{
  border-color:rgba(56,189,248,.75);
  background:linear-gradient(160deg,rgba(56,189,248,.30) 0%,rgba(34,211,238,.16) 100%);
  box-shadow:0 4px 14px rgba(34,211,238,.22),inset 0 1px 0 rgba(255,255,255,.20),0 0 14px rgba(56,189,248,.18);
}
.mj-mode-btn.on b{color:#F0F9FF;text-shadow:0 0 12px rgba(34,211,238,.55)}
.mj-mode-btn.on em{color:#7DD3FC;font-weight:800}
.mj-mode-btn:active{transform:translateY(1px)}
/* 三大专项对比：深色切换框（复用 mj-modesw 浅色字逻辑，需深色底） */
.mj-zxbox{background:linear-gradient(160deg,#061832 0%,#0B2A57 60%,#103A6E 100%);border:1px solid rgba(56,189,248,.32);border-radius:16px;padding:14px 14px 13px;margin-bottom:12px;box-shadow:0 10px 24px rgba(4,12,28,.18),0 0 16px rgba(34,211,238,.10),inset 0 0 0 1px rgba(56,189,248,.08),inset 0 0 24px rgba(34,211,238,.05)}
.mj-zxbox-t{font-size:16px;font-weight:800;color:#F0F9FF;letter-spacing:.3px;margin-bottom:3px;text-shadow:0 0 12px rgba(56,189,248,.30)}
.mj-zxbox-d{font-size:12.5px;color:#9FC3E6;line-height:1.6;margin-bottom:10px}
.mj-modesw-3 .mj-mode-btn{font-size:13.5px;font-weight:800;color:#E0F2FE;padding:10px 4px}
.mj-modesw-3 .mj-mode-btn b{font-size:13.5px;letter-spacing:.3px}
/* 逐条对比：竖排（维度名在上、内容在下，避免横切栏挤窄） */
.mj-cmp-row{padding:9px 0;border-bottom:1px dashed #E4EAE6}
.mj-cmp-row:last-child{border-bottom:none}
.mj-cmp-k{font-size:12.5px;font-weight:800;color:#0F2A66;margin-bottom:4px;letter-spacing:.2px;display:flex;align-items:center;gap:6px}
.mj-cmp-k:before{content:'';width:4px;height:13px;border-radius:2px;background:linear-gradient(180deg,#38BDF8,#0FA958);flex:none}
.mj-cmp-v{font-size:13.5px;line-height:1.78;color:#33413A}

/* 三大专项对比：Excel 式两列表格（左列=维度名，右列=内容） */
.mj-cmp-tab{width:100%;border-collapse:collapse;margin:4px 0 2px;background:#fff;border:1px solid #D7DEE8;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(15,42,102,.05)}
.mj-cmp-tab thead th{background:#0F2A66;color:#fff;font-size:12.5px;font-weight:800;padding:8px 10px;text-align:left;letter-spacing:.3px}
.mj-cmp-tab thead th:first-child{width:36%}
.mj-cmp-tab th.mj-cmp-th{text-align:left;vertical-align:top;background:#EAF3FF;color:#0F2A66;font-weight:800;padding:9px 10px;border-top:1px solid #E4EAF2;border-right:1px solid #E4EAF2;font-size:12.5px;line-height:1.55;width:36%}
.mj-cmp-tab td.mj-cmp-td{vertical-align:top;padding:9px 10px;border-top:1px solid #EDF1F5;color:#33413A;font-size:13.5px;line-height:1.85}
.mj-cmp-tab tr:first-child th,.mj-cmp-tab tr:first-child td{border-top:none}

/* ══════════ 三九线性法 · 定城市（ct-*） ══════════ */
/* ═══ 定城市 · 右上角「看横版」入口（2026-10-14）═══
   竖屏窄，内容按手机排版正常换行；想看 68 城总表的视觉冲击，点它跳宽屏横版。 */
.ct-landbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 9px}
.ct-land-tip{display:none;flex:1;min-width:0;font-size:11.5px;color:var(--mj-dim2);line-height:1.45}
.ct-land-go{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 13px;
  border:1px solid var(--mj-gold-line);border-radius:999px;cursor:pointer;white-space:nowrap;
  background:linear-gradient(135deg,#FDF6E6,#F6E7C2);color:var(--mj-gold-d);
  font-size:12.5px;font-weight:800;letter-spacing:.2px;-webkit-tap-highlight-color:transparent}
.ct-land-go b{font-weight:900}
/* 手机已经横过来 → 提示条显形，勾用户点一下 */
@media (orientation:landscape){.ct-land-tip{display:block}}

/* ═══ 定城市 · 窄屏适配（≤360px）═══
   竖屏窄是正常的：能缩的缩、能换行的换行，但绝不把内容压到看不见。 */
@media (max-width:360px){
  .ct-bar{gap:5px}
  .ct-in{height:36px;padding:0 9px;font-size:13.5px}
  .ct-btn{height:36px;padding:0 10px;font-size:12px}
  .ct-sel{height:36px;font-size:13.5px}
  .ct-chip{padding:5px 9px;font-size:12px}
  .ct-chip.sm{font-size:11.5px;padding:4px 9px}
  .ct-no{flex:0 0 22px;font-size:12.5px}
  .ct-row{gap:6px;padding:9px 9px}
  .ct-tg{font-size:9.5px;padding:2px 5px}
  .ct-sc{flex:0 0 38px;font-size:13px}
  .ct-nm{font-size:13.5px}
  .ct-wn{flex:0 0 82px}
  .ct-wn b{font-size:12.5px}
  .ct-dn{flex:0 0 80px;font-size:11.5px}
  .ct-dv{flex:0 0 28px;font-size:11px}
  .ct-det{padding:10px 10px 12px}
  .ct-det-h{font-size:12px}
  .ct-land-go{height:30px;padding:0 11px;font-size:12px}
}


/* ═══ 定城市 · 横版宽屏总表（2026-10-14 重做：不跳外部页，本页 fixed 全屏层）═══
   fixed + inset:0 相对视口，天然突破 #app 的 480px 限制；返回按钮在页面内，不靠系统返回键。 */
.ct-land{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:#F6F8F6}
.ct-land-top{display:flex;align-items:center;gap:12px;padding:8px 14px;flex:0 0 auto;
  background:linear-gradient(135deg,#1E3A2F,#2F6F52);color:#fff}
.ct-land-back{flex:0 0 auto;height:32px;padding:0 14px;border:1px solid rgba(255,255,255,.38);border-radius:999px;
  background:rgba(255,255,255,.14);color:#fff;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;
  -webkit-tap-highlight-color:transparent}
.ct-land-t{flex:1;min-width:0;font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-land-t i{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:rgba(255,255,255,.72)}
.ct-land-hint{flex:0 0 auto;font-size:11px;color:rgba(255,255,255,.78);white-space:nowrap}
.ct-land-f{display:flex;align-items:center;gap:8px;padding:8px 14px;flex:0 0 auto;flex-wrap:wrap;
  background:#fff;border-bottom:1px solid var(--line)}
.ct-land-in{width:158px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:9px;
  font-size:13px;color:var(--ink);background:var(--card);outline:none}
.ct-land-in:focus{border-color:var(--mj-gold)}
.ct-land-btn{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:9px;cursor:pointer;
  white-space:nowrap;border:1px solid var(--mj-gold-line);background:var(--mj-gold-l);color:var(--mj-gold-d);
  font-size:12.5px;font-weight:800;-webkit-tap-highlight-color:transparent}
.ct-land-btn.ghost{background:var(--card);border-color:var(--line);color:var(--mj-dim2)}
.ct-land-sep{flex:0 0 auto;width:1px;height:20px;background:var(--line)}
.ct-land-chips{display:flex;gap:5px;flex-wrap:wrap}
.ct-land-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--card);
  font-size:12px;font-weight:700;color:var(--mj-ink2);cursor:pointer;white-space:nowrap;
  -webkit-tap-highlight-color:transparent}
.ct-land-chip.sm{font-size:11.5px;padding:4px 9px}
.ct-land-chip.on{border-color:var(--mj-gold);background:var(--mj-gold-l);color:var(--mj-gold-d)}
.ct-land-sel{height:32px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:var(--card);
  color:var(--ink);font-size:12.5px;outline:none}
.ct-land-cnt{margin-left:auto;font-size:12px;color:var(--mj-dim2);white-space:nowrap}
.ct-land-cnt b{color:var(--mj-gold-d);font-size:13.5px}
.ct-land-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}
.ct-land-main{flex:0 0 auto;padding:10px 14px 0}
.ct-land-more{flex:0 0 auto;text-align:center;font-size:11.5px;color:var(--mj-dim2);padding:16px 14px 6px;letter-spacing:.2px}
.ct-land-more b{color:var(--mj-gold-d)}
/* 横版下方：全部竖排——一个内容横着写完（铺满整宽），下面再放另一个内容，不做左右分栏 */
.ct-land-side{flex:0 0 auto;display:block;padding:8px 14px 4px}
.ct-lside-w{min-width:0}
.ct-lside-f{display:block}
.ct-lside-g{font-size:11px;font-weight:800;color:var(--mj-gold-d);background:var(--mj-gold-l);
  border:1px solid var(--mj-gold-line);border-radius:6px;padding:2px 8px;margin:9px 0 5px;display:inline-block}
.ct-lside-fields{font-size:11px;line-height:1.65;color:var(--mj-dim2);margin:0 0 4px}
.ct-lside-fields b{color:var(--mj-ink2)}
.ct-land-empty{padding:60px 20px;text-align:center;font-size:14px;color:var(--mj-dim2);line-height:1.8}
.ct-land-empty span{font-size:12.5px;color:var(--mj-dim2)}

/* 横版总表 */
.ct-lt{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:var(--mj-sh)}
.ct-lt th{background:#EDF3EF;font-size:11.5px;font-weight:800;color:var(--mj-ink2);padding:8px;text-align:left;
  white-space:nowrap;border-bottom:1px solid var(--line)}
.ct-lt td{padding:6px 8px;border-bottom:1px solid #EDF2EE;font-size:13px;vertical-align:middle;line-height:1.4}
.ct-lrow{cursor:pointer}
.ct-lrow:hover{background:#F3F8F4}
.ct-lrow.on{background:var(--mj-gold-l)}
.ct-lt .rk{width:42px;text-align:center;font-weight:900;color:var(--mj-gold-d);font-variant-numeric:tabular-nums}
.ct-lt .nm{min-width:118px;font-weight:800;color:var(--ink)}
.ct-lt .nm i{display:block;font-style:normal;font-size:10.5px;font-weight:600;color:var(--mj-dim2)}
.ct-ltg{display:inline-block;padding:2px 7px;border-radius:6px;font-size:10.5px;font-weight:800;white-space:nowrap;background:#EEF3EF;color:var(--mj-dim2)}
.ct-ltg.S{background:#FDF2DC;color:#966E1E}.ct-ltg.A{background:#E7F3EC;color:#2F6F52}
.ct-ltg.B{background:#EAF1F8;color:#35618A}.ct-ltg.C{background:#F1F1F1;color:#6B6B6B}
.ct-ltg.D{background:#F7EDED;color:#9A4A4A}
.ct-lt .sc{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-lt .mini{width:148px;padding:2px 8px}
.ct-lmini{display:flex;align-items:flex-end;gap:2px;height:32px}
.ct-lmini i{flex:1;min-width:0;border-radius:2px 2px 0 0;min-height:3px;opacity:.92}
.ct-lmini i.st{outline:1px solid var(--mj-gold);opacity:1}
.ct-lt .t3{min-width:130px}
.ct-lt .t3 u{text-decoration:none;display:inline-block;padding:1px 6px;margin:0 3px 2px 0;border-radius:5px;
  background:#E7F3EC;color:#2F6F52;font-size:10.5px;font-weight:700;white-space:nowrap}
.ct-lt .rb,.ct-lt .cv{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--mj-ink2);font-size:12px}

/* 横版行内详情 */
.ct-ldet td{background:#FBFCFB;padding:0}
.ct-ldet-in{display:flex;gap:18px;padding:12px 14px 14px}
.ct-ldet-l{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 20px;align-content:start}
.ct-ldet-r{flex:0 0 400px;width:400px;min-width:0}
.ct-ldrow{display:flex;align-items:center;gap:8px}
.ct-ldn{flex:0 0 104px;min-width:0;font-size:11.5px;color:var(--mj-ink2);line-height:1.3}
.ct-ldn i{display:block;font-style:normal;font-size:10px;color:var(--mj-dim2)}
.ct-ldbar{flex:1;height:6px;border-radius:999px;background:#EDF1EE;overflow:hidden}
.ct-ldbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8FB6A0,#4C9A6E)}
.ct-ldbar i.st{background:linear-gradient(90deg,var(--mj-gold),#D8A94E)}
.ct-ldv{flex:0 0 30px;text-align:right;font-size:11.5px;font-weight:800;color:var(--mj-ink2);font-variant-numeric:tabular-nums}
.ct-ldet-h{font-size:12.5px;color:var(--mj-ink2);margin-bottom:7px;line-height:1.6}
.ct-ldet-h b{color:var(--mj-gold-d);font-size:13.5px}
.ct-ldet-tag{font-size:12px;line-height:1.7;color:var(--mj-ink2);background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:8px 10px;margin-bottom:8px}
.ct-ldet-adv{font-size:12px;line-height:1.75;color:var(--mj-ink2);background:var(--mj-gold-l);
  border:1px solid var(--mj-gold-line);border-radius:10px;padding:9px 10px;margin-bottom:8px}
.ct-ldet-kv{font-size:11.5px;color:var(--mj-dim2);margin-bottom:5px}
.ct-ldet-kv span{margin-right:4px}
.ct-ldet-kv u{text-decoration:none;display:inline-block;padding:2px 7px;margin:0 4px 3px 0;border-radius:6px;
  background:#E7F3EC;color:#2F6F52;font-weight:700}
.ct-ldet-kv u.w{background:#F3EDE9;color:#7A5B4A}
.ct-ldet-rb{font-size:11.5px;line-height:1.6;color:var(--mj-dim2)}
.ct-ldet-rb b{color:var(--mj-gold-d)}

/* 横版右栏 */
.ct-lside-t{font-size:13px;font-weight:800;color:var(--ink);margin:0 0 9px;padding-left:8px;
  border-left:3px solid var(--mj-gold)}
.ct-lside-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.ct-lside-row .n{flex:0 0 100px;min-width:0;font-size:11.5px;color:var(--mj-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-lside-row .b{flex:1;height:6px;border-radius:999px;background:#EDF1EE;overflow:hidden}
.ct-lside-row .b i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2F6F52,#4C9A6E)}
.ct-lside-row .w{flex:0 0 48px;text-align:right;font-size:11.5px;font-weight:800;color:var(--mj-gold-d);font-variant-numeric:tabular-nums}
.ct-lside-note{font-size:11px;line-height:1.7;color:var(--mj-dim2);background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:8px 10px;margin:9px 0 16px}
.ct-lside-note.warn{background:#FDF6EC;border-color:#EAD9B8}
.ct-lfind{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:7px}
.ct-lfind b{display:block;font-size:12px;font-weight:800;color:var(--ink);margin-bottom:4px;line-height:1.45}
.ct-lfind span{font-size:11.5px;line-height:1.65;color:var(--mj-dim2)}

/* 横版·四：32 项指标来源与权威等级（竖排一行一项，横着铺满） */
.ct-lsrc{flex:0 0 auto;padding:10px 14px 0}
.ct-lsrc-legend{font-size:11.5px;color:var(--mj-dim2);margin:0 0 10px;line-height:1.9}
.ct-lsrc-legend u{margin-right:2px}
.ct-lauth{display:inline-block;width:17px;height:17px;line-height:17px;border-radius:5px;text-align:center;
  font-size:10.5px;font-weight:900;font-style:normal;text-decoration:none;color:#fff;vertical-align:-4px;margin-right:4px}
.ct-lauth.A{background:#2F6F52}.ct-lauth.B{background:#35618A}.ct-lauth.C{background:#966E1E}.ct-lauth.D{background:#8A6D6D}
.ct-lsrc-grid{display:block}
.ct-lsrc-i{background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 12px;margin-bottom:6px;
  display:flex;align-items:center;gap:12px}
.ct-lsrc-n{flex:0 0 320px;min-width:0;font-size:12px;font-weight:800;color:var(--ink);line-height:1.4}
.ct-lsrc-n i{display:block;font-style:normal;font-size:10px;font-weight:600;color:var(--mj-gold-d);margin-top:1px}
.ct-lsrc-s{flex:1;min-width:0;font-size:10.5px;line-height:1.55;color:var(--mj-dim2)}
.ct-lsrc-c{flex:0 0 96px;text-align:right;font-size:11px;font-weight:800;color:var(--mj-ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-lsrc-c i{font-style:normal;font-weight:700;color:var(--mj-dim2);margin-left:4px}
.ct-lsrc-c.low{color:#9A4A4A}

/* 横版·五：局限五条 */
.ct-llim{flex:0 0 auto;padding:16px 14px 0}
.ct-llim-i{background:#fff;border:1px solid #EAD9B8;border-radius:9px;padding:8px 10px;margin-bottom:7px}
.ct-llim-i b{display:block;font-size:12px;font-weight:800;color:var(--ink);margin-bottom:3px}
.ct-llim-i span{font-size:11.5px;line-height:1.65;color:var(--mj-dim2)}
.ct-land-foot{flex:0 0 auto;text-align:center;font-size:10.5px;color:#9ca3af;line-height:1.7;
  padding:20px 14px 26px;border-top:1px solid var(--line);margin:14px 14px 0}

/* 横版响应式：窄横屏（宽 < 760px）→ 来源表行内自适应收窄，仍是竖排一行一项，不切栏 */
@media (max-width:760px){
  .ct-lsrc-n{flex:0 0 210px}
  .ct-lsrc-c{flex:0 0 78px}
  .ct-lsrc-i{gap:8px;padding:7px 10px}
}
/* 手机横屏高度矮 → 顶栏/筛选行压薄 */
@media (max-height:460px){
  .ct-land-top{padding:5px 12px}
  .ct-land-t{font-size:13px}.ct-land-t i{display:none}
  .ct-land-hint{display:none}
  .ct-land-f{padding:5px 12px}
  .ct-land-in{width:120px}
  .ct-land-main{padding:6px 10px 0}
  .ct-lt td{padding:4px 7px;font-size:12.5px}
  .ct-lmini{height:26px}
  .ct-ldet-l{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}
  .ct-ldet-r{flex:0 0 300px;width:300px}
}
.ct-sec-t{display:flex;align-items:baseline;gap:7px;font-size:15px;font-weight:800;color:var(--ink);margin:16px 0 8px;letter-spacing:.2px}
.ct-sec-t:before{content:'';width:3px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--mj-gold),var(--mj-gold-d))}
.ct-sec-t i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--mj-dim2);letter-spacing:0}
/* 九维权重卡 */
.ct-wbox{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--card);box-shadow:var(--mj-sh)}
.ct-wrow{display:flex;align-items:center;gap:8px;width:100%;padding:9px 11px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.ct-wrow:last-child{border-bottom:0}
.ct-wn{flex:0 0 96px;display:flex;flex-direction:column;gap:1px;min-width:0}
.ct-wn b{font-size:13px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-wn em{font-style:normal;font-size:10.5px;color:var(--mj-dim2)}
.ct-wbar{flex:1;height:7px;border-radius:999px;background:#EEF3EF;overflow:hidden}
.ct-wbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2F6F52,#4C9A6E 60%,var(--mj-gold))}
.ct-wv{flex:0 0 46px;text-align:right;font-size:12.5px;font-weight:800;color:var(--mj-gold-d);font-variant-numeric:tabular-nums}
.ct-wdesc{padding:9px 12px 11px;font-size:12.5px;line-height:1.7;color:var(--mj-dim2);background:#FAFCFA;border-top:1px dashed var(--line)}
/* 搜索 / 筛选条 */
.ct-bar{display:flex;gap:7px;margin:0 0 8px}
.ct-in{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:11px;font-size:14px;color:var(--ink);background:var(--card);outline:none}
.ct-in:focus{border-color:var(--mj-gold);box-shadow:0 0 0 3px rgba(184,137,45,.10)}
.ct-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:11px;border:1px solid var(--mj-gold-line);background:var(--mj-gold-l);color:var(--mj-gold-d);font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
.ct-btn.ghost{background:var(--card);border-color:var(--line);color:var(--mj-dim2)}
.ct-sel{flex:1;min-width:0;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font-size:14px;outline:none}
.ct-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ct-chip{padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-size:12.5px;font-weight:700;color:var(--mj-ink2);cursor:pointer;white-space:nowrap}
.ct-chip.sm{font-size:12px;padding:5px 10px}
.ct-chip.on{border-color:var(--mj-gold);background:var(--mj-gold-l);color:var(--mj-gold-d);box-shadow:inset 0 0 0 1px rgba(184,137,45,.18)}
.ct-cnt{font-size:12px;color:var(--mj-dim2);margin:2px 0 7px}
.ct-cnt b{color:var(--mj-gold-d);font-size:13px}
/* 榜单 */
.ct-list{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--card);box-shadow:var(--mj-sh)}
.ct-row{display:flex;align-items:center;gap:9px;width:100%;padding:10px 11px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer}
.ct-row:last-child{border-bottom:0}
.ct-row.on{background:var(--mj-gold-l)}
.ct-no{flex:0 0 26px;text-align:center;font-size:13.5px;font-weight:900;color:var(--mj-gold-d);font-variant-numeric:tabular-nums}
.ct-nm{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:14.5px;font-weight:800;color:var(--ink)}
.ct-nm em{font-style:normal;font-size:11px;color:var(--mj-dim2)}
.ct-tg{flex:0 0 auto;padding:3px 7px;border-radius:6px;font-size:10.5px;font-weight:800;letter-spacing:.2px;white-space:nowrap;background:#EEF3EF;color:var(--mj-dim2)}
.ct-tg.S{background:#FDF2DC;color:#966E1E}
.ct-tg.A{background:#E7F3EC;color:#2F6F52}
.ct-tg.B{background:#EAF1F8;color:#35618A}
.ct-tg.C{background:#F1F1F1;color:#6B6B6B}
.ct-tg.D{background:#F7EDED;color:#9A4A4A}
.ct-sc{flex:0 0 42px;text-align:right;font-size:14px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
/* 展开详情 */
.ct-det{padding:11px 12px 13px;background:#FBFCFB;border-top:1px dashed var(--line)}
.ct-det-h{font-size:12.5px;color:var(--mj-ink2);margin-bottom:6px;line-height:1.6}
.ct-det-h b{color:var(--mj-gold-d);font-size:13.5px}
.ct-det-tag{font-size:12.5px;line-height:1.72;color:var(--mj-ink2);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:9px}
.ct-det-sub{font-size:11.5px;color:var(--mj-dim2);margin:2px 0 6px;font-weight:700}
.ct-drow{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.ct-dn{flex:0 0 92px;font-size:12px;color:var(--mj-ink2);display:flex;flex-direction:column;line-height:1.3}
.ct-dn i{font-style:normal;font-size:10px;color:var(--mj-dim2)}
.ct-dbar{flex:1;height:6px;border-radius:999px;background:#EEF3EF;overflow:hidden}
.ct-dbar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8FB6A0,#4C9A6E)}
.ct-dbar i.st{background:linear-gradient(90deg,var(--mj-gold),#D8A94E)}
.ct-dv{flex:0 0 32px;text-align:right;font-size:11.5px;font-weight:800;color:var(--mj-ink2);font-variant-numeric:tabular-nums}
.ct-det-adv{font-size:12.5px;line-height:1.75;color:var(--mj-ink2);background:var(--mj-gold-l);border:1px solid var(--mj-gold-line);border-radius:10px;padding:9px 10px;margin:9px 0 0}
.ct-det-rb{font-size:11.5px;line-height:1.65;color:var(--mj-dim2);margin-top:7px}
.ct-det-rb b{color:var(--mj-gold-d)}
.ct-det-kv{font-size:11.5px;color:var(--mj-dim2);margin-top:5px}
.ct-det-kv span{margin-right:5px}
.ct-det-kv u{text-decoration:none;display:inline-block;padding:2px 7px;margin:0 4px 3px 0;border-radius:6px;background:#E7F3EC;color:#2F6F52;font-weight:700}
.ct-det-kv u.w{background:#F7EDED;color:#9A4A4A}
/* ── 2026-11-07 v2：未评维度 / 双视角分组 / 起薪口径说明 ── */
.ct-grp{font-size:11px;font-weight:800;letter-spacing:.02em;color:var(--mj-gold-d);background:var(--mj-gold-l);border:1px solid var(--mj-gold-line);border-radius:7px;padding:3px 8px;margin:9px 0 6px;display:inline-block}
.ct-drow.na{opacity:.62}
.ct-drow.na .ct-dn i{color:#9AA3AD;font-weight:800}
.ct-drow.na .ct-dbar{background:repeating-linear-gradient(45deg,#EEF3EF,#EEF3EF 3px,#E3E9E3 3px,#E3E9E3 6px)}
.ct-dv.na,.ct-ldv.na{color:#9AA3AD}
.ct-ldrow.na{opacity:.62}
.ct-viewnote{font-size:12px;line-height:1.7;color:var(--mj-ink2);background:var(--mj-gold-l);border:1px solid var(--mj-gold-line);border-radius:10px;padding:8px 10px;margin:0 0 9px}
.ct-viewnote b{color:var(--mj-gold-d)}
.ct-d3{font-size:11.5px;line-height:1.7;color:var(--mj-dim2);background:#F6F8F6;border:1px dashed var(--line);border-radius:9px;padding:8px 10px;margin-top:8px}
.ct-d3 b{color:var(--mj-ink2)}
/* 六发现 */
.ct-find{border:1px solid var(--line);border-left:3px solid var(--mj-gold);border-radius:11px;padding:11px 12px;margin-bottom:9px;background:var(--card);box-shadow:var(--mj-sh)}
.ct-find-t{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:5px;line-height:1.5}
.ct-find-b{font-size:12.5px;line-height:1.75;color:var(--mj-ink2);margin-bottom:6px}
.ct-find-q{font-size:12.5px;line-height:1.72;color:var(--mj-gold-d);background:var(--mj-gold-l);border-radius:9px;padding:7px 9px}
/* 来源 */
.ct-auth{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.ct-a{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:.2px}
.ct-a.A{background:#E7F3EC;color:#2F6F52}
.ct-a.B{background:#EAF1F8;color:#35618A}
.ct-a.C{background:#FDF2DC;color:#966E1E}
.ct-a.D{background:#F1F1F1;color:#6B6B6B}
.ct-more{width:100%;padding:9px 0;border:1px dashed var(--mj-gold-line);border-radius:11px;background:var(--mj-gold-l);color:var(--mj-gold-d);font-size:13px;font-weight:800;cursor:pointer}
.ct-src{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:8px;background:var(--card)}
.ct-src-row{padding:9px 11px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ct-src-row:last-child{border-bottom:0}
.ct-src-row b{font-size:12.5px;color:var(--ink);flex:0 0 auto}
.ct-src-s{flex:1 1 100%;font-size:11.5px;line-height:1.6;color:var(--mj-dim2)}
.ct-src-c{flex:1 1 100%;font-size:11px;color:#4C9A6E;font-weight:700}
.ct-src-c.low{color:#9A4A4A}
.ct-algo{font-size:12.5px;line-height:1.78;color:var(--mj-ink2);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-top:10px}
.ct-algo b{color:var(--mj-gold-d)}
/* 院校速览：已选条件条——带「您的筛选：」标题的边框盒 */
.mj-chosen-box{border:1.5px solid rgba(56,189,248,.55);border-radius:12px;padding:11px 12px;margin:2px 0 10px;background:rgba(34,211,238,.06)}
.mj-chosen-h{font-size:12.5px;font-weight:800;color:#0E7490;margin-bottom:8px;letter-spacing:.3px}

/* ── 2. 入口卡 ─────────────────────────────── */
/* 精密仪表阵列：每卡专属能量色 + HUD 序号 + 顶部能量线 */
.mj-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* 🔴 2026-10-15：卡片10「三九线性法」改为全屏宽、矮身细长按钮 */
.mj-wide-btn{display:block;width:100%;margin:12px 0 0;padding:14px 16px;border:none;border-radius:14px;background:linear-gradient(100deg,#0B2A57 0%,#103A6E 70%,#0E3365 100%);color:#F0F9FF;font-size:15px;font-weight:800;letter-spacing:.4px;text-align:center;line-height:1.4;box-shadow:0 8px 18px rgba(4,12,28,.18),inset 0 0 0 1px rgba(56,189,248,.18);cursor:pointer}
.mj-wide-btn:active{transform:translateY(1px)}
.mj-card{--mj-acc:#0284C7;--mj-acc-bg1:#E3F3FE;--mj-acc-bg2:#BFE3FC;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:7px;background:linear-gradient(168deg,#FFFFFF 0%,#F6FAF8 100%);border:1px solid #DCE7E1;border-radius:16px;padding:13px 13px 12px;text-align:left;box-shadow:0 1px 2px rgba(18,38,28,.04),0 10px 22px rgba(18,38,28,.07),inset 0 1px 0 #FFFFFF;transition:transform .15s ease,box-shadow .15s ease}
.mj-card:before{content:'';position:absolute;top:0;left:14px;right:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--mj-acc),transparent);opacity:.5}
.mj-card:active{transform:scale(.97)}
.mj-card u{position:absolute;right:12px;top:11px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:1px;color:#AEBDB5;font-family:ui-monospace,'SF Mono',monospace}
.mj-card .mj-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--mj-acc);background:linear-gradient(150deg,var(--mj-acc-bg1),var(--mj-acc-bg2));box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -5px 10px rgba(15,40,60,.06),0 4px 10px rgba(18,38,28,.10);margin-bottom:2px}
.mj-card .mj-ic svg{width:21px;height:21px}
.mj-card b{font-size:14.5px;color:var(--ink);font-weight:800;letter-spacing:.2px;line-height:1.4;padding-right:20px}
.mj-card i{font-style:normal;font-size:11.5px;color:#7C8C84;line-height:1.55}
.mj-card[data-v="profile"]{--mj-acc:#0284C7;--mj-acc-bg1:#E3F3FE;--mj-acc-bg2:#BFE3FC}
.mj-card[data-v="extraprofile"]{--mj-acc:#0E7490;--mj-acc-bg1:#E0F8FA;--mj-acc-bg2:#BEEEF4}
.mj-card[data-v="result"]{--mj-acc:#1D4ED8;--mj-acc-bg1:#E4EDFE;--mj-acc-bg2:#C4D8FD}
.mj-card[data-v="gate"]{--mj-acc:#B45309;--mj-acc-bg1:#FDF2DC;--mj-acc-bg2:#F8E3B4}
.mj-card[data-v="sch"]{--mj-acc:#4338CA;--mj-acc-bg1:#E9E9FD;--mj-acc-bg2:#D2D5FB}
.mj-card[data-v="search"]{--mj-acc:#334155;--mj-acc-bg1:#EEF2F6;--mj-acc-bg2:#DDE5EC}
.mj-card[data-v="newmajors"]{--mj-acc:#7C3AED;--mj-acc-bg1:#F1EAFE;--mj-acc-bg2:#E0D2FB}
.mj-card[data-v="rules"]{--mj-acc:#C2410C;--mj-acc-bg1:#FDEBDD;--mj-acc-bg2:#FBD4B8}
.mj-card[data-v="spec"]{--mj-acc:#A16207;--mj-acc-bg1:#FBF4D9;--mj-acc-bg2:#F3E4A8}
.mj-card[data-v="about"]{--mj-acc:#047857;--mj-acc-bg1:#E2F6EC;--mj-acc-bg2:#C4ECDA}
/* 两张核心卡：深空 HUD 重点卡 */
.mj-card.mj-key{background:radial-gradient(120% 150% at 88% -12%,rgba(34,211,238,.18) 0%,rgba(34,211,238,0) 52%),linear-gradient(160deg,#050D1C 0%,#0A1B3E 58%,#0E2757 100%);border-color:rgba(56,189,248,.36);box-shadow:0 14px 28px rgba(4,12,28,.38),0 0 18px rgba(34,211,238,.14),inset 0 0 0 1px rgba(56,189,248,.08),inset 0 0 26px rgba(34,211,238,.07)}
.mj-card.mj-key:before{opacity:1;left:12px;right:12px}
.mj-card.mj-key b{color:#F0F9FF;text-shadow:0 0 12px rgba(56,189,248,.35)}
.mj-card.mj-key i{color:#8FB4D9}
.mj-card.mj-key u{color:rgba(125,211,252,.8)}
.mj-card.mj-key .mj-ic{color:#7DD3FC;background:rgba(56,189,248,.10);border:1px solid rgba(56,189,248,.38);box-shadow:0 0 16px rgba(34,211,238,.28),inset 0 0 12px rgba(34,211,238,.10)}

/* ── 3. 提示条 ─────────────────────────────── */
.mj-note{font-size:13px;color:#7A8A82;line-height:1.75;margin:12px 0;padding:0 2px}
.mj-note b{color:#33413A}
.mj-warn{background:linear-gradient(135deg,#FFFDF4,#FFF7E0);border:1px solid #EFDCA6;border-left:3px solid #D9B44A;border-radius:13px;padding:12px 14px;font-size:13.5px;line-height:1.75;color:#6B4E00;margin:14px 0;box-shadow:var(--mj-sh)}
.mj-warn2{background:#FFF6F2;border:1px solid #F3CFC2;border-left:3px solid #E58A5A;border-radius:13px;padding:11px 14px;font-size:13.5px;line-height:1.7;color:#8A3A1E;margin:10px 0}
.mj-warn2 .mj-chip{margin:0 2px}
.mj-bad{background:#FDF0EE;border:1px solid #E9B3B3;border-left:3px solid #C0392B;border-radius:13px;padding:12px 14px;font-size:13.5px;line-height:1.7;color:#8A2B1E;margin:10px 0}
.mj-dim{font-size:13px;color:#8FA098;line-height:1.7;margin-top:8px}
.mj-dim b{color:#64736B}

/* ── 4. 问卷 ─────────────────────────────── */
.mj-step{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.mj-step .mj-step-n{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:.5px}
.mj-step .mj-step-n i{font-style:normal;font-size:13px;color:#9AA8A0;font-weight:600}
.mj-step .mj-step-line{flex:1;height:4px;border-radius:3px;background:#E8EEE9;overflow:hidden}
.mj-step .mj-step-line i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#0FA958,#10B45E)}
.mj-q{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 16px 16px;margin-bottom:14px;box-shadow:var(--mj-sh)}
.mj-q b{display:block;font-size:18px;color:var(--ink);margin-bottom:7px;line-height:1.5;font-weight:800;letter-spacing:.2px}
.mj-q i{font-style:normal;display:block;font-size:13px;color:#7A8A82;line-height:1.65}
.mj-ops{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.mj-op{position:relative;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:14px 42px 14px 15px;min-height:52px;font-size:15px;font-weight:500;color:var(--ink);text-align:left;line-height:1.55;box-shadow:var(--mj-sh);transition:border-color .12s,background .12s,transform .1s}
.mj-op:active{transform:scale(.985)}
.mj-op.on{border-color:#0EA5E9;background:linear-gradient(158deg,#070D1C,#10245C);color:#F0F9FF;font-weight:700;box-shadow:0 8px 22px rgba(2,14,9,.35),0 0 16px rgba(34,211,238,.22),inset 0 0 14px rgba(34,211,238,.06)}
.mj-op.on:after{content:'';position:absolute;right:13px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:linear-gradient(150deg,#38BDF8,#0EA5E9);box-shadow:0 0 12px rgba(56,189,248,.55);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='black'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' stroke='white' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='black'/%3E%3Cpath d='M7 12.5l3.2 3.2L17 9' stroke='white' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.mj-nav{display:flex;gap:10px;margin-top:16px}
.mj-nav .btn{flex:1;min-height:50px;font-size:15.5px;font-weight:700;border-radius:14px}
.mj-gate{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:var(--mj-sh)}
.mj-gq{margin-bottom:14px}
.mj-gq>b{display:block;font-size:14.5px;color:var(--ink);margin-bottom:8px;font-weight:700}
.mj-chips{display:flex;flex-wrap:wrap;gap:8px}
.mj-chip{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:8px 15px;min-height:38px;display:inline-flex;align-items:center;font-size:13.5px;font-weight:500;color:#4A5A52;transition:all .12s}
.mj-chip.on{border-color:#0EA5E9;background:linear-gradient(150deg,#071331,#0F2A66);color:#E0F2FE;font-weight:700;box-shadow:0 0 14px rgba(34,211,238,.30),inset 0 0 10px rgba(34,211,238,.10);text-shadow:0 0 8px rgba(56,189,248,.4)}
/* 5 档强度：坚决档加重 */
.mj-chip.mj-strong{font-weight:800;border-color:#C9B584;color:#7A5A10}
.mj-chip.mj-strong.on{background:linear-gradient(135deg,#E8C56A,#B8892D);border-color:#B8892D;color:#241A05;font-weight:900}

/* ── 5. 排序 / 筛选 ─────────────────────────────── */
.mj-sort{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.mj-sort>span:first-child{font-size:13px;color:#7A8A82;font-weight:600;margin-right:2px}
.mj-prof{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:11px 13px;margin-bottom:14px;box-shadow:var(--mj-sh)}
.mj-prof-l{font-size:13px;color:#7A8A82;font-weight:600}
.mj-agree{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;margin:14px 0;font-size:14.5px;color:#33413A;line-height:1.7;box-shadow:var(--mj-sh)}
.mj-agree label{display:flex;align-items:center;gap:10px;cursor:pointer}
.mj-agree input{width:20px;height:20px;accent-color:var(--green)}

/* ── 6. 梯队头（编辑风条目头）─────────────────────── */
.mj-tier{display:flex;align-items:center;gap:11px;margin:22px 2px 12px}
.mj-tier-mark{width:5px;height:30px;border-radius:3px;flex:none}
.mj-tier.g1 .mj-tier-mark{background:linear-gradient(180deg,#38BDF8,#0EA5E9);box-shadow:0 0 10px rgba(56,189,248,.45)}
.mj-tier.g2 .mj-tier-mark{background:linear-gradient(180deg,#0EA5E9,#0369A1)}
.mj-tier.g3 .mj-tier-mark{background:linear-gradient(180deg,#9FB4AA,#7A9188)}
.mj-tier-t{font-size:17.5px;font-weight:800;color:var(--ink);letter-spacing:.3px;line-height:1.25}
.mj-tier-d{display:block;font-size:12px;color:#8FA098;font-weight:500;margin-top:2px;letter-spacing:.2px}
.mj-tier-n{margin-left:auto;flex:none;font-size:11.5px;font-weight:700;color:#64736B;background:#EFF4F1;border:1px solid var(--line);border-radius:999px;padding:3px 10px}

/* ── 7. 结果卡 ─────────────────────────────── */
.mj-row{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 15px 12px;margin-bottom:12px;box-shadow:var(--mj-sh);transition:transform .12s}
/* 院校速览·紧凑名称列表（2026-10-18c）：一屏刷更多学校，点行展开完整详情 */
.mj-sch-row{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:8px;box-shadow:var(--mj-sh);overflow:hidden}
.mj-sch-row.open{border-color:#0FA958}
.mj-sch-main{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;-webkit-tap-highlight-color:rgba(15,169,88,.08)}
.mj-sch-main:active{background:#F2FAF5}
.mj-sch-nm{flex:1;min-width:0;font-size:15.5px;color:var(--ink);font-weight:800;line-height:1.4;word-break:break-all}
.mj-sch-ar{flex:none;color:#9AA7A0;font-size:11px;font-style:normal;line-height:1;padding:0 2px}
.mj-sch-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:0 12px 9px 62px}
.mj-sch-loc{font-size:12px;color:#5B6B63;line-height:1.6}
.mj-sch-detail{border-top:1px dashed var(--line);padding:10px 13px 12px;background:#FBFDFC}
.mj-sch-row .mj-score{margin-left:2px}
.mj-row:active{transform:scale(.985)}
.mj-row-h{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.mj-row-h b{flex:1;min-width:0;font-size:16.5px;color:var(--ink);font-weight:800;letter-spacing:.2px;line-height:1.4}
/* 排名徽章 */
.mj-rank{flex:none;width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;letter-spacing:-.5px;background:#EFF4F1;color:#64736B;border:1px solid var(--line)}
/* 第一梯队：金卡 */
.mj-row.t1{border:1px solid rgba(56,189,248,.34);background:radial-gradient(110% 120% at 88% -10%,rgba(34,211,238,.20) 0%,rgba(34,211,238,0) 48%),linear-gradient(160deg,#030A18 0%,#0A1838 48%,#14245E 100%);box-shadow:0 18px 40px rgba(2,14,9,.50),0 0 22px rgba(34,211,238,.10),inset 0 0 0 1px rgba(56,189,248,.05),inset 0 0 34px rgba(34,211,238,.05)}
.mj-row.t1:before{content:'';position:absolute;left:-1px;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,#38BDF8,#0EA5E9);box-shadow:0 0 10px rgba(56,189,248,.6)}
.mj-row.t1 .mj-rank{background:rgba(34,211,238,.12);color:#38BDF8;border:1px solid rgba(56,189,248,.5);box-shadow:0 0 14px rgba(34,211,238,.28),inset 0 0 8px rgba(34,211,238,.12);font-weight:900;font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}
.mj-row.t1 .mj-row-h b{font-size:17px;color:#F0F9FF;text-shadow:0 0 14px rgba(34,211,238,.22)}
.mj-row.t1 .mj-score em{color:rgba(125,211,252,.60)}
.mj-row.t1 .mj-row-code i{background:rgba(34,211,238,.07);border-color:rgba(56,189,248,.26);color:#93B8F5}
.mj-row.t1 .mj-row-t{color:#C3D3E8}
.mj-row.t1 .mj-row-t .mj-pin{color:#38BDF8}
.mj-row.t1 .mj-bars{background:rgba(34,211,238,.05);border-color:rgba(56,189,248,.18)}
.mj-row.t1 .mj-bar-track{background:rgba(255,255,255,.13)}
.mj-row.t1 .mj-bar-line>span{color:#A5BCD6}
.mj-row.t1 .mj-bar-fill{filter:brightness(1.55) saturate(1.15);box-shadow:0 0 8px rgba(56,189,248,.35)}
.mj-row.t1 .mj-row-more{color:#38BDF8;border-top-color:rgba(56,189,248,.22)}
.mj-row.t1 .mj-row-w{background:rgba(232,197,106,.10);color:#F0D9A0;border:1px solid rgba(232,197,106,.22)}
/* 综合分 */
.mj-score{flex:none;display:flex;flex-direction:column;align-items:flex-end;line-height:1}

/* ═══ 院校档案 · 标签切换（浅色清晰主题，独立于深色 mj-mode-btn）═══
   设计：白底深字 + 绿色选中态；flex:0 0 auto 让按钮按内容撑开、字不溢出；
   和整体柔和绿灰配色协调，手机上对比清晰、不再灰蒙蒙 */
.mj-extabs{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 4px}
.mj-exbtn{
  flex:0 0 auto;min-width:0;
  -webkit-appearance:none;appearance:none;
  border:1px solid #D7E0D9;background:#FFFFFF;
  color:#243029;font-size:13px;font-weight:700;
  padding:8px 13px;border-radius:10px;cursor:pointer;
  white-space:nowrap;line-height:1.2;
  box-shadow:0 1px 2px rgba(22,40,30,.05);
  transition:all .15s ease;-webkit-tap-highlight-color:transparent;
}
.mj-exbtn:active{transform:translateY(1px)}
.mj-exbtn.on{
  background:#0E9F6E;border-color:#0E9F6E;color:#fff;
  box-shadow:0 2px 8px rgba(14,159,110,.30);
}
/* 院校档案内容卡：浅底浅边，把七类内容收进一块，读起来清楚不散 */
.mj-ex-tab{background:#FBFDFC;border:1px solid #E6ECE8;border-radius:12px;padding:10px 12px;margin-top:4px}
.mj-ex-tab .mj-p{margin:5px 0;color:#33413A}
.mj-ex-tab .mj-note{margin:8px 0;color:#586A60}
@media (max-width:360px){
  .mj-exbtn{padding:7px 10px;font-size:12.5px}
}
.mj-score em{font-style:normal;font-size:10px;color:#9AA8A0;font-weight:600;letter-spacing:2px;margin-bottom:3px}
.mj-score b{font-size:24px;font-weight:800;letter-spacing:-.5px;color:#0369A1;text-shadow:0 0 14px rgba(34,211,238,.22);font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}
.mj-row.t1 .mj-score b{font-size:27px;background:linear-gradient(120deg,#A5E8FF 5%,#38BDF8 55%,#22D3EE 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(56,189,248,.45))}
/* 代码戳行 */
.mj-row-code{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-1px 0 7px}
/* ===== ab 版：院校详情去重 + 招生章程内联 ===== */
/* 身份条：单行地点·层次·性质·隶属，替代原来重复一堆标签行 */
.mj-sch-id{font-size:13px;line-height:1.6;color:#32443B;font-weight:600;
  background:#F3F8F4;border:1px solid #DCE7E0;border-radius:10px;padding:7px 11px;margin:2px 0 4px}
.mj-sch-id b{color:#0E7A4E}
/* 全局注释字调深，解决“灰蒙蒙看不清” */
.mj-note{color:#586A60}
/* 招生章程：年份切换（2026/2025/2024） */
.mj-zc-years{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.mj-zc-yr{flex:0 0 auto;-webkit-appearance:none;appearance:none;cursor:pointer;
  border:1px solid #CFE0D6;background:#fff;color:#2C5C44;font-size:12.5px;font-weight:700;
  padding:6px 14px;border-radius:9px;transition:all .15s ease}
.mj-zc-yr.on{background:#0E7A4E;border-color:#0E7A4E;color:#fff;box-shadow:0 2px 7px rgba(14,122,78,.28)}
.mj-zc-yr:active{transform:translateY(1px)}
/* 章程正文：白底黑字、行距舒展，像读官方文件 */
.mj-zc-body{background:#FFFFFF;border:1px solid #E4EBE6;border-radius:11px;padding:12px 14px;
  max-height:340px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mj-zc-body p{font-size:13px;line-height:1.85;color:#27332C;margin:0 0 9px;text-align:justify}
.mj-zc-body p.mj-zc-art{font-weight:800;color:#0E4A33;margin-top:11px}
.mj-zc-body p:first-child{margin-top:0}
/* 院校简介富文本 */
.mj-profile{font-size:13.5px;line-height:1.92;color:#27332C}
.mj-profile p{margin:0 0 9px;text-align:justify}
.mj-profile p:last-child{margin-bottom:0}
/* 重要提醒盒（停招等） */
.mj-warnbox{background:#FDF6E7;border:1px solid #E8C48A;border-radius:10px;
  padding:8px 11px;color:#8A5A19;font-weight:700}
.mj-row-code i{font-style:normal;font-size:11px;color:#8FA098;background:#F4F8F5;border:1px solid #E4EAE6;border-radius:6px;padding:2px 7px;letter-spacing:.3px}
.mj-row-t{font-size:14px;color:#4A5A52;line-height:1.7}
.mj-row-t .mj-pin{color:var(--green);font-weight:700;margin-right:2px}
.mj-row-w{font-size:13.5px;color:#8A5A00;margin-top:8px;background:#FFF8E6;border-radius:8px;padding:6px 9px;line-height:1.6}
.mj-row-more{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--green);margin-top:10px;padding-top:9px;border-top:1px dashed #E4EAE6;font-weight:600;letter-spacing:.3px}


/* ── 8. 五维分数条 ─────────────────────────────── */
.mj-bars{margin:10px 0 2px;padding:11px 12px 9px;background:#F8FAF9;border:1px solid #EEF2EF;border-radius:12px}
.mj-bar-line{display:flex;align-items:center;gap:9px;margin:6px 0}
.mj-bar-line>span{width:62px;flex:none;font-size:12px;color:#64736B;font-weight:600;letter-spacing:.3px}
.mj-bar-track{flex:1;height:6px;border-radius:4px;background:#E4EEE7;overflow:hidden}
.mj-bar-fill{display:block;height:100%;border-radius:4px}
.mj-bar-line>b{width:26px;flex:none;text-align:right;font-size:12.5px;font-weight:800}
/* 瘦卡迷你条 */
.mj-bars.mini{padding:8px 10px 6px;margin:8px 0 0}
.mj-bars.mini .mj-bar-line{margin:4px 0}
.mj-bars.mini .mj-bar-track{height:4px}
.mj-bars.mini .mj-bar-line>span{font-size:11px;color:#8FA098}
.mj-bars.mini .mj-bar-line>b{font-size:11.5px;font-weight:700}

/* ── 9. 详情页：名片头 ─────────────────────────────── */
.mj-dt{position:relative;overflow:hidden;background:radial-gradient(110% 120% at 85% -10%,rgba(34,211,238,.20) 0%,rgba(34,211,238,0) 50%),linear-gradient(158deg,#04070E 0%,#070D1C 40%,#0B1730 74%,#10245C 100%);border:1px solid rgba(56,189,248,.22);border-radius:20px;padding:24px 18px 18px;margin-bottom:14px;box-shadow:0 18px 42px rgba(2,14,9,.52),inset 0 0 40px rgba(34,211,238,.05)}
.mj-dt:after{content:'';position:absolute;right:-60px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.20),transparent 60%);pointer-events:none}
.mj-dt b{display:block;font-size:26px;font-weight:900;letter-spacing:.4px;line-height:1.35;position:relative;z-index:1;color:#F0F9FF;text-shadow:0 0 24px rgba(34,211,238,.42),0 0 5px rgba(34,211,238,.28),0 2px 8px rgba(0,0,0,.5)}
.mj-dt-i{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px;position:relative;z-index:1}
.mj-dt-i i{font-style:normal;font-size:11.5px;color:#E0F2FE;border:1px solid rgba(56,189,248,.38);background:rgba(34,211,238,.08);border-radius:999px;padding:3px 10px;letter-spacing:.4px;font-weight:600;text-shadow:0 0 8px rgba(56,189,248,.30)}
.mj-dt-code{margin-top:11px;padding-top:10px;font-size:11px;color:rgba(147,197,253,.80);letter-spacing:.6px;position:relative;z-index:1;border-top:1px solid rgba(56,189,248,.24);font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}

/* ── 10. 章节 ─────────────────────────────── */
.mj-sec{position:relative;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px 15px 13px;margin-bottom:12px;box-shadow:var(--mj-sh)}
.mj-sec>b{display:flex;align-items:center;gap:9px;font-size:16.5px;color:var(--ink);margin-bottom:10px;font-weight:800;letter-spacing:.3px;line-height:1.45}
.mj-sec>b .mj-ch-no{flex:none;font-size:11.5px;font-weight:900;letter-spacing:1.5px;color:#0369A1;border:1px solid rgba(3,105,161,.35);background:linear-gradient(150deg,#F1FBF5,#E2F5EA);border-radius:7px;padding:2.5px 7px;transform:translateY(-1px);box-shadow:0 0 10px rgba(34,211,238,.12);font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}
.mj-sec>b:after{content:'';flex:1;height:1px;background:linear-gradient(90deg,#E8EEE9,rgba(232,238,233,0));margin-left:2px}
.mj-p{font-size:14.5px;line-height:1.8;color:#33413A;margin:5px 0}
.mj-p>b{color:var(--ink)}
.mj-sec .mj-p b{font-weight:700}

/* ── 11. 官方证书卡 + 来源戳 ─────────────────────────────── */
.mj-cert{position:relative;border:1px solid #E3D5AC;border-radius:16px;padding:16px 15px 13px;margin-bottom:12px;background:linear-gradient(160deg,#FFFDF6 0%,#FFFef9 40%,#FBF6EA 100%);box-shadow:0 0 0 3px #FFFFFF inset,0 0 0 4px rgba(227,213,172,.35) inset,var(--mj-sh)}
.mj-cert>b{display:flex;align-items:center;gap:9px;font-size:16.5px;color:#5A4A16;margin-bottom:10px;font-weight:800;letter-spacing:.3px}
.mj-cert>b .mj-ch-no{flex:none;font-size:11px;font-weight:800;letter-spacing:1.5px;color:#B8892D;border:1px solid #E8D9B0;background:#fff;border-radius:6px;padding:2px 6px}
.mj-cert .mj-p{color:#4A3F1D}
.mj-cert .mj-dim{color:#A09066}
.mj-cert .mj-dim b{color:#7A6A30}
/* 右上圆章 */
.mj-seal{position:absolute;right:13px;top:13px;width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(184,137,45,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:rgba(255,255,255,.55);transform:rotate(8deg)}
.mj-seal i{font-style:normal;font-size:9px;font-weight:800;color:#B8892D;letter-spacing:1px}
.mj-seal s{text-decoration:none;font-size:8px;color:#C4A54C;letter-spacing:.5px}
/* 来源戳记 */
.mj-stamp{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.4px;border-radius:6px;padding:2.5px 8px;margin:0 4px 4px 0;border:1px solid}
.mj-stamp:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75}
.mj-stamp.blue{color:#17549B;border-color:#BFD3EC;background:#F3F7FC}
.mj-stamp.gold{color:#8A6516;border-color:#E0CD9E;background:#FBF6EA}
.mj-stamp.grey{color:#5A685F;border-color:#D3DED7;background:#F4F8F5}
.mj-stamp-row{margin:8px 0 2px}

/* ── 12. 算式卡（账单风）─────────────────────── */
.mj-formula{position:relative;border:1px solid #DCEAE1;border-left:4px solid var(--green);border-radius:14px;background:linear-gradient(170deg,#F7FCF8,#FFFFFF 55%);padding:14px 14px 11px;margin:10px 0 4px}
.mj-f-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;padding:7px 0;border-bottom:1px dashed #DCE8E1;font-size:13.5px;color:#33413A}
.mj-f-line:last-of-type{border-bottom:none}
.mj-f-num{font-size:21px;font-weight:800;color:#0369A1;letter-spacing:-.3px;text-shadow:0 0 12px rgba(34,211,238,.20);font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}
.mj-f-num.dark{color:var(--ink)}
.mj-f-op{font-size:15px;font-weight:700;color:#8FA098;margin:0 3px}
.mj-f-cap{font-size:11px;color:#8FA098;font-weight:600;letter-spacing:.4px}
.mj-f-res{display:flex;align-items:baseline;gap:8px;background:linear-gradient(158deg,#030A18,#14245E);border:1px solid rgba(56,189,248,.32);border-radius:12px;margin-top:9px;padding:12px 14px;color:#E0F2FE;box-shadow:0 0 18px rgba(34,211,238,.10),inset 0 0 24px rgba(34,211,238,.05)}
.mj-f-res b{font-size:32px;font-weight:900;letter-spacing:-.5px;line-height:1;color:#38BDF8;text-shadow:0 0 18px rgba(56,189,248,.55);font-family:ui-monospace,'SF Mono','DIN Alternate',monospace;}
.mj-f-res span{font-size:12px;color:rgba(255,255,255,.85);line-height:1.5}

/* ── 13. 证据行 ─────────────────────────────── */
.mj-ev{font-size:14px;line-height:1.75;color:#33413A;padding:8px 0;border-bottom:1px dashed #E4EAE6}
.mj-ev:last-child{border-bottom:none}
.mj-ev>span:first-child{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:21px;margin-right:7px;transform:translateY(-1px);color:#0F2A66;font-weight:800;font-size:12px;background:#EAF7EE;border-radius:6px;padding:0 6px;letter-spacing:.2px}
.mj-ev>span:first-child.no{color:#B03020;background:#FBEDEB}
.mj-ev>span:first-child.warn{color:#9A6A10;background:#FBF3DF}
.mj-ev>span:first-child.grey{color:#5A685F;background:#F0F4F1}
.mj-ev.dim{color:#9AA8A0}
.mj-ev.dim>span:first-child{color:#8FA098;background:#F0F4F1}
.mj-ev i{font-style:normal;color:#8FA098;font-size:12px}
.mj-ev b{color:var(--ink)}
.mj-ev[data-act]{cursor:pointer}
.mj-ev[data-act] u{display:block;margin-top:4px;font-size:11px;color:#0FA958;text-decoration:none;font-weight:600}

/* ── 14. 薪资阶梯（时间轴）─────────────────────── */
.mj-ladder{position:relative;margin:10px 2px 2px;padding-left:19px}
.mj-ladder:before{content:'';position:absolute;left:5px;top:7px;bottom:9px;width:2px;background:linear-gradient(180deg,#D8B356,#0FA958);border-radius:2px;opacity:.5}
.mj-ladder-row{position:relative;padding:0 0 12px}
.mj-ladder-row:last-child{padding-bottom:2px}
.mj-ladder-row:before{content:'';position:absolute;left:-18px;top:5px;width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid #B8892D;box-shadow:0 0 0 3px rgba(184,137,45,.15)}
.mj-ladder-row:nth-child(n+3):before{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,169,88,.14)}
.mj-ladder-k{font-size:11px;font-weight:800;color:#B8892D;letter-spacing:1.5px;margin-bottom:3px}
.mj-ladder-row:nth-child(n+3) .mj-ladder-k{color:#0369A1}
.mj-ladder-v{font-size:14px;line-height:1.75;color:#33413A}
.mj-ladder-v b{color:var(--ink);font-weight:800}

/* ── 15. 另一面（暖橙警示）─────────────────────── */
.mj-rem{position:relative;border:1px solid #EFC9A8;border-left:4px solid #D97B3A;border-radius:14px;background:linear-gradient(165deg,#FFF9F3,#FFF4EA);padding:15px 15px 12px;margin-bottom:12px;box-shadow:var(--mj-sh)}
.mj-rem>b{display:flex;align-items:center;gap:8px;font-size:16px;color:#8A4212;margin-bottom:8px;font-weight:800;letter-spacing:.3px}
.mj-rem .mj-p{color:#6B4226}
.mj-rem .mj-dim{color:#B08A66}

/* ── 16. 院校库 ─────────────────────────────── */
.mj-search{display:flex;gap:9px;margin-bottom:12px}
.mj-search input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:13px;padding:12px 14px;font-size:15px;line-height:1.2;min-height:46px;box-sizing:border-box;color:var(--ink);background:var(--card);box-shadow:var(--mj-sh)}
.mj-search input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(15,169,88,.12)}
/* 🔴 2026-10-10e 修：.btn 全局带 width:100%，在 .mj-search 这个 flex 容器里会让「查」按钮
   的 flex-basis 撑成整行宽，把输入框(flex:1,basis:0)挤成一条缝 —— 表现为搜索框极小、按钮巨长。
   这里把搜索框内的按钮改回「按内容宽度、不伸缩」，输入框重新占满剩余空间。 */
.mj-search .btn{width:auto;flex:0 0 auto;padding:12px 22px;border-radius:13px;min-height:46px;font-size:15px}
.mj-wrap select{min-height:44px;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;font-size:14px;color:var(--ink);background:var(--card)}
.mj-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.mj-tag{font-size:11.5px;font-weight:600;border-radius:7px;padding:3px 8px;background:#F1F5F2;color:#4A5A52;letter-spacing:.2px}
.mj-tag.blue{background:#E8F1FB;color:#12457A}
.mj-tag.red{background:#FDECEC;color:#8A2B1E}
.mj-tag.purple{background:#F3EDFB;color:#5A2F8A}
.mj-tag.green{background:#EAF7EE;color:#0F2A66}
.mj-tag.amber{background:#FFF4E0;color:#7A5200}
.mj-tag.gold{background:#FBF6EA;color:#8A6516;border:1px solid #E8D9B0}
.mj-tag.teal{background:#E3F4F1;color:#0B5C55}
.mj-tag.indigo{background:#E9EBFA;color:#333F8C}
.mj-tag.orange{background:#FCEFE3;color:#8A4A16}
.mj-tag.slate{background:#EFF3F5;color:#4A5A63}
.mj-uni-badge{display:inline-flex;width:40px;height:40px;border-radius:12px;color:#fff;font-weight:700;font-size:17px;align-items:center;justify-content:center;flex:none;overflow:hidden;box-shadow:0 2px 6px rgba(18,38,28,.18)}
.mj-uni-badge img{width:100%;height:100%;object-fit:contain;background:#fff;border-radius:12px;display:block}
.mj-extra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
@media (max-width:360px){.mj-extra-grid{grid-template-columns:repeat(2,1fr)}}
.mj-extra-cell{background:linear-gradient(165deg,#FBFDFB,#F2F8F4);border:1px solid #E1EAE4;border-radius:12px;padding:10px 4px 8px;text-align:center;box-shadow:var(--mj-sh)}
.mj-extra-cell b{display:block;font-size:17px;color:#0F2A66;line-height:1.2;font-weight:800;letter-spacing:-.3px}
.mj-extra-cell span{display:block;font-size:11px;color:#7A8A82;margin-top:4px;font-weight:600}
/* 学校统一信息（官网/创办年/主管/坐落）—— 2026-10-10b */
.mj-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
@media (max-width:360px){.mj-info-grid{grid-template-columns:repeat(2,1fr)}}
.mj-info-cell{background:linear-gradient(165deg,#FBFDFB,#F2F8F4);border:1px solid #E1EAE4;border-radius:12px;padding:9px 4px 7px;text-align:center;box-shadow:var(--mj-sh)}
.mj-info-cell b{display:block;font-size:13px;color:#0F2A66;line-height:1.25;font-weight:800;letter-spacing:-.2px}
.mj-info-cell span{display:block;font-size:11px;color:#7A8A82;margin-top:3px;font-weight:600}
.mj-site{color:#0F6FB8;text-decoration:none;word-break:break-all}
.mj-site:active{opacity:.6}

/* 窄屏 */
@media (max-width:360px){
  .mj-cards{grid-template-columns:1fr}
  .mj-hero-banner .mj-hero-t{font-size:19px}
  .mj-dt b{font-size:20px}
  .mj-row-h b{font-size:15.5px}
  .mj-score b{font-size:21px}
}
/* 动效：卡片入场（尊重系统减弱设置） */
@media (prefers-reduced-motion:no-preference){
  .mj-row,.mj-sec,.mj-card,.mj-cert{animation:mjIn .34s cubic-bezier(.22,.9,.32,1) both}
  .mj-row:nth-child(2),.mj-sec:nth-child(2){animation-delay:.03s}
  .mj-row:nth-child(3){animation-delay:.05s}
}
@keyframes mjIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
/* 字体大小三档选择（我的页）→ 按钮自适应铺满、选中高亮 */
/* 字体三档按钮：竖直堆叠（标签/副标题各一行），永不横向溢出；特大时副标题再缩小一档 */
.fs-opt{padding:10px 4px;text-align:center;line-height:1.25;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;white-space:normal;overflow:hidden}
.fs-opt .fs-lbl{font-size:15px;font-weight:800;color:var(--ink);line-height:1.2}
.fs-opt .fs-sub{font-size:11px;opacity:.82;color:var(--sub);line-height:1.2}
.fs-opt.on{box-shadow:0 0 0 2px rgba(255,255,255,.75) inset;}
html.fs-large  .fs-opt .fs-sub{font-size:10.5px}
html.fs-xlarge .fs-opt .fs-sub{font-size:10px}

/* 底部导航：大/特大字号下，6 个标签强制保持一行；4 字标签已用 <br> 切成 2+2（如「难点/爆破」），
   不破字、不溢出；同时收一下选中图标的高亮光晕，避免“蓝点爆”的观感 */
html.fs-large  .tabbar, html.fs-xlarge .tabbar{flex-wrap:nowrap}
html.fs-large  .tabbar button, html.fs-xlarge .tabbar button{min-width:0;padding:8px 0 10px}
html.fs-large  .tabbar button .tab-t, html.fs-xlarge .tabbar button .tab-t{font-size:10.5px;line-height:1.25;white-space:normal}
html.fs-large  .tabbar button .ic, html.fs-xlarge .tabbar button .ic{font-size:18px}
html.fs-large  .tabbar button.on .ic, html.fs-xlarge .tabbar button.on .ic{filter:drop-shadow(0 1px 4px rgba(15,169,88,.35))}

/* ===== 字体大小三档：整体缩放但锁定手机视口宽度（杜绝“按钮跑出屏幕”） =====
   设计：#app 等容器是 max-width:480px 的居中列，全站尺寸都是 px 写死。
   若直接 zoom 根节点，整列被放大到 > 视口宽 → 横向溢出、按钮出屏、弹窗错位。
   故只把 zoom 施加到“内容列 #app / 底部导航 / 登录页 / 弹窗主体”，并把这些容器的
   max-width 按缩放比反向收缩为 calc(100vw / --fs)，渲染后正好等于手机视口宽，
   文字与间距整体放大、布局按比例重排、永不横向溢出。固定浮层（灯箱/吐司）保持视口尺寸。 */
html.fs-std    { --fs: 1; }
html.fs-large  { --fs: 1.2; }
html.fs-xlarge { --fs: 1.45; }

html.fs-large  #app, html.fs-xlarge #app,
html.fs-large  .bottom-bar, html.fs-xlarge .bottom-bar,
html.fs-large  .login, html.fs-xlarge .login,
html.fs-large  .sheet .box, html.fs-xlarge .sheet .box,
html.fs-large  .draw-box, html.fs-xlarge .draw-box { zoom: var(--fs); }

/* ===== 修复：字号放大时，底部品牌页脚（王高粽教育 + 工信部备案号）保持标准大小，不跟着放大 =====
/* 原理：.bottom-bar 整体被 zoom:var(--fs) 放大，页脚 .brandfoot 在其内部被一并放大；
   给 .brandfoot 反向 zoom:calc(1/var(--fs))，抵消后视觉效果回到 1 倍（标准字号）。*/
html.fs-large  .brandfoot, html.fs-xlarge .brandfoot { zoom: calc(1 / var(--fs)); }

html.fs-large  #app, html.fs-xlarge #app,
html.fs-large  .bottom-bar, html.fs-xlarge .bottom-bar,
html.fs-large  .login, html.fs-xlarge .login,
html.fs-large  .sheet .box, html.fs-xlarge .sheet .box,
html.fs-large  .draw-box, html.fs-xlarge .draw-box { max-width: calc(100vw / var(--fs)); }

/* 内容列/登录页最小高度反向补偿，避免大字号下底部出现大片留白 */
html.fs-large  #app, html.fs-xlarge #app,
html.fs-large  .login, html.fs-xlarge .login { min-height: calc(100vh / var(--fs)); }

/* 抽卡页高度反向补偿，避免被裁切 */
html.fs-large  .study, html.fs-xlarge .study { height: calc((100vh - 130px) / var(--fs)); }

/* 大字号下九宫格减为 2 列，给卡片留出呼吸空间，不挤 */
html.fs-large  .grid, html.fs-xlarge .grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }

/* 中文短标签断行均衡：4 字 → 2+2，杜绝“3+1”的难看断行 */
.em-t, .bdc-name, .item .t, .tile .nm, .li-q, .section-title,
.bdc-desc, .em-d, .card-face .q, .card-face .q.sent, .mcard .m-back,
.tier-n, .cat-meta, .item .b, .zone-hint, .ref-fb-l, .lh-frame-t span,
.lic-thanks, .font-desc { text-wrap: balance; }

/* 大字号下整体放宽行高，阅读更舒服 */
html.fs-large  #app, html.fs-xlarge #app { line-height: 1.62; }
html.fs-large  .item .b, html.fs-xlarge .item .b,
html.fs-large  .em-d, html.fs-xlarge .em-d,
html.fs-large  .bdc-desc, html.fs-xlarge .bdc-desc { line-height: 1.68; }

/* 旧版 iOS 不支持 zoom 时的降级：放大根字号（覆盖继承文本；px 写死处尽力而为） */
html.no-zoom #app, html.no-zoom .bottom-bar, html.no-zoom .login { zoom: 1; }

/* ===== 我的页 · 高考大事历入口卡片 ===== */
.mine-feature{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:14px 14px;box-shadow:var(--shadow);margin-bottom:16px;touch-action:manipulation}
.mine-feature:active{transform:translateY(1px)}
.mf-ic{flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:var(--green-l);color:var(--green-d);
  display:flex;align-items:center;justify-content:center}
.mf-ic svg{width:22px;height:22px}
.mf-tx{flex:1;min-width:0}
.mf-t{font-size:15px;font-weight:800;color:var(--ink)}
.mf-b{font-size:11.5px;color:var(--sub);line-height:1.45;margin-top:2px}
.mf-ar{flex:0 0 auto;font-size:20px;color:var(--sub);font-weight:700;line-height:1}

/* ===== 我的页 · 高考大事历当月内嵌卡片 ===== */
.gk-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 12px 8px;
  box-shadow:var(--shadow);margin-bottom:14px}
.gk-hero{position:relative;display:flex;align-items:center;gap:13px;
  background:linear-gradient(135deg,#E9F9F0 0%,#D6F2E2 60%,#EAFBF2 100%);
  border-radius:13px;padding:13px 14px 15px;margin-bottom:12px}
.gk-hero-tip{position:absolute;top:-8px;right:12px;font-size:10.5px;font-weight:800;color:#fff;
  background:linear-gradient(135deg,#22C55E,#0FA958);border-radius:999px;padding:3px 10px;
  letter-spacing:1px;box-shadow:0 3px 8px rgba(15,169,88,.35)}
.gk-cal3d{flex:0 0 54px;width:54px;height:54px;border-radius:13px;position:relative;
  background:linear-gradient(160deg,#2ECC71 0%,#0FA958 52%,#0A7A3D 100%);
  box-shadow:0 8px 16px rgba(15,169,88,.35),0 2px 0 #096B35,inset 0 2px 0 rgba(255,255,255,.45),inset 0 -3px 0 rgba(0,0,0,.14);
  display:flex;align-items:center;justify-content:center}
.gk-cal3d::before{content:'';position:absolute;top:0;left:9px;right:9px;height:10px;
  border-radius:13px 13px 0 0;background:rgba(255,255,255,.20)}
.gk-cal3d .r1,.gk-cal3d .r2{position:absolute;top:-4px;width:5px;height:11px;border-radius:3px;
  background:linear-gradient(180deg,#FCD34D,#F59E0B);box-shadow:0 1px 2px rgba(0,0,0,.25)}
.gk-cal3d .r1{left:14px}.gk-cal3d .r2{right:14px}
.gk-cal3d b{font-size:24px;font-weight:900;color:#fff;line-height:1;text-shadow:0 2px 3px rgba(0,0,0,.28);z-index:1}
.gk-cal3d s{text-decoration:none;position:absolute;right:6px;bottom:4px;font-size:10px;font-weight:800;
  color:rgba(255,255,255,.92);z-index:1}
.gk-hero-tx{flex:1;min-width:0}
.gk-hero-title{font-size:26px;font-weight:900;letter-spacing:2px;line-height:1.15;white-space:nowrap;
  background:linear-gradient(100deg,#0A6B35 0%,#0FA958 55%,#34C77B 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 2px 2px rgba(10,107,53,.18))}
.gk-hero-en{font-family:'Segoe Script','Comic Sans MS',cursive;font-style:italic;font-weight:700;
  font-size:13px;color:#F59E0B;margin-left:8px;-webkit-text-fill-color:#F59E0B;letter-spacing:.5px;
  filter:none;vertical-align:4px}
.gk-hero-swash{display:block;width:118px;height:9px;margin-top:2px}
.gk-card .gk-month{margin-bottom:0;box-shadow:none;padding:10px 11px 4px}
.gk-ev-s{font-size:13px;color:var(--ink);line-height:1.55;padding:7px 1px;border-top:1px solid var(--line)}
.gk-sec .gk-ev-s:first-child{border-top:none;padding-top:2px}
.gk-arrow-wrap{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 4px;padding:9px 0;cursor:pointer;touch-action:manipulation}
.gk-arrow-wrap:active{opacity:.6}
.gk-tgl-tx{font-size:12.5px;font-weight:800;color:var(--green);letter-spacing:.3px}
.gk-caret{position:relative;width:14px;height:14px;display:inline-block;flex:0 0 auto}
.gk-caret i{position:absolute;left:0;width:13px;height:13px;border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(45deg);border-radius:1px}
.gk-caret i:nth-child(1){top:-4px;opacity:.45}
.gk-caret i:nth-child(2){top:3px;box-shadow:2px 2px 3px rgba(15,169,88,.28)}
.gk-caret.up{transform:rotate(180deg)}
.gk-exp-top{display:flex;justify-content:flex-end;margin:2px 0 8px}
.gk-collapse-btn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;color:var(--green);padding:6px 12px;border:1px solid var(--green);border-radius:20px;background:rgba(15,169,88,.06);cursor:pointer;touch-action:manipulation}
.gk-collapse-btn:active{opacity:.6}

/* ===== 高考大事历（按省查时间 · 每月节点 · 每月1号提醒）===== */
.gk-prov{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);margin:-2px 0 10px}
.gk-prov select{flex:1;min-width:0;padding:9px 8px;border:1px solid var(--line);border-radius:10px;
  background:var(--card);color:var(--ink);font-size:13px;font-family:inherit}
.gk-disc{font-size:12px;color:#9A6B00;background:#FFF6E0;border:1px solid #F3D99A;border-radius:10px;
  padding:9px 11px;line-height:1.6;margin-bottom:12px}
.gk-prov-lab{flex:0 0 auto;font-size:13px;color:var(--sub)}
.gk-prov select:disabled{opacity:.6;cursor:not-allowed;background:var(--bg2)}
.gk-lock-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:8px 11px;border-radius:20px;cursor:pointer;touch-action:manipulation;border:1.5px solid var(--green);color:var(--green);background:rgba(15,169,88,.07)}
.gk-lock-btn svg{width:14px;height:14px}
.gk-lock-btn.on{background:var(--green);color:#fff;border-color:var(--green)}
.gk-lock-btn.on svg{stroke:#fff}
.gk-lock-btn:active{opacity:.7}
.gk-months{margin-top:2px}
.gk-months .gk-month{margin-bottom:12px;box-shadow:var(--shadow);padding:12px 12px 4px}
.gk-month{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 12px 4px;
  margin-bottom:12px;box-shadow:var(--shadow)}
.gk-cur{border-color:var(--green);box-shadow:0 0 0 2px rgba(15,169,88,.18),var(--shadow)}
.gk-mh{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:900;color:var(--ink);
  padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}
.gk-badge{flex:0 0 auto;font-size:10.5px;font-weight:800;color:#fff;background:var(--green);
  border-radius:999px;padding:2px 8px;letter-spacing:.5px}
.gk-note{font-size:12px;color:var(--sub);background:var(--bg2);border-radius:9px;padding:8px 10px;
  line-height:1.6;margin-bottom:10px}
.gk-sec{margin:4px 0 8px}
.gk-sec-t{font-size:12.5px;font-weight:800;color:var(--green-d);letter-spacing:.5px;margin:2px 0 6px}
.gk-ev{background:var(--bg2);border:1px solid var(--line);border-radius:10px;margin-bottom:7px;overflow:hidden}
.gk-ev.open{background:#F0F9F4;border-color:#BFE6CF}
.gk-ev-h{display:flex;align-items:center;gap:8px;padding:10px 11px;cursor:pointer;touch-action:manipulation}
.gk-ev-t{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.45}
.gk-ar{flex:0 0 auto;font-size:13px;color:var(--sub);transition:transform .2s ease}
.gk-ev.open .gk-ar{transform:rotate(180deg)}
.gk-ev-d{padding:0 11px 11px;font-size:12.5px;color:var(--sub);line-height:1.7}
.gk-ev-d p{margin:4px 0}
.gk-ev-d b{color:var(--ink)}
.gk-todo{margin:4px 0 4px;padding-left:18px}
.gk-todo li{font-size:12.5px;color:var(--ink);line-height:1.65;margin:5px 0}
.gk-foot{font-size:11px;color:var(--sub);line-height:1.7;text-align:center;margin:14px 4px 6px;
  padding-top:10px;border-top:1px dashed var(--line)}
/* ===== 高考大事历 · 考试机构与咨询信息条 ===== */
.gk-auth{background:linear-gradient(135deg,#F1F8FF 0%,#EAF3FF 100%);border:1px solid #C9DCF5;
  border-radius:12px;padding:10px 12px;margin-bottom:12px}
.gk-auth-h{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:900;color:#1F5FB0;margin-bottom:7px}
.gk-auth-h svg{width:16px;height:16px;flex:0 0 auto}
.gk-auth-b{display:flex;flex-direction:column;gap:5px}
.gk-auth-r{display:flex;gap:8px;font-size:12px;line-height:1.5}
.gk-auth-l{flex:0 0 76px;color:#5B7BA6;font-weight:700}
.gk-auth-v{flex:1;min-width:0;color:var(--ink);word-break:break-all}
.gk-auth-link a{color:#1F5FB0;text-decoration:none;border-bottom:1px solid rgba(31,95,176,.35)}
.gk-auth-link a:active{opacity:.7}
/* 事件详情：来源 / 温馨提示 视觉区分，层次更分明 */
.gk-ev-d .gk-src{background:#F4F8FF;border-radius:7px;padding:6px 8px;color:#3A5C82}
.gk-ev-d .gk-src b{color:#1F5FB0}
.gk-ev-d .gk-tip{background:#FFF6E8;border-radius:7px;padding:6px 8px;color:#8A5A00}
.gk-ev-d .gk-tip b{color:#B26A00}
/* 每月提醒弹窗 */
.gk-modal-mask{position:fixed;inset:0;z-index:99999;background:rgba(8,21,16,.52);
  display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .2s ease}
.gk-modal{width:100%;max-width:340px;background:var(--card);border-radius:16px;padding:18px 16px 14px;
  box-shadow:0 20px 60px rgba(0,0,0,.3)}
.gk-modal-t{font-size:16px;font-weight:900;color:var(--ink);text-align:center}
.gk-modal-sub{font-size:12px;color:var(--sub);text-align:center;margin-top:5px;line-height:1.55}
.gk-modal-list{margin:12px 0 4px;padding-left:18px}
.gk-modal-list li{font-size:13px;color:var(--ink);line-height:1.6;margin:6px 0}
.gk-modal-btns{display:flex;gap:10px;margin-top:14px}
.gk-modal-btns .btn{flex:1;justify-content:center}


/* ===== 高考大事历 · 事件可点行（收起态 gk-ev-s / 展开态 gk-ev-row） ===== */
.gk-ev-s{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);line-height:1.45;
  padding:11px 4px;border-top:1px solid var(--line);cursor:pointer;touch-action:manipulation}
.gk-sec .gk-ev-s:first-child{border-top:none;padding-top:3px}
.gk-ev-s-t{flex:1;min-width:0;font-weight:600}
.gk-ev-s-ar{flex:0 0 auto;font-size:18px;color:var(--green);line-height:1;transform:translateY(-1px)}
.gk-tap:active{opacity:.55}
.gk-ev-s:active{background:rgba(15,169,88,.05)}
.gk-ev-row{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--line);
  border-radius:11px;padding:12px 13px;margin-bottom:8px;cursor:pointer;touch-action:manipulation}
.gk-ev-row:active{background:#EAF4EE;border-color:#BFE6CF}
.gk-ev-row .gk-ev-t{flex:1;min-width:0;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.45}
.gk-ev-row-ar{flex:0 0 auto;font-size:18px;color:var(--green);line-height:1;font-weight:700}
.gk-sec-tip{flex:0 0 auto;margin-left:6px;font-size:10.5px;font-weight:800;color:#fff;background:var(--green);
  border-radius:999px;padding:2px 8px;letter-spacing:.3px}
/* ===== 高考大事历 · 事件深度详情抽屉（底部上滑） ===== */
.gk-detail-mask{position:fixed;inset:0;z-index:99999;background:rgba(8,21,16,.5);
  display:flex;align-items:flex-end;justify-content:center;animation:gkfade .18s ease}
.gk-detail{width:100%;max-width:560px;max-height:88vh;background:var(--card);
  border-radius:20px 20px 0 0;box-shadow:0 -12px 50px rgba(0,0,0,.32);display:flex;flex-direction:column;
  animation:gkslide .24s cubic-bezier(.22,1,.36,1);overflow:hidden}
@keyframes gkslide{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes gkfade{from{opacity:0}to{opacity:1}}
.gk-detail-h{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 12px;
  border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}
.gk-detail-t{flex:1;min-width:0;font-size:17px;font-weight:900;color:var(--ink);line-height:1.4;
  letter-spacing:.3px;padding-right:4px}
.gk-detail-x{flex:0 0 auto;width:34px;height:34px;border:none;border-radius:50%;background:var(--bg2);
  color:var(--sub);font-size:17px;line-height:1;cursor:pointer;touch-action:manipulation;display:flex;
  align-items:center;justify-content:center}
.gk-detail-x:active{background:#E6ECEA;opacity:.8}
.gk-detail-tags{display:flex;flex-wrap:wrap;gap:7px;padding:11px 16px 4px}
.gk-detail-tag{flex:0 0 auto;font-size:11.5px;font-weight:800;color:var(--green-d);
  background:rgba(15,169,88,.1);border:1px solid rgba(15,169,88,.22);border-radius:999px;padding:3px 11px}
.gk-detail-b{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 14px 14px}
.gk-detail-f{padding:10px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);
  background:var(--card)}
.gk-detail-f .btn{width:100%;justify-content:center}
/* 详情内：分区卡片（这是什么 / 好处 / 不足 / 条件 / 费用 / 发展 …） */
.gk-sec-blk{background:var(--bg2);border:1px solid var(--line);border-radius:13px;padding:11px 13px;
  margin-bottom:10px}
.gk-sec-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:900;margin-bottom:8px;
  letter-spacing:.4px}
.gk-sec-ic{flex:0 0 auto;width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:7px;background:rgba(255,255,255,.65)}
.gk-sec-ic svg{width:18px;height:18px}
.gk-p{font-size:13px;color:var(--ink);line-height:1.72;margin:0}
.gk-ul{margin:2px 0 0;padding:0;list-style:none}
.gk-ul li{position:relative;font-size:13px;color:var(--ink);line-height:1.68;padding:4px 0 4px 24px}
.gk-ul li::before{content:'';position:absolute;left:2px;top:9px;width:14px;height:14px;border-radius:50%;
  display:flex;align-items:center;justify-content:center}
.gk-ul-pros li::before{background:rgba(11,138,72,.14)}
.gk-ul-pros li::after{content:'';position:absolute;left:7px;top:12px;width:4px;height:8px;
  border-right:2px solid #0B8A48;border-bottom:2px solid #0B8A48;transform:rotate(45deg)}
.gk-ul-cons li::before{background:rgba(178,106,0,.14)}
.gk-ul-cons li::after{content:'';position:absolute;left:8px;top:10px;width:9px;height:2.5px;
  background:#B26A00;border-radius:2px;box-shadow:0 4px 0 #B26A00}
.gk-money{font-size:13px;line-height:1.72;color:#A6440A;background:#FFF4E6;border:1px solid #F4D9B0;
  border-radius:10px;padding:9px 12px;font-weight:600}
.gk-tipbox{display:flex;gap:10px;background:#FFF8E9;border:1px solid #F2DDA0;border-radius:12px;
  padding:11px 12px;margin-top:2px}
.gk-tipbox-ic{flex:0 0 auto;width:20px;height:20px;color:#B26A00;margin-top:1px}
.gk-tipbox-ic svg{width:20px;height:20px}
.gk-tipbox b{color:#8A5A00;font-size:13px}
.gk-tipbox p{margin:3px 0 0;font-size:12.5px;color:#7A5400;line-height:1.66}
.gk-srcbox{display:flex;gap:10px;background:#F1F7FF;border:1px solid #C9DCF5;border-radius:12px;
  padding:11px 12px;margin-top:2px}
.gk-srcbox-ic{flex:0 0 auto;width:20px;height:20px;color:#1F5FB0;margin-top:1px}
.gk-srcbox-ic svg{width:20px;height:20px}
.gk-srcbox b{color:#1F5FB0;font-size:13px}
.gk-srcbox p{margin:3px 0 0;font-size:12.5px;color:#3A5C82;line-height:1.66;word-break:break-all}

/* ===== 院校详情重排（ac 版） ===== */
.mj-idline{font-size:13px;line-height:1.55;color:#33413A;font-weight:500;margin-bottom:7px}
.mj-idtags-line{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 10px}
.mj-idtags{display:inline-flex;gap:4px;vertical-align:middle}
.mj-btnrow{display:flex;flex-wrap:nowrap;gap:6px;margin:8px 0 4px;overflow-x:auto}
.mj-actbtn{display:inline-flex;align-items:center;justify-content:center;padding:6px 4px;border-radius:9px;border:1.5px solid #C9D4CC;background:#fff;color:#2F4A3A;font-size:11px;font-weight:600;cursor:pointer;text-decoration:none;transition:.15s;line-height:1.2;flex:1 1 0;min-width:0;white-space:nowrap}
.mj-actbtn:hover{filter:brightness(.97)}
.mj-actbtn.on{background:#0E8A4A;border-color:#0E8A4A;color:#fff}
.mj-dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;margin-right:6px;flex:none}
.mj-panel{margin-top:6px;border:1px solid #E3E9E2;border-radius:10px;padding:10px 12px;background:#FBFCFB}
.mj-panel-h{font-weight:700;color:#2F4A3A;margin:0 0 6px}
.mj-rk-row{display:flex;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid #EDF1EC;text-decoration:none;color:inherit}
.mj-rk-row:last-child{border-bottom:none}
.mj-rk-name{font-weight:600;color:#2F4A3A;min-width:54px}
.mj-rk-scope{font-size:12px;color:#7A8A82}
.mj-rk-rank{margin-left:auto;font-weight:700;color:#A32D2D}
.mj-rk-go{color:#1F6FB2;font-size:13px}
.mj-profile{font-size:13px;line-height:1.75;color:#33413A}
.mj-bro-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.mj-bro-sel{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #D6DED3;border-radius:9px;background:#fff;color:#2F4A3A;font-size:13px;font-weight:600;margin:2px 0 4px;cursor:pointer}
.mj-bro-btn{padding:6px 10px;border-radius:7px;border:1px solid #D6DED3;background:#fff;color:#3A4F42;font-size:12px;cursor:pointer}
.mj-bro-btn.on{background:#0E8A4A;border-color:#0E8A4A;color:#fff}
.mj-bro-body{font-size:13px;line-height:1.75;color:#33413A;padding-right:4px;margin-top:8px}
.mj-bro-body p{margin:2px 0}
.mj-art-h{font-weight:700;color:#2F4A3A;margin-top:9px !important}
.mj-sl-block{display:flex;gap:8px;margin:5px 0;font-size:13px;align-items:baseline}
.mj-sl-tier{flex:none;color:#0E8A4A;font-weight:700;white-space:nowrap}
.mj-sl-list{color:#33413A}
.mj-xkbar{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.mj-xkbtn{display:inline-flex;flex-direction:column;align-items:center;min-width:48px;padding:5px 6px;border:1px solid #DBE2D8;border-radius:8px;background:#fff;cursor:pointer;line-height:1.15}
.mj-xkbtn b{font-size:13px}
.mj-xkbtn i{font-style:normal;font-size:11px;color:#7A8A82}
.mj-xkbtn.on{background:#F2F8F3;font-weight:700;border-width:1.5px}
.mj-xksubs{margin-top:4px}
.mj-xk-g{font-size:13px;font-weight:600;color:#33413A}
.mj-xk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.mj-xk-chip{font-size:12px;padding:3px 9px;border:1px solid #ccc;border-radius:20px;background:#fff}
.mj-textinfo{margin-top:8px}
.mj-sec{padding:8px 0;border-bottom:1px solid #EEF1ED}
.mj-sec:last-child{border-bottom:none}
.mj-sec-h{font-size:13.5px;font-weight:700;color:#2F4A3A}
.mj-sec-sub{font-size:12.5px;font-weight:600;color:#5B6B62;margin-top:6px}
.mj-sec-b{font-size:13px;color:#33413A;line-height:1.6;margin-top:2px}
.mj-sec-b b{color:#2F4A3A}
/* 在校生口碑：综合口碑 / 校园环境 / 吃喝生活 三条评分条 */
.mj-kw{display:flex;flex-direction:column;gap:7px;margin:9px 0 2px}
.mj-kw-row{display:flex;align-items:center;gap:9px;font-size:13px}
.mj-kw-lab{flex:none;width:64px;color:#33413A;font-weight:600}
.mj-kw-track{flex:1;height:8px;border-radius:6px;background:#EEF1ED;overflow:hidden}
.mj-kw-track i{display:block;height:100%;border-radius:6px}
.mj-kw-val{flex:none;width:32px;text-align:right;font-size:13px;font-weight:800}

/* 排名芯片：数字在上、来源标签在下，4 框等宽一排不滚动（窄屏/百名千名也不溢出） */
.mj-rank-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px;border-radius:9px;border:1px solid #C9D4CC;background:#fff;cursor:pointer;text-decoration:none;transition:.15s;flex:1 1 0;min-width:0;overflow:hidden;line-height:1}
.mj-rank-chip:hover{filter:brightness(.97)}
.mj-rk-num{font-size:15px;font-weight:800;white-space:nowrap}
.mj-rk-src{font-size:9px;font-weight:600;opacity:.72;white-space:nowrap;transform:scale(.92)}
.mj-rank-chip.mj-rank-na{opacity:.6;cursor:default}
.mj-rankrow{display:flex;flex-wrap:nowrap;gap:4px;margin:8px 0 2px}

/* 升学情况 / 学位点：一排彩色卡片，紧贴排名下方（去掉标题） */
.mj-upblock{margin:9px 0 2px}
.mj-up-grid{display:flex;flex-wrap:wrap;gap:7px}
.mj-up-cell{flex:1 1 0;min-width:62px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:9px 6px;text-align:center;box-shadow:var(--mj-sh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.mj-up-lab{font-size:11.5px;color:#5B6B62;font-weight:600;line-height:1.1}
.mj-up-cell b{font-size:18px;font-weight:800;line-height:1.1}

/* 学科评估九档：两排对齐网格（5+4） */
.mj-xkbar{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:6px 0}
.mj-xkbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;border:1px solid #DBE2D8;border-radius:8px;background:#fff;cursor:pointer;line-height:1.15;width:100%}
.mj-xkbtn b{font-size:13px}
.mj-xkbtn i{font-style:normal;font-size:11px;color:#7A8A82}
.mj-xkbtn.on{background:#F2F8F3;font-weight:700;border-width:1.5px}

/* ===== 2026-11-01 抗AI+ 专业详情页：对齐小程序轻排版 + 明确左右留白 =====
   仅作用于 viewWgzaWhy 输出的 .wgza-why 容器，不影响其他专业/院校页。
   参照小程序 pages/mj-ari：留白 28rpx(≈14px)、正文 13px/1.68、段距 7px、卡片间距 10px、卡片圆角 14px。 */
.wgza-why{padding:0 6px}
.wgza-why .mj-nav{margin:2px 0 10px}
.wgza-why .mj-hero{padding:14px 16px 13px;border-radius:14px;margin-bottom:10px}
.wgza-why .mj-hero-t{font-size:18px;margin-bottom:5px}
.wgza-why .mj-hero-d{font-size:13px;line-height:1.62}
.wgza-why .mj-sec{padding:13px 15px;border-radius:14px;margin-bottom:10px}
.wgza-why .mj-sec>b{font-size:14.5px;margin-bottom:8px;line-height:1.45}
.wgza-why .mj-p{font-size:13px;line-height:1.68;margin:0 0 7px}
.wgza-why .mj-p:last-child{margin-bottom:0}
.wgza-why .mj-ev{font-size:13px;line-height:1.68;padding:0 0 9px}
.wgza-why .mj-ev>b{font-size:13.5px}
.wgza-why .mj-note{font-size:13px;line-height:1.68;margin:10px 0}
.wgza-why .mj-warn{font-size:13px;line-height:1.62;margin:10px 0;padding:11px 13px}

/* ============ 院校风险提示（2026-11-01）============
   数据源 /mini/school_block.json，与微信小程序同一份。
   三级：no_gj 不能填报 / transfer 本校不直招 / stop 已停招。 */
.mj-blk{margin:0 12px 8px;padding:7px 10px;border-radius:10px;background:#FDECEA;border-left:3px solid #D93025;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.mj-blk.transfer{background:#FFF4E5;border-left-color:#E08600}
.mj-blk.stop{background:#F2F3F4;border-left-color:#8A9A90}
.mj-blk-lab{flex:none;font-size:10.5px;font-weight:800;color:#fff;background:#D93025;padding:1px 6px;border-radius:5px;letter-spacing:.3px}
.mj-blk.transfer .mj-blk-lab{background:#E08600}
.mj-blk.stop .mj-blk-lab{background:#8A9A90}
.mj-blk-t{flex:1;min-width:0;font-size:12px;line-height:1.5;color:#7A2E26}
.mj-blk.transfer .mj-blk-t{color:#8A5A00}
.mj-blk.stop .mj-blk-t{color:#55605A}
.mj-blk-to{flex-basis:100%;font-size:11.5px;font-weight:700;color:#7A2E26;line-height:1.5}
.mj-blk.transfer .mj-blk-to{color:#0B8A48}

/* 详情页顶部大提示条 */
.mj-blk-big{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#FDECEA;
  border:1px solid #F3B7B0;border-left:5px solid #D93025}
.mj-blk-big.transfer{background:#FFF4E5;border-color:#F5CF9A;border-left-color:#E08600}
.mj-blk-big.stop{background:#F2F3F4;border-color:#DDE3DF;border-left-color:#8A9A90}
.mj-blk-bh{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.mj-blk-th{font-size:14.5px;font-weight:800;color:#7A2E26}
.mj-blk-big.transfer .mj-blk-th{color:#8A5A00}
.mj-blk-big.stop .mj-blk-th{color:#55605A}
.mj-blk-big .mj-blk-t{font-size:13px;line-height:1.65;color:#7A2E26}
.mj-blk-big.transfer .mj-blk-t{color:#8A5A00}
.mj-blk-big.stop .mj-blk-t{color:#55605A}
.mj-blk-big .mj-blk-to{margin-top:6px;font-size:13px;font-weight:800;color:#0B8A48}
.mj-blk-src{margin-top:8px;font-size:10.5px;line-height:1.5;color:#9AA6A0}

/* 2026-11-01 推算值角标：全库起薪都是「专业类/行业工资折算」，不是分专业调查值，
   必须让家长一眼看出哪个数是补算的，不能拿推算值冒充调查值。 */
.mj-est{display:inline-block;margin:0 4px 0 3px;padding:0 5px;height:17px;line-height:17px;
  font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.3px;color:#8A5A00;
  background:#FFF4E5;border:1px solid #F0C27B;border-radius:4px;vertical-align:1px}
.mj-est-n{font-size:12.5px;color:#8A9490}


/* ═══ 2026-11-06 · 入口卡「实景意象」六张（院校速览 / 专业一览 / 抗AI / 生存力 / 录取避坑 / 学历够用）
   版式（用户 2026-11-06 二次定稿）：图片只占标题上方那块空间，铺满卡片顶部、左右贴到卡片边缘；
   标题 14.5px / 副标题 11.5px、左内边距 13px、行距一律回到改动前，一个字都没缩小。
   3:1 固定比例 = 图片高度永远等于「卡宽 ÷ 3」，任何屏宽下都不裁主体。
   上方两个圆角直接切在图片自己身上（15px = 卡片 16px 圆角减去 1px 边框）：
   部分手机浏览器（iOS 在带 transform 的祖先里）不会用 overflow:hidden 裁圆角，只靠父级裁会露出直角。
   图片是纯装饰：alt 为空；onerror 时节点被摘掉，卡片回到原来的纯色卡，不会留白框。 */
.mj-card.mj-photo{align-items:flex-start;gap:7px;padding:13px 13px 12px}
.mj-card.mj-photo .mj-art{position:static;display:block;width:calc(100% + 26px);height:auto;aspect-ratio:3/1;margin:-13px -13px 0;border-radius:15px 15px 0 0;object-fit:cover;object-position:center;filter:saturate(.97) contrast(1.03);pointer-events:none;background:linear-gradient(150deg,var(--mj-acc-bg1),var(--mj-acc-bg2))}
.mj-card.mj-photo .mj-scrim{display:none}
.mj-card.mj-photo .mj-ic{display:none}
.mj-card.mj-photo b{padding-right:20px}
.mj-card.mj-photo i{color:#64736B}
@media (prefers-reduced-data:reduce){.mj-card.mj-photo .mj-art{display:none}}

/* ── 2026-11-07 录取避坑条款分组 + 招生章程类型下拉 ───────────────────── */
.mj-bk-sum{margin:2px 0 10px;padding:8px 10px;border-radius:10px;background:#FDF3F1;
  border:1px solid #F3DCD7;font-size:12.5px;line-height:1.6;color:#7A3B2E}
.mj-bk-grp{margin:12px 0 2px}
.mj-bk-gh{display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0 0 6px;padding:6px 10px;border-radius:9px;background:#F2F5F3;
  font-size:12.5px;font-weight:800;color:#25332B}
.mj-bk-gh span{flex:0 0 auto;font-weight:600;color:#8FA79B;font-size:11.5px}
.mj-bk-grp.good .mj-bk-gh{background:#E9F6EF;color:#0B5C3B}
.mj-bk-grp.good .mj-bk-gh span{color:#4C9A72}
.mj-bk-item{margin:0 0 8px;padding:8px 10px;border:1px solid #EDF1EE;border-radius:10px;
  background:var(--card,#FFFFFF)}
.mj-bk-t{font-size:13px;font-weight:700;color:#B4382B;line-height:1.5}
.mj-bk-grp.good .mj-bk-t{color:#0E8A4A}
.mj-bk-st{letter-spacing:1px;margin-right:2px}
.mj-bk-c{margin-top:3px;font-size:12.5px;line-height:1.65;color:#33413A}
#mjZcSel{margin-bottom:6px;max-width:100%}
#mjZcSel optgroup{font-weight:700;color:#25332B;background:#F7FAF8}
#mjZcSel option{font-weight:400;color:#161F1A;background:#FFFFFF}

/* 方向地图两层筛子（2026-11）：仅新增 .mj-flt-*，容器/边框/背景全用 :root token，
   选中态直接复用 .mj-chip.on 不另写颜色；所有按钮行 flex-wrap:wrap，禁止单行横滑。 */
.mj-flt-entry{gap:6px}
.mj-flt-entry .mj-chip{padding:6px 11px;min-height:32px;font-size:12.5px}
.mj-flt-meta{font-size:12px;color:var(--sub);white-space:nowrap}
.mj-flt-link{color:var(--green-d);cursor:pointer;text-decoration:underline}
.mj-flt-note{font-size:11.5px;color:var(--sub);line-height:1.6;margin:5px 0 0}
.mj-flt-panel{border:1.5px solid var(--line);background:var(--card);border-radius:13px;padding:11px 12px;margin:2px 0 10px;box-shadow:var(--shadow)}
.mj-flt-lvls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font-size:12.5px;color:var(--sub)}
.mj-flt-lvls .mj-chip{padding:6px 11px;min-height:32px;font-size:12.5px}
.mj-flt-desc{font-size:12.5px;color:var(--sub);line-height:1.6;margin:0 0 10px;background:var(--bg2);padding:7px 10px;border-radius:8px}
.mj-flt-cols{display:flex;gap:10px;align-items:flex-start}
.mj-flt-left{width:104px;flex:none;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:5px;background:var(--bg2)}
.mj-flt-cat{display:flex;align-items:center;gap:3px}
.mj-flt-cat-b{flex:1;min-width:0;font-size:11.5px;line-height:1.3;padding:6px 3px;min-height:32px;justify-content:center;text-align:center}
.mj-flt-cat-a{flex:none;font-size:11px;padding:6px 4px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--sub);cursor:pointer;white-space:nowrap}
.mj-flt-right{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start}
.mj-flt-right .mj-chip{padding:6px 11px;min-height:32px;font-size:12.5px}
.mj-flt-grp{margin:0 0 10px}
.mj-flt-grp-h{font-size:13px;font-weight:800;color:var(--ink);margin:0 0 3px}
.mj-flt-grp-d{font-size:11.5px;color:var(--sub);margin:0 0 6px}
.mj-flt-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;border-top:1px solid var(--line);padding-top:9px}
.mj-flt-foot-n{font-size:12px;color:var(--sub)}
.mj-flt-foot .mj-chip{padding:6px 11px;min-height:32px;font-size:12.5px}
.mj-flt-submit{width:100%;box-sizing:border-box;text-align:center;border-radius:10px;padding:10px;font-size:13.5px;font-weight:700;background:var(--green);color:var(--card);cursor:pointer;margin-top:8px}
/* 方向地图结果页「四步流程化」改版（2026-11）：仅新增 .mj-flow-* / .mj-step4-* / .mj-modal-*，
   不改动任何已有规则（L2305-2309 .mj-step* 是画像问卷进度条，勿动）。
   容器/边框/背景一律 :root token；警示横幅沿用已有 .mj-warn2 同套色；
   所有按钮行 flex-wrap:wrap，禁止单行横滑；字号均不低于 12px。 */

/* 1-3 步：三个大 tab 共用一个框，内容原地切换 */
.mj-flow{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:12px;margin:0 0 14px}
.mj-flow-tabs{display:flex;flex-wrap:wrap;gap:8px}
.mj-flow-tab{flex:1 1 30%;min-width:150px;min-height:50px;display:flex;align-items:center;gap:8px;padding:9px 11px;box-sizing:border-box;border:1.5px solid var(--line);border-radius:12px;background:var(--bg2);cursor:pointer;font-size:15px;font-weight:700;color:var(--ink);line-height:1.3}
.mj-flow-tab.on{background:var(--green);border-color:var(--green);color:#fff}
.mj-flow-tab.on .mj-flow-n{background:#fff;color:var(--green)}
.mj-flow-n{flex:none;width:27px;height:27px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.mj-flow-state{margin-left:auto;font-size:12px;font-weight:500;white-space:nowrap;opacity:.85}
.mj-flow-body{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}
.mj-flow-lead{font-size:14px;color:var(--sub);line-height:1.6;margin:0 0 10px}
.mj-flow-go{display:flex;align-items:center;justify-content:center;min-height:46px;width:100%;box-sizing:border-box;border-radius:11px;background:var(--green);color:#fff;font-size:15px;font-weight:700;cursor:pointer;margin-top:8px}
.mj-flow-go.done{background:var(--green-l);color:var(--green-d);border:1.5px solid var(--green)}
.mj-flow-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.mj-flow-foot-n{font-size:13px;color:var(--sub);margin-right:auto}
.mj-flow-foot .mj-chip{padding:6px 12px;min-height:34px;font-size:13px}
.mj-flow-foot .mj-flt-submit{width:auto;min-width:96px;margin-top:0}

/* 第 4 步：排序按钮紧贴结果 */
.mj-step4{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:12px;margin:0 0 10px}
.mj-step4-h{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.mj-step4-t{font-size:17px;font-weight:800;color:var(--ink)}
.mj-fav{margin-left:auto;flex:none;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;min-height:36px;display:inline-flex;align-items:center;font-size:13px;color:var(--sub);cursor:pointer;white-space:nowrap}
.mj-rand-banner{font-size:16px;line-height:1.55;font-weight:800;color:#8A3A1E;background:#FFF6F2;border:1.5px solid #F3CFC2;border-left:4px solid #E58A5A;border-radius:12px;padding:12px 14px;margin:0 0 10px;text-align:center}
.mj-rand-banner small{display:block;font-size:12.5px;font-weight:500;color:#8A6A5C;margin-top:4px}
.mj-stat{font-size:12.5px;color:var(--sub);line-height:1.6;margin:0 0 8px}
.mj-more{margin:14px 0 0;font-size:12.5px;color:var(--sub)}
.mj-more summary{cursor:pointer;padding:8px 0;color:var(--green-d)}

/* 弹窗：mask 与 card 是兄弟节点，点卡片内容不会冒泡误关；mask 自带 data-act="mjModalClose" */
.mj-modal-wrap{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.mj-modal-mask{position:absolute;inset:0;background:rgba(16,26,20,.55)}
.mj-modal-card{position:relative;z-index:1;width:100%;max-width:420px;max-height:86vh;overflow:auto;box-sizing:border-box;background:var(--card);border-radius:18px;padding:20px}
.mj-modal-t{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:8px}
.mj-modal-lead{font-size:16px;font-weight:800;line-height:1.5;color:#8A3A1E;background:#FFF6F2;border-radius:10px;padding:11px 12px;margin-bottom:10px}
.mj-modal-sub{font-size:13.5px;color:var(--sub);line-height:1.7;margin-bottom:14px}
.mj-modal-steps{display:flex;flex-direction:column;gap:10px}
.mj-modal-step{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:10px;font-size:14px;color:var(--ink)}
.mj-modal-step.dis{opacity:.5;background:var(--bg2)}
.mj-modal-n{flex:none;width:25px;height:25px;border-radius:50%;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.mj-modal-step .ok{color:var(--green-d);font-size:13px;margin-left:auto}
.mj-modal-step .mj-chip{margin-left:auto;padding:7px 12px;min-height:36px;font-size:13px}
.mj-modal-btns{display:flex;justify-content:center;margin-top:16px}

/* ── 设计标尺增量（2026-11）：仅覆盖/补充上面的新类，不改动任何已有规则 ──
   间距 4/8/12/16/20 · 圆角 8/12/16/18 + 999px 胶囊 + 50% 圆 · 字重 400/500/700/800 · 字号下限 12px
   含：流程线、当前步焦点、轻微按压反馈、结果区主角、弹窗质感、横幅字距。 */

/* 2) 一条贯穿的流程线：1px 细线穿 tab 中线；tab 背景不透明 + z-index 盖住线 */
.mj-flow-tabs{position:relative}
.mj-flow-tabs::before{content:"";position:absolute;left:8px;right:8px;top:25px;height:1px;background:var(--line);z-index:0}
.mj-flow-tab{position:relative;z-index:1;opacity:1;transition:transform .14s ease, background .14s ease}
.mj-flow-tab.on{opacity:1;box-shadow:0 0 0 3px var(--green-l)}
.mj-flow-tab.on::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:24px;height:3px;border-radius:999px;background:#fff}
.mj-flow-body{border-left:2px solid var(--green);padding-left:14px}

/* 第二批：已选条件条 + 展开/收回 */
.mj-flow-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--sub)}
.mj-flow-chosen .mj-chip{padding:5px 10px;min-height:30px;font-size:12.5px}
.mj-flow-detail{flex:none;margin-left:auto;font-size:12.5px;color:var(--green-d);cursor:pointer;text-decoration:underline;white-space:nowrap;transition:transform .14s ease, background .14s ease}

/* 4) 轻微按压反馈（仅本次新增类，绝不全局改 .mj-chip / .mj-tier / .mj-row） */
.mj-flow-go{transition:transform .14s ease, background .14s ease}
.mj-fav{transition:transform .14s ease, background .14s ease}
.mj-flow-tab:active,.mj-flow-go:active,.mj-flow-detail:active,.mj-backtop:active,.mj-fav:active{transform:scale(.97)}

/* 5) 结果区是主角：相邻兄弟组合，绝不改 .mj-tier / .mj-row / .mj-rank 本身定义 */
.mj-step4 + .mj-tier{border-left:3px solid var(--green);padding-left:12px}
.mj-step4 + .mj-tier .mj-tier-t{font-size:16px;font-weight:800}

/* 第二批：回到筛选悬浮钮（z-index 30 < 弹窗 .mj-modal-wrap 9999，弹窗弹出时被盖住） */
.mj-backtop{position:fixed;right:14px;bottom:88px;z-index:30;width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 2px 8px rgba(16,26,20,.18);border:1.5px solid rgba(255,255,255,.5);text-align:center;transition:transform .14s ease, background .14s ease}

/* 6-7) 弹窗质感与横幅字距 */
.mj-modal-card{border-top:4px solid var(--green)}
.mj-modal-step{background:var(--green-l)}
.mj-rand-banner{letter-spacing:.01em}

/* 裁决落地（2026-11）：未选中态改用字色弱化替代 opacity 变淡，保证 1/2/3 清晰；按钮行补 wrap；悬浮钮层级收敛为 30 */
.mj-flow-tab:not(.on){color:var(--sub)}
.mj-modal-btns{flex-wrap:wrap}

/* 方向地图结果页顶部窄banner引导（2026-11）：让家长一进来就明白"为什么来、怎么用"，绿色细线体系与全站一致 */
.mj-intro{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#EDFBF4 0%,#F5FCF8 100%);border:1.5px solid #CDEBD9;border-left:4px solid var(--green);border-radius:14px;padding:12px 14px;margin:0 0 14px;box-shadow:var(--mj-sh)}
.mj-intro-badge{flex:none;width:36px;height:36px;border-radius:11px;background:linear-gradient(150deg,var(--green),var(--green-d));color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;box-shadow:0 2px 6px rgba(15,169,88,.28)}
.mj-intro-b{flex:1;min-width:0}
.mj-intro-t{font-size:15.5px;line-height:1.55;font-weight:800;color:var(--ink);letter-spacing:.2px}
.mj-intro-s{font-size:12.5px;line-height:1.5;color:#5C7A6A;margin-top:3px}
.mj-flt-cat-a.on{border-color:#0EA5E9;background:linear-gradient(150deg,#071331,#0F2A66);color:#E0F2FE;font-weight:700;box-shadow:0 0 12px rgba(34,211,238,.30),inset 0 0 8px rgba(34,211,238,.10);text-shadow:0 0 6px rgba(56,189,248,.4)}

/* 2026-11-10：首页 hero 顶部「学会填志愿」入口条（暖橙渐变，醒目非蓝，与深蓝 banner 搭） */
.mj-zhiyuan-bar{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;margin:2px 0 10px;padding:12px 16px;border:none;
  border-radius:14px;cursor:pointer;position:relative;z-index:2;
  background:linear-gradient(100deg,#FFB02E 0%,#FF7A1A 48%,#F23C2E 100%);
  box-shadow:0 10px 26px rgba(242,60,46,.40),0 0 0 1px rgba(255,255,255,.20) inset,0 2px 10px rgba(0,0,0,.35);
  transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;
}
.mj-zhiyuan-bar:active{transform:translateY(1px) scale(.992);filter:brightness(1.04)}
.mj-zhiyuan-bar .zy-txt{display:flex;flex-direction:column;align-items:center;line-height:1.15}
.mj-zhiyuan-bar .zy-main{
  font-size:20px;font-weight:900;letter-spacing:.18em;color:#fff;
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  text-shadow:0 2px 6px rgba(150,25,0,.55),0 0 2px rgba(255,255,255,.30);
}
.mj-zhiyuan-bar .zy-sub{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:rgba(255,244,234,.94);margin-top:2px}
.mj-zhiyuan-bar .zy-arrow{font-size:20px;font-weight:900;color:#fff;text-shadow:0 1px 4px rgba(150,25,0,.5)}
