/* ============================================================
   WeUI 风格基础样式 — 法伯循证课题研究中心服务号 Demo
   参考微信 WeUI 组件库 + 服务号原生交互规范
   ============================================================ */

/* --- Reset & Variables --- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{
  --weui-BG-0:#EDEDED;
  --weui-BG-1:#F7F7F7;
  --weui-BG-2:#FFFFFF;
  --weui-FG-0:#181818;
  --weui-FG-1:#333333;
  --weui-FG-2:#5A5A5A;
  --weui-FG-3:#888888;
  --weui-FG-4:#B2B2B2;
  --weui-BRAND:#1A5AA6;
  --weui-LINK:#576B95;
  --weui-BLUE:#0066CC;
  --weui-RED:#E74C3C;
  --weui-SEPARATOR-0:#E5E5E5;
  --weui-SEPARATOR-1:#D9D9D9;
  --weui-GLYPH-WHITE-3:#FFFFFF;
  --brand:#1A5AA6;
  --brand-teal:#3A8AC8;
  --wjx-blue:#0066CC;
}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Microsoft YaHei",sans-serif;
  background:#EFEFF4;display:flex;align-items:center;justify-content:center;min-height:100vh;
  color:var(--weui-FG-0);-webkit-font-smoothing:antialiased;font-size:16px;
}

/* --- 手机框架 --- */
.phone{width:390px;height:844px;background:#000;border-radius:46px;padding:10px;
  box-shadow:0 24px 60px rgba(20,30,50,.30);flex-shrink:0;position:relative}
.phone-screen{width:100%;height:100%;border-radius:37px;overflow:hidden;background:var(--weui-BG-0);
  position:relative;display:flex;flex-direction:column}
.notch{position:absolute;top:14px;left:50%;transform:translateX(-50%);width:88px;height:22px;
  background:#111;border-radius:11px;z-index:99;
  box-shadow:0 0 0 1px rgba(255,255,255,.06),inset 0 1px 2px rgba(255,255,255,.04)}
@media(max-width:850px){
  body{background:var(--weui-BG-0)}
  .phone{width:100vw;height:100vh;border-radius:0;padding:0;box-shadow:none}
  .phone-screen{border-radius:0}
  .notch{display:none}
  .side-note{display:none!important}
}

/* --- 状态栏 --- */
.statusbar{height:44px;display:flex;align-items:flex-end;justify-content:space-between;
  padding:0 16px 5px;font-size:13px;font-weight:600;flex-shrink:0;color:#000;letter-spacing:.2px}
.sbar-right{display:flex;align-items:center;gap:5px;font-size:12px}
.sbar-signal::before{content:"▂▄█";letter-spacing:-1px;font-size:10px}
.sbar-battery{display:inline-block;width:22px;height:11px;border:1.5px solid currentColor;
  border-radius:2px;position:relative;vertical-align:middle}
.sbar-battery::before{content:"";position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  width:2.5px;height:5px;border-radius:0 1px 1px 0;background:currentColor}
.sbar-battery::after{content:"";position:absolute;left:1.5px;top:1.5px;
  width:78%;height:calc(100% - 3px);background:currentColor;border-radius:1px}

/* --- 页面容器 --- */
.page{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.page__bd{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
.page__bd::-webkit-scrollbar{width:0}

/* ===== WeUI Navbar（微信原生导航栏） ===== */
.weui-navbar{height:44px;background:var(--weui-BG-0);display:flex;align-items:center;
  padding:0 12px;flex-shrink:0;position:relative}
.weui-navbar__btn{display:flex;align-items:center;font-size:26px;color:#000;
  cursor:pointer;padding:4px 6px 4px 2px;font-weight:300;line-height:1}
.weui-navbar__title{position:absolute;left:50%;transform:translateX(-50%);font-size:17px;
  font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.weui-navbar__right{margin-left:auto;padding-right:4px;font-size:20px;color:#000;cursor:pointer;padding:4px}

/* ===== WeUI 内置浏览器导航栏 ===== */
.weui-navbar_web{background:#F7F7F7;flex-shrink:0;border-bottom:.5px solid rgba(0,0,0,.08)}
.weui-navbar_web .row1{height:44px;display:flex;align-items:center;padding:0 10px;position:relative}
.weui-navbar_web .back{display:flex;align-items:center;color:#000;cursor:pointer;padding:4px 2px}
.weui-navbar_web .back-arrow{font-size:24px;font-weight:300;line-height:1}
.weui-navbar_web .close{font-size:17px;color:#000;cursor:pointer;padding:4px 8px;font-weight:400}
.weui-navbar_web .title{position:absolute;left:50%;transform:translateX(-50%);font-size:15.5px;
  font-weight:500;max-width:52%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weui-navbar_web .more{margin-left:auto;display:flex;gap:14px;font-size:18px;padding-right:4px;cursor:pointer}
.weui-navbar_web .url-bar{text-align:center;font-size:10.5px;color:#aaa;padding:0 40px 5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ===== WeUI Tabbar（底部菜单——对齐微信原生） ===== */
.weui-tabbar{height:50px;background:#F7F7F7;border-top:.5px solid rgba(0,0,0,.08);flex-shrink:0;
  display:flex;align-items:stretch}
.weui-tabbar__keyboard{width:46px;display:flex;align-items:center;justify-content:center;
  border-right:.5px solid rgba(0,0,0,.08);font-size:19px;color:#555;cursor:pointer;flex-shrink:0}
.weui-tabbar__keyboard:active{background:#EAEAEA}
.weui-tabbar__item{flex:1;display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#111;cursor:pointer;border-right:.5px solid rgba(0,0,0,.08);
  user-select:none;position:relative;letter-spacing:.3px}
.weui-tabbar__item:last-child{border-right:none}
.weui-tabbar__item:active{background:#EAEAEA}
.weui-tabbar__item .emoji{margin-right:4px;font-size:14px}

/* ===== WeUI Chat（聊天气泡） ===== */
.weui-chat{padding:12px 10px 0}
.weui-chat__divider{text-align:center;margin:6px 0 14px}
.weui-chat__divider span{font-size:12px;color:var(--weui-FG-4);letter-spacing:.3px}
/* 对方消息（带头像） */
.weui-msg{display:flex;align-items:flex-start;margin-bottom:16px}
.weui-msg__avatar{width:38px;height:38px;border-radius:5px;flex-shrink:0;margin-right:8px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;line-height:1.15;text-align:center;color:#fff;overflow:hidden}
.weui-msg__bubble{background:#fff;border-radius:8px;padding:10px 12px;max-width:250px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);font-size:14.5px;line-height:1.55;color:var(--weui-FG-1)}
/* 自己消息（右对齐绿气泡） */
.weui-msg_self{justify-content:flex-end}
.weui-msg_self .weui-msg__bubble{background:#95EC69;color:var(--weui-FG-1)}
/* 打字中 */
.weui-typing{display:flex;align-items:center;margin-bottom:16px}
.weui-typing__dots{background:#fff;border-radius:8px;padding:11px 14px;display:flex;gap:4px}
.weui-typing__dots i{width:6px;height:6px;border-radius:50%;background:#bbb;animation:typing-blink 1s infinite}
.weui-typing__dots i:nth-child(2){animation-delay:.2s}
.weui-typing__dots i:nth-child(3){animation-delay:.4s}
@keyframes typing-blink{0%,60%,100%{opacity:.3}30%{opacity:1}}

/* ===== 微信原生小程序卡片（聊天气泡内） ===== */
.weui-miniapp-card{background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.08);width:255px;border:.5px solid rgba(0,0,0,.07)}
.weui-miniapp-card:active{opacity:.88}
.weui-miniapp-card__header{display:flex;align-items:center;padding:10px 12px 9px;gap:9px;
  border-bottom:.5px solid rgba(0,0,0,.06)}
.weui-miniapp-card__appicon{width:36px;height:36px;border-radius:8px;flex-shrink:0;
  background:linear-gradient(135deg,var(--brand),var(--brand-teal));color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:800;line-height:1.2;text-align:center}
.weui-miniapp-card__appname{flex:1;font-size:13.5px;font-weight:600;color:#111;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.weui-miniapp-card__badge{display:flex;align-items:center;gap:3px;font-size:10.5px;
  color:#576B95;flex-shrink:0;white-space:nowrap}
.weui-miniapp-card__badge::before{content:"";display:inline-block;width:12px;height:12px;
  background:var(--brand);flex-shrink:0;vertical-align:middle;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='2.5' cy='2.5' r='1.4'/%3E%3Ccircle cx='6' cy='2.5' r='1.4'/%3E%3Ccircle cx='9.5' cy='2.5' r='1.4'/%3E%3Ccircle cx='2.5' cy='6' r='1.4'/%3E%3Ccircle cx='6' cy='6' r='1.4'/%3E%3Ccircle cx='9.5' cy='6' r='1.4'/%3E%3Ccircle cx='2.5' cy='9.5' r='1.4'/%3E%3Ccircle cx='6' cy='9.5' r='1.4'/%3E%3Ccircle cx='9.5' cy='9.5' r='1.4'/%3E%3C/svg%3E") no-repeat center/contain;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Ccircle cx='2.5' cy='2.5' r='1.4'/%3E%3Ccircle cx='6' cy='2.5' r='1.4'/%3E%3Ccircle cx='9.5' cy='2.5' r='1.4'/%3E%3Ccircle cx='2.5' cy='6' r='1.4'/%3E%3Ccircle cx='6' cy='6' r='1.4'/%3E%3Ccircle cx='9.5' cy='6' r='1.4'/%3E%3Ccircle cx='2.5' cy='9.5' r='1.4'/%3E%3Ccircle cx='6' cy='9.5' r='1.4'/%3E%3Ccircle cx='9.5' cy='9.5' r='1.4'/%3E%3C/svg%3E") no-repeat center/contain}
.weui-miniapp-card__cover{height:106px;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#059E4C,var(--brand) 50%,var(--brand-teal) 120%)}
.weui-miniapp-card__caption{padding:8px 12px 9px;font-size:12.5px;color:#444;font-weight:500}

/* ===== WeUI 图文卡片推送（无头像） ===== */
.weui-card{background:#fff;border-radius:6px;overflow:hidden;cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.05)}
.weui-card:active{opacity:.88}
.weui-card__cover{width:100%;height:152px;position:relative;overflow:hidden}
.weui-card__body{padding:9px 11px 11px}
.weui-card__title{font-size:15.5px;font-weight:600;line-height:1.48;color:#111}
.weui-card__digest{font-size:13px;color:var(--weui-FG-3);line-height:1.5;margin-top:3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.weui-card__from{font-size:12px;color:var(--weui-FG-4);margin-top:7px;display:flex;align-items:center;gap:5px}
.weui-card__from-dot{width:3px;height:3px;border-radius:50%;background:#ccc}

/* ===== WeUI 聊天输入框 ===== */
.weui-input-bar{display:none;height:50px;background:#F7F7F7;border-top:.5px solid var(--weui-SEPARATOR-1);
  align-items:center;padding:0 10px;flex-shrink:0;gap:8px}
.weui-input-bar.show{display:flex}
.weui-input-bar__btn{font-size:19px;color:#444;cursor:pointer;padding:4px;flex-shrink:0}
.weui-input-bar__field{flex:1;height:36px;border:none;background:#fff;border-radius:6px;
  padding:0 12px;font-size:14.5px;outline:none;min-width:0;font-family:inherit}
.weui-input-bar__send{background:var(--weui-BRAND);color:#fff;font-size:14px;padding:7px 16px;
  border-radius:6px;cursor:pointer;flex-shrink:0}
.weui-input-bar__send:active{background:#06AD56}

/* ===== WeUI Actionsheet（子菜单——悬浮式，宽度对齐按钮，不推内容） ===== */
.weui-actionsheet-mask{position:absolute;inset:0;z-index:59;display:none}
.weui-actionsheet-mask.show{display:block}
.weui-actionsheet{position:absolute;bottom:50px;left:calc(46px + (100% - 46px) / 3);
  width:calc((100% - 46px) / 3);background:#fff;border-radius:8px;z-index:60;
  box-shadow:0 2px 12px rgba(0,0,0,.12);display:none;padding:4px 0;
  animation:as-in .18s ease}
@keyframes as-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.weui-actionsheet.show{display:block}
.weui-actionsheet__cell{display:flex;align-items:center;padding:12px 16px;cursor:pointer;
  position:relative;transition:background .1s}
.weui-actionsheet__cell::after{content:" ";position:absolute;left:16px;bottom:0;right:0;height:1px;
  border-bottom:.5px solid #EFEFEF;transform:scaleY(.5);transform-origin:0 0}
.weui-actionsheet__cell:last-child::after{display:none}
.weui-actionsheet__cell:active{background:#F5F5F5}
.weui-actionsheet__cell .txt{font-size:14px;color:#111;flex:1;line-height:1.4}
.weui-actionsheet__cell .link{color:#ccc;font-size:14px;margin-left:6px;flex-shrink:0}
/* 小三角指向按钮 */
.weui-actionsheet__arrow{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);
  width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;
  border-top:6px solid #fff}

/* ===== WeUI Cells（列表/表单） ===== */
.weui-cells{margin-top:10px;background:#fff;overflow:hidden;position:relative}
.weui-cells::before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:.5px solid var(--weui-SEPARATOR-0);transform:scaleY(.5);transform-origin:0 0}
.weui-cells::after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:.5px solid var(--weui-SEPARATOR-0);transform:scaleY(.5);transform-origin:0 100%}
.weui-cell{display:flex;align-items:center;padding:14px 18px;position:relative}
.weui-cell+.weui-cell::before{content:" ";position:absolute;left:18px;top:0;right:0;height:1px;border-top:.5px solid var(--weui-SEPARATOR-0);transform:scaleY(.5);transform-origin:0 0}
.weui-cell__hd{margin-right:12px;flex-shrink:0}
.weui-cell__bd{flex:1;min-width:0;font-size:15px;color:var(--weui-FG-0)}
.weui-cell__ft{flex-shrink:0;color:var(--weui-FG-3);font-size:14px}
.weui-cell__check{width:20px;height:20px;border:2px solid #C5CBD8;border-radius:50%;margin-right:10px;
  flex-shrink:0;position:relative;transition:all .1s}
.weui-cell__check.checked{border-color:var(--weui-BLUE);background:var(--weui-BLUE)}
.weui-cell__check.checked::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:9px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.weui-cell__check--square{border-radius:4px}
.weui-cell__check--square.checked::after{left:4.5px;top:1.5px}

/* ===== WeUI Button ===== */
.weui-btn{display:block;text-align:center;padding:11px;border-radius:8px;font-size:15.5px;
  font-weight:600;cursor:pointer;transition:opacity .1s}
.weui-btn:active{opacity:.85}
.weui-btn_primary{background:var(--weui-BRAND);color:#fff}
.weui-btn_primary:active{background:#06AD56}
.weui-btn_default{background:#fff;color:var(--weui-FG-2);border:1.5px solid #E4E8EF}
.weui-btn_default:active{background:#F5F5F5}
.weui-btn_blue{background:var(--weui-BLUE);color:#fff}
.weui-btn_blue:active{background:#0056AD}
.weui-btn_disabled{opacity:.42;pointer-events:none}

/* ===== WeUI Article（文章正文） ===== */
.weui-article{background:#fff;padding:18px 18px 28px}
.weui-article h1{font-size:21px;line-height:1.45;font-weight:700;margin-bottom:10px;color:#111}
.weui-article__meta{display:flex;align-items:center;font-size:13px;margin-bottom:20px}
.weui-article__meta .name{color:var(--weui-LINK);margin-right:8px;cursor:pointer}
.weui-article__meta .date{color:var(--weui-FG-4)}
.weui-article p{font-size:16px;line-height:1.85;color:var(--weui-FG-1);margin-bottom:16px;text-align:justify}
.weui-article__lead{color:#666;font-size:14.5px;background:#F7F7F7;padding:12px 14px;
  border-radius:6px;line-height:1.75;margin-bottom:18px}
.weui-article h2{font-size:17px;font-weight:700;margin:22px 0 10px;display:flex;align-items:center;color:#111}
.weui-article h2::before{content:"";width:4px;height:16px;background:var(--brand);border-radius:2px;margin-right:8px}
.weui-article__img{border-radius:8px;margin:4px 0 16px;overflow:hidden}
.weui-article__img-ph{height:140px;background:linear-gradient(135deg,#EBF2FA,#E8F4EE);
  display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--brand)}
.weui-article__img-ph .ic{font-size:32px;margin-bottom:6px}
.weui-article__img-ph span{font-size:12px;color:#8A9DB8}
.weui-article__footer{border-top:.5px solid var(--weui-SEPARATOR-0);margin-top:22px;padding-top:12px;
  font-size:12px;color:var(--weui-FG-4);line-height:1.9}
.weui-article__stats{display:flex;gap:16px;font-size:12.5px;color:var(--weui-FG-4);margin-top:16px}

/* ===== 问卷入口卡片 ===== */
.survey-card{margin:22px 0 8px;border:1px solid #E4E9F0;border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,#F8FAFD,#fff)}
.survey-card__top{padding:14px 15px 11px}
.survey-card__tag{display:inline-block;font-size:11px;color:var(--brand);
  background:#E8F8EE;padding:2px 8px;border-radius:20px;margin-bottom:7px;font-weight:600}
.survey-card__title{font-size:15.5px;font-weight:700;margin-bottom:4px;color:#111}
.survey-card__info{font-size:12.5px;color:var(--weui-FG-3);line-height:1.7}
.survey-card .weui-btn{margin:4px 15px 16px}

/* ===== 问卷星页面 ===== */
.wjx-page{background:#F5F6F8}
.wjx-brand{background:#fff;padding:11px 15px;display:flex;align-items:center;border-bottom:1px solid #EEE}
.wjx-logo{display:flex;align-items:center;font-size:15.5px;font-weight:700;color:var(--wjx-blue)}
.wjx-logo__icon{width:24px;height:24px;border-radius:6px;background:var(--wjx-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;margin-right:7px;font-weight:800}
.wjx-cover{background:#fff;margin:10px 12px;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.wjx-cover__head{background:linear-gradient(135deg,var(--brand),var(--brand-teal));color:#fff;
  padding:24px 18px 20px;position:relative;overflow:hidden}
.wjx-cover__head::after{content:"";position:absolute;right:-25px;bottom:-45px;width:120px;height:120px;
  border:12px solid rgba(255,255,255,.10);border-radius:50%}
.wjx-cover__head .eng{font-size:10.5px;letter-spacing:2px;opacity:.78;margin-bottom:7px}
.wjx-cover__head h2{font-size:18px;font-weight:700;line-height:1.4}
.wjx-cover__body{padding:16px 18px 20px}
.wjx-info-row{display:flex;font-size:13px;color:#555;margin-bottom:9px;line-height:1.6}
.wjx-info-row .label{color:#999;flex-shrink:0;width:68px}
.wjx-notice{background:#FFF9EC;border:1px solid #F0E0A8;color:#8A6D1F;font-size:12px;
  border-radius:8px;padding:9px 11px;line-height:1.7;margin-top:5px}
.wjx-login-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 12px}
.wjx-login-btn .wx-ic{width:22px;height:22px;background:#fff;border-radius:5px;
  display:flex;align-items:center;justify-content:center;font-size:12px}
.wjx-footer{text-align:center;font-size:11px;color:#B0B6BF;line-height:1.9;padding:4px 28px 22px}
.wjx-footer a{color:#8A93A3;text-decoration:none}

/* ===== 微信授权页 ===== */
.auth-page{background:#fff}
.auth-box{padding:36px 28px 0}
.auth-app{display:flex;align-items:center;margin-bottom:30px}
.auth-app__icon{width:44px;height:44px;border-radius:10px;background:var(--wjx-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;margin-right:13px}
.auth-app__name b{font-size:16.5px;display:block;margin-bottom:2px}
.auth-app__name span{font-size:12.5px;color:#9a9a9a}
.auth-title{font-size:18px;font-weight:600;margin-bottom:22px;line-height:1.5;color:#111}
.auth-perm{display:flex;align-items:flex-start;padding:0 0 16px}
.auth-perm__dot{width:5px;height:5px;border-radius:50%;background:#ccc;margin:9px 11px 0 2px;flex-shrink:0}
.auth-perm__text{font-size:14.5px;color:var(--weui-FG-1)}
.auth-perm__sub{font-size:12px;color:#9a9a9a;margin-top:2px}
.auth-user{display:flex;align-items:center;background:#F7F7F7;border-radius:10px;padding:11px 13px;margin:12px 0 36px}
.auth-user__av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7A8A9C,#556270);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;margin-right:11px}
.auth-user__name b{font-size:14px;display:block}
.auth-user__name span{font-size:12px;color:#9a9a9a}
.auth-btns{padding:0 28px}
.auth-tip{text-align:center;font-size:11px;color:var(--weui-FG-4);padding:20px 36px;line-height:1.8}

/* ===== 答题页 ===== */
.sv-head{background:#fff;padding:13px 16px 0;flex-shrink:0}
.sv-head h3{font-size:16px;font-weight:700;text-align:center;margin-bottom:9px;color:#111}
.sv-progress-bar{height:4px;background:#EAECEF;border-radius:2px;overflow:hidden;margin-bottom:12px}
.sv-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--wjx-blue),#3399FF);
  border-radius:2px;transition:width .3s ease;width:0}
.sv-progress-txt{display:flex;justify-content:space-between;font-size:12px;color:#8a93a3;margin-bottom:6px}
.sv-progress-txt b{color:var(--wjx-blue);font-weight:700}
.sv-body{padding:12px 10px 4px}
.sv-q{background:#fff;border-radius:10px;padding:18px 16px;box-shadow:0 1px 3px rgba(0,0,0,.04);
  animation:sv-q-in .28s ease}
@keyframes sv-q-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.sv-q__title{font-size:16px;font-weight:600;line-height:1.55;margin-bottom:3px;color:#111}
.sv-q__title .required{color:var(--weui-RED);margin-left:2px}
.sv-q__sub{font-size:12px;color:#98A1AE;margin-bottom:14px}
.sv-opt{display:flex;align-items:center;border:1.5px solid #E4E8EF;border-radius:9px;
  padding:12px 13px;margin-bottom:8px;font-size:14.5px;cursor:pointer;transition:all .1s;background:#fff}
.sv-opt:active{background:#F6FAFF}
.sv-opt.selected{border-color:var(--wjx-blue);background:#F0F6FF}
.sv-opt .rk{width:18px;height:18px;border:2px solid #C5CBD8;border-radius:50%;margin-right:10px;
  flex-shrink:0;position:relative;transition:all .1s}
.sv-opt.multi .rk{border-radius:4px}
.sv-opt.selected .rk{border-color:var(--wjx-blue);background:var(--wjx-blue)}
.sv-opt.selected .rk::after{content:"";position:absolute;left:4px;top:1.5px;width:4px;height:8px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.sv-scale{display:flex;gap:7px;justify-content:space-between;margin:7px 0 3px}
.sv-scale__btn{flex:1;max-width:48px;aspect-ratio:1;border:1.5px solid #E4E8EF;border-radius:9px;
  display:flex;align-items:center;justify-content:center;font-size:15.5px;font-weight:600;
  color:#5a6472;cursor:pointer;transition:all .1s;background:#fff}
.sv-scale__btn.selected{background:var(--wjx-blue);border-color:var(--wjx-blue);color:#fff;transform:scale(1.05)}
.sv-scale-labels{display:flex;justify-content:space-between;font-size:11px;color:#98A1AE;margin-top:7px}
.sv-textarea{width:100%;border:1.5px solid #E4E8EF;border-radius:9px;padding:11px;font-size:14px;
  font-family:inherit;height:110px;resize:none;outline:none;background:#FAFBFC;line-height:1.7}
.sv-textarea:focus{border-color:var(--wjx-blue);background:#fff}
.sv-btns{display:flex;gap:10px;padding:14px 10px 8px}
.sv-btns .weui-btn{flex:1}
.sv-safe{text-align:center;font-size:11px;color:#B0B6BF;padding:2px 28px 18px;line-height:1.8}

/* ===== 提交成功 ===== */
.done-center{text-align:center;padding:56px 28px 0}
.done-icon{width:72px;height:72px;border-radius:50%;background:#E8F8EE;margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;position:relative}
.done-icon::after{content:"";width:20px;height:38px;border:solid var(--weui-BRAND);
  border-width:0 4px 4px 0;transform:rotate(45deg);margin-top:-7px;border-radius:2px}
.done-center h3{font-size:19px;font-weight:700;margin-bottom:10px;color:#111}
.done-center p{font-size:14px;color:#8a93a3;line-height:1.85}
.done-info{background:#fff;border-radius:10px;margin:22px 10px 0;padding:14px 16px;text-align:left}
.done-info__hd{font-size:12.5px;color:#98A1AE;margin-bottom:9px}
.done-info__row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:#444}
.done-info__row b{color:var(--wjx-blue)}

/* ===== 关于我们 ===== */
.about-hero{background:linear-gradient(135deg,#059E4C,var(--brand) 45%,var(--brand-teal) 110%);
  padding:30px 20px 26px;color:#fff;text-align:center}
.about-hero__logo{width:62px;height:62px;border-radius:14px;background:rgba(255,255,255,.15);
  margin:0 auto 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;line-height:1.2}
.about-hero h2{font-size:19px;font-weight:700;margin-bottom:6px}
.about-hero .eng{font-size:12.5px;opacity:.82;letter-spacing:1px}
.about-sec{padding:18px 18px 8px}
.about-sec h3{font-size:15.5px;font-weight:700;margin-bottom:8px;color:#111;display:flex;align-items:center}
.about-sec h3::before{content:"";width:4px;height:15px;background:var(--brand);border-radius:2px;margin-right:8px}
.about-sec p{font-size:14px;line-height:1.8;color:#444;margin-bottom:14px}
.about-sec ul{font-size:14px;line-height:1.9;color:#444;margin-bottom:14px;padding-left:4px;list-style:none}
.about-sec ul li{padding-left:16px;position:relative;margin-bottom:7px}
.about-sec ul li::before{content:"·";position:absolute;left:2px;color:var(--brand);font-weight:800}

/* ===== Toast & Loading ===== */
.weui-toast{position:absolute;left:50%;top:44%;transform:translateX(-50%);background:rgba(0,0,0,.75);
  color:#fff;font-size:13px;padding:10px 18px;border-radius:8px;z-index:999;display:none;white-space:nowrap}
.weui-loading{position:absolute;inset:0;background:#fff;z-index:80;display:none;
  flex-direction:column;align-items:center;justify-content:center}
.weui-loading.show{display:flex}
.weui-loading__spinner{width:28px;height:28px;border:3px solid #E4E8EF;border-top-color:var(--wjx-blue);
  border-radius:50%;animation:spin .75s linear infinite;margin-bottom:12px}
@keyframes spin{to{transform:rotate(360deg)}}
.weui-loading__text{font-size:12.5px;color:#98A1AE}

/* ===== 桌面端侧边说明 ===== */
.side-note{display:none}
.side-note h2{font-size:18px;color:var(--brand);margin-bottom:4px}
.side-note .sn-sub{font-size:12px;color:#9CA3AF;margin-bottom:14px}
.side-note .step{display:flex;align-items:flex-start;background:#fff;border-radius:9px;
  padding:10px 12px;margin-bottom:8px;box-shadow:0 2px 6px rgba(20,50,100,.06)}
.side-note .step .no{width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;
  font-size:11px;display:flex;align-items:center;justify-content:center;margin-right:9px;flex-shrink:0;margin-top:1px}
.side-note .step p{font-size:12.5px;color:#374151}
.side-note .step b{color:var(--brand)}
.side-note{display:none}

/* ===== 微信模板消息通知卡 ===== */
.weui-tmpl-card{background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.08);width:260px;border:.5px solid rgba(0,0,0,.06);
  margin-bottom:0}
.weui-tmpl-card:active{opacity:.88}
.weui-tmpl-card__hd{display:flex;align-items:center;padding:12px 12px 9px;
  border-bottom:.5px solid rgba(0,0,0,.06);gap:8px}
.weui-tmpl-card__title{flex:1;font-size:14.5px;font-weight:700;color:#111}
.weui-tmpl-card__bell{font-size:16px;color:#FFC300;flex-shrink:0}
.weui-tmpl-card__dots{font-size:14px;color:#ccc;letter-spacing:1px;flex-shrink:0;padding-bottom:1px}
.weui-tmpl-card__row{display:flex;align-items:baseline;padding:5px 12px;gap:8px}
.weui-tmpl-card__row:last-child{padding-bottom:12px}
.weui-tmpl-card__label{font-size:12px;color:#999;flex-shrink:0;width:60px}
.weui-tmpl-card__value{font-size:12.5px;color:#333;flex:1;line-height:1.5}
.weui-tmpl-card__value.hi{color:var(--brand);font-weight:600}

/* ===== 服务号底部菜单线性图标 ===== */
.sa-icon{display:inline-block;background:currentColor;flex-shrink:0;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  width:17px;height:17px;vertical-align:-3px}
.weui-tabbar__keyboard .sa-icon{width:19px;height:19px;vertical-align:-4px}
.weui-tabbar__item .sa-icon{margin-right:5px}
/* 键盘 */
.sa-icon-keyboard{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect x=%272%27 y=%275%27 width=%2720%27 height=%2714%27 rx=%272%27/%3E%3Ccircle cx=%276%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2210%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2714%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2718%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%276%27 cy=%2714%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Crect x=%2710%27 y=%2713.2%27 width=%278%27 height=%271.6%27 rx=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Crect x=%272%27 y=%275%27 width=%2720%27 height=%2714%27 rx=%272%27/%3E%3Ccircle cx=%276%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2714%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%2718%27 cy=%2710%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Ccircle cx=%276%27 cy=%2714%27 r=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3Crect x=%2710%27 y=%2713.2%27 width=%278%27 height=%271.6%27 rx=%270.8%27 fill=%27black%27 stroke=%27none%27/%3E%3C/svg%3E")}
/* 问卷（剪贴板+勾选） */
.sa-icon-survey{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M8 2h8a1 1 0 0 1 1 1v1H7V3a1 1 0 0 1 1-1z%27/%3E%3Crect x=%274%27 y=%274%27 width=%2716%27 height=%2717%27 rx=%272%27/%3E%3Cpath d=%27M9 11l2 2 4-4%27/%3E%3Cline x1=%279%27 y1=%2716%27 x2=%2715%27 y2=%2716%27/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M8 2h8a1 1 0 0 1 1 1v1H7V3a1 1 0 0 1 1-1z%27/%3E%3Crect x=%274%27 y=%274%27 width=%2716%27 height=%2717%27 rx=%272%27/%3E%3Cpath d=%27M9 11l2 2 4-4%27/%3E%3Cline x1=%279%27 y1=%2716%27 x2=%2715%27 y2=%2716%27/%3E%3C/svg%3E")}
/* 资讯（报纸） */
.sa-icon-news{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 3h9l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z%27/%3E%3Cpath d=%27M14 3v5h5%27/%3E%3Cline x1=%279%27 y1=%2713%27 x2=%2716%27 y2=%2713%27/%3E%3Cline x1=%279%27 y1=%2717%27 x2=%2713%27 y2=%2717%27/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 3h9l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z%27/%3E%3Cpath d=%27M14 3v5h5%27/%3E%3Cline x1=%279%27 y1=%2713%27 x2=%2716%27 y2=%2713%27/%3E%3Cline x1=%279%27 y1=%2717%27 x2=%2713%27 y2=%2717%27/%3E%3C/svg%3E")}
/* 关于我们（人） */
.sa-icon-about{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%274%27/%3E%3Cpath d=%27M4 21c0-4 4-7 8-7s8 3 8 7%27/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Ccircle cx=%2712%27 cy=%278%27 r=%274%27/%3E%3Cpath d=%27M4 21c0-4 4-7 8-7s8 3 8 7%27/%3E%3C/svg%3E")}

/* ===== SA→MP 跳转加载屏 ===== */
.mp-launch-mask{position:absolute;inset:0;background:#fff;z-index:200;
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.mp-launch-mask.show{display:flex}
.mp-launch-icon{width:60px;height:60px;border-radius:15px;
  background:linear-gradient(135deg,#059E4C,var(--brand));color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;line-height:1.25;text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.15)}
.mp-launch-name{font-size:14px;font-weight:600;color:#111;letter-spacing:.2px}
.mp-launch-bar{position:absolute;bottom:0;left:0;height:2px;
  background:var(--brand);opacity:.75;border-radius:0 1px 1px 0;
  animation:launch-bar .65s cubic-bezier(.4,0,.2,1)}
@keyframes launch-bar{from{width:0}to{width:100%}}
/* 小程序标志（9宫格线性） */
.sa-icon-miniapp{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Ccircle cx=%276%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%276%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%276%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Ccircle cx=%276%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%276%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%276%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%2712%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%276%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2712%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3Ccircle cx=%2718%27 cy=%2718%27 r=%271.8%27 fill=%27black%27/%3E%3C/svg%3E")}
/* icon弱化：降低显眼度，文字优先 */
.weui-tabbar__item .sa-icon{opacity:.55;width:15px;height:15px;vertical-align:-2px;margin-right:4px}
.weui-tabbar__keyboard .sa-icon{opacity:.6}
.weui-actionsheet__cell .txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
