/* =========css清除默认样式和设置公共样式========= */

/** 清除内外边距 **/

body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
dl,
dt,
dd,
ul,
ol,
li,
th,
td,
form,
fieldset,
legend,
button,
input,
textarea,
blockquote {
    margin: 0;
    padding: 0;
    font-size: 14px;
}

/** 设置默认字体 **/
body,
button,
input,
select,
textarea,
div {
    font-family: Helvetica Neue, Helvetica, PingFang SC, Tahoma, "Microsoft Yahei",
    Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

fieldset,
img {
    border: 0;
    border-style: none;
}

button,
input,
select,
textarea {
    font-size: 14px;
    outline: none;
    -webkit-appearance: none;
    border-radius: 0;
    border: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    display: block;
    font-size: 14px;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: #333;
}

a:hover,
a:visited,
a:link,
a:active {
    color: #333;
}

input {
    border: none;
    appearance: none;
    -moz-appearance: none;
    outline: none;
    -webkit-appearance: none;
}

/* 设置placeholder的默认样式 */

:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

input:-ms-input-placeholder {
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

input::-webkit-input-placeholder {
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

textarea:-ms-input-placeholder {
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

textarea::-webkit-input-placeholder {
    color: #b2b2b2;
    opacity: 1;
    font-family: "Microsoft JhengHei", "Microsoft Yahei";
}

em,
strong {
    font-style: normal;
    font-weight: normal;
}

* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
}

select {
    border: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    /*在选择框的最右侧中间显示小箭头图片*/
    /* background: url("") no-repeat scroll right center transparent; */
    /* padding-right: 14px; */
}

::-ms-clear,
::-ms-reveal {
    display: none;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ellipsis2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.ellipsis4 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
}

textarea {
    resize: none;
}

input:-webkit-autofill {
    -webkit-box-shadow: inset 0 0 0 1000px #fff;
    box-shadow: inset 0 0 0 1000px #fff;
    background-color: transparent;
}

.clearfloat:after {
    display: block;
    clear: both;
    content: "";
    visibility: hidden;
    height: 0;
}

.clearfloat {
    zoom: 1;
}

.el-pagination {
    text-align: center;
    padding-bottom: 0.3rem;
}

.el-message {
    min-width: 5.4rem;
    max-width: 3.6rem;
}

html,
body {
    font-family: "微软雅黑", "Microsoft JhengHei", "Microsoft Yahei", sans-serif;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}


/* ===== */
#appIndex {
    position: relative;
    overflow-x: hidden;
    background: #84ACFF;
    z-index: 3;
    padding: 0.4rem 0;
}

#appIndex::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/mainBg.png) no-repeat center top;
    background-size: 100% auto;
    z-index: -1;
}

#appIndex::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.65) 100%);
    z-index: 0;
}

.questContent {
    background: white;
    margin: 0 0.15rem;
    position: relative;
    z-index: 10;
    padding-top: 1.2rem;
    padding-bottom: 2rem;
}

.qh3 {
    padding: 0 0.15rem;
    line-height: 0.8rem;
    color: #2068FF;
    font-size: 0.54rem;
    font-weight: bold;
    text-align: center;
    user-select: none;
}

.qh4 {
    padding: 0.15rem 0.4rem 0.4rem 0.6rem;
    line-height: 0.6rem;
    color: #2068FF;
    font-size: 0.48rem;
    font-weight: bold;
    text-align: center;
    user-select: none;
}

.title {
    padding: 0 0.4rem;
    font-size: 0.32rem;
    color: #333;
    line-height: 0.48rem;
    text-indent: 0.64rem;
}

.title b {
    color: #000;
    font-weight: bold;
    margin: 0 0.04rem;
}

.bbd {
    padding-bottom: 0.4rem;
    border-bottom: 1px dashed #b2b2b2;
    margin: 0 0.4rem 0.4rem;
}

.baseInfo {
    border: 1px dashed transparent;
    margin: 0 0.2rem 0.4rem;
    border-radius: 0.08rem;
    padding: 0.2rem;
}

.baseInfo.error {
    border-color: #ff4040;
}

.baseInfo .inputLabel {
    height: 0.8rem;
    line-height: 0.8rem;
    font-size: 0.36rem;
}

.baseInfo .inputLabel .x {
    color: #ff4040;
    font-weight: bold;
    margin-right: 0.05rem;
}


.checkBox {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start; /* 改为顶部对齐，避免整体错位 */
    margin: 0.1rem 0;
    min-height: 0.8rem;
}

/* 复选框容器 - 固定宽度，文本自动换行 */
.checkBox .l {
    width: 5rem;
    flex: none;
    margin-right: 0.2rem;
    color: #666;
    font-size: 0.28rem;
}

/* 核心修复：复选框整体样式 */
.checkbox-custom {
    margin-left: 0.3rem;
    display: inline-block;
    width: 100%;
    line-height: 1.2; /* 精准控制行高，避免图标错位 */
    text-align: left;
}

/* 强制复选框图标与文本在同一行 */
.checkbox-custom .el-checkbox__inner {
    /* 固定复选框图标大小，避免缩放导致错位 */
    width: 0.24rem;
    height: 0.24rem;
}


/* 基础布局 - 适配小屏flex布局 */
.checkBox {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0.1rem 0;
    padding: 0 0.15rem; /* 小屏添加左右内边距，避免贴边 */
    box-sizing: border-box;
}

/* 复选框容器 - 小屏适配宽度 */
.checkBox .l {
    width: 2rem; /* 小屏适度缩窄，节省空间 */
    flex: none;
    margin-right: 0.15rem; /* 小屏缩小间距 */
    color: #666;
    font-size: 0.26rem; /* 小屏缩小字体 */
    box-sizing: border-box;
}

/* 核心：复选框样式（小屏防错位） */
.checkbox-custom {
    display: inline-block;
    width: 100%;
    line-height: 1.2;
    text-align: left;
}

/* 复选框图标 - 小屏固定尺寸 */
.checkbox-custom .el-checkbox__inner {
    width: 0.22rem; /* 小屏缩小图标 */
    height: 0.22rem;
    border-radius: 2px; /* 优化小屏视觉 */
}

/* 复选框标签 - 小屏精准适配 */
.checkbox-custom .el-checkbox__label {
    display: inline;
    padding-left: 0.08rem; /* 小屏缩小图标与文本间距 */
    font-size: 0.26rem;
    line-height: 0.28rem; /* 匹配小屏图标高度 */
    word-break: break-all;
    white-space: normal;
    vertical-align: middle;
}

/* 修复element-ui默认样式 */
.checkbox-custom .el-checkbox {
    display: inline-flex;
    align-items: center;
    width: 100%;
    min-height: 0.28rem; /* 小屏保证最小点击区域 */
}

/* 输入框容器 - 小屏自适应 */
.checkBox .r {
    flex: 1;
    min-width: 0; /* 关键：防止小屏溢出 */
    padding-top: 0.01rem;
    margin-left: 0.5rem;
}

/* 小屏适配：表单项去除默认间距 */
.form-item-custom {
    margin-bottom: 0 !important; /* 小屏取消表单项底部间距 */
    padding: 0;
}

/* 输入框样式 - 小屏适配 */
.w-full {
    width: 100%;
    font-size: 0.26rem; /* 小屏缩小字体 */
}

/* 小屏输入框附加内容（%）样式适配 */
.el-input__append {
    padding: 0 0.1rem !important; /* 小屏缩小附加区域 */
    font-size: 0.26rem !important;
}

/* 媒体查询：针对超小屏（320px以下） */
@media screen and (max-width: 320px) {
    .checkBox .l {
        width: 1.4rem; /* 超小屏进一步缩窄复选框区域 */
        font-size: 0.24rem;
    }

    .checkbox-custom .el-checkbox__label {
        font-size: 0.24rem;
        line-height: 0.26rem;
    }

    .w-full {
        font-size: 0.24rem;
    }

    .el-input__append {
        font-size: 0.24rem !important;
    }
}

/* 媒体查询：针对小屏（320px-375px） */
@media screen and (min-width: 321px) and (max-width: 375px) {
    .checkBox {
        padding: 0 0.1rem;
    }

    .checkBox .l {
        margin-right: 0.1rem;
    }
}


.inputBox {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin: 0.1rem 0;
}


.inputBox .l {
    width: 1rem;
    text-align: center;
    color: #666;
    font-size: 0.28rem;
    flex: none;
    margin-right: 0.2rem;
    .x{
        color: #ff4040;
        font-weight: bold;
        margin-right: 0.05rem;
    }
}

.scheme-tab {
    margin-left: 0.1rem;
    padding: 0 .06667rem;
    font-size: .28rem;
    color: #fff;
    justify-content: center;
    align-items: center;
    background-color: #06748c;
    border-bottom-right-radius: .13333rem;
    border-top-left-radius: .13333rem;
    border-top-right-radius: .13333rem;
}

.inputBox .r {
    flex: auto;
}

.lPart {
    margin-top: 0.25rem;
}

.lPart h5 {
    padding: 0 0.4rem;
    line-height: 0.6rem;
    font-size: 0.4rem;
    color: #000;
    font-weight: bold;
}

.lPart h6 {
    padding: 0 0.4rem;
    line-height: 0.6rem;
    font-size: 0.36rem;
    color: #222;
    font-weight: bold;
    margin-top: 0.1rem;
}

.mPart {
    padding: 0.3rem 0.3rem 0.5rem;
    margin: 0.1rem 0.2rem;
    border: 1px dashed transparent;
    border-radius: 0.08rem;
}

.mPart.error {
    border-color: #ff4040;
}

.mPart .el-form-item__label {
    line-height: 0.44rem;
    font-size: 0.32rem;
    color: #444;
}

.mPart .el-radio {
    width: 100%;
    margin-right: 0;
    margin-left: 0 !important;
    margin-bottom: 0.05rem;
}

.inputBox .el-form-item__content {
    display: flex;
    justify-content: space-between;
}

.inputBox .el-radio {
    margin-right: 0;
    flex: auto;
}

.inputBox .el-checkbox-group {
    margin-right: 0;
    flex: auto;
}

.qbtn {
    position: absolute !important;
    height: 0.8rem;
    text-align: center;
    background: #2068FF;
    font-size: 0.32rem;
    color: white;
    border-radius: 0.1rem;
    bottom: 0.6rem;
    width: calc(100% - 0.8rem);
    left: 0.4rem;
}

.qbtn.floatBtn {
    position: fixed !important;
    z-index: 100;
}

/* =========result.html========== */

.resultBox {
}

.resultBoxTop {
    background: #59baff url(../img/resultBg.png) no-repeat center top;
    background-size: auto 45%;
    padding-top: 2rem;
}

.resultBoxTop .main {
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    padding: 0.5rem 0 0.1rem;
}

.resultBoxContent {
    width: auto;
    padding: 0.6rem 0.4rem 0.4rem;
}

.resultBoxImg {
    display: block;
    margin: 0 auto;
}

.resultBoxText {
    text-align: center;
    padding: 0 0.2rem;
}

.resultBoxText.t {
    font-size: 0.4rem;
    font-weight: bold;
    color: #444;
    line-height: 1.2rem;
}

.resultBoxText.m {
    font-size: 0.34rem;
    font-weight: bold;
    color: #555;
    line-height: 0.48rem;
    margin: 0.2rem 0;
}

.resultBoxText.b {
    font-size: 0.28rem;
    color: #2068FF;
    line-height: 0.32rem;
    margin: 0.4rem 0;
}

.resultBoxBtn {
    width: 2.4rem;
    height: 0.8rem;
    line-height: 0.8rem;
    text-align: center;
    background: #2068FF;
    font-size: 0.34rem;
    color: white;
    border-radius: 0.15rem;
    margin: 0 auto;
    cursor: pointer;
}

.resultBoxBtn:hover {
    background: #1a4bbf;
}

/* ============= */
.detailBox .resultBoxTop {
    border-radius: 0 0 0.2rem 0.2rem;
}

.detailContent {
    background: #cbeaff;
    margin-top: 0.2rem;
    border-radius: 0.2rem;
    padding: 0.3rem 0 0.4rem;
    border-radius: 0.2rem 0.2rem 0 0;
}

.detailTitle {
    font-size: 0.44rem;
    color: #08558d;
    line-height: 0.6rem;
    margin: 0 0.24rem 0.2rem;
    font-weight: bold;
    font-family: "Microsoft JhengHei", "微软雅黑", "Microsoft Yahei", sans-serif;
}

.detailList {
    margin: 0 0.24rem;
    border: 0.1rem solid #e9f2fb;
    background: #cde9ff;
    border-radius: 0.15rem;
    box-shadow: 0 0 0.1rem 0.05rem rgba(0, 0, 0, 0.05);
}

.detailListTop {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 0.1rem 0.1rem 0;
}

.detailListTop div {
    border-radius: 0.2rem;
    background: #73c5ff;
    color: #08558d;
    line-height: 0.8rem;
    font-size: 0.36rem;
    font-weight: bold;
}

.detailListTop .l {
    flex: auto;
    padding-left: 0.2rem;
}

.detailListTop .r {
    flex: none;
    width: 1.5rem;
    text-align: center;
    margin-left: 0.1rem;
}

.detailListItem {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    background: white;
    margin-top: 0.15rem;
}

.detailListItem .l {
    font-size: 0.28rem;
    color: #444;
    flex: auto;
    line-height: 0.8rem;
    padding-left: 0.2rem;
}

.detailListItem .r {
    flex: none;
    width: 1.5rem;
    border-radius: 0.32rem;
    text-align: center;
    margin: 0 0.1rem;
    background: #e6f4ff;
    line-height: 0.64rem;
    font-size: 0.3rem;
    color: #333;

}

#echart {
    width: calc(100% - 0.48rem);
    height: 6rem;
    border-radius: 0.15rem;
    margin: 0.2rem 0.24rem;
    overflow: hidden;
    box-shadow: 0 0 0.1rem 0.05rem rgba(0, 0, 0, 0.05);
    border: 0.01rem solid #f2f2f2;
}

.tip {
    width: calc(100% - 0.48rem);
    border-radius: 0.15rem;
    margin: 0.2rem 0.24rem 0;
    overflow: hidden;
    box-shadow: 0 0 0.1rem 0.05rem rgba(0, 0, 0, 0.05);
    border: 0.01rem solid #f2f2f2;
    background: white;
    padding: 0.2rem 0;
    box-sizing: border-box;
}

.tip p {
    margin: 0.1rem 0;
    line-height: 0.36rem;
    font-size: 0.3rem;
    color: #333;
    font-weight: bold;
    padding: 0 0.2rem;
}

.tip img {
    display: block;
    margin: 0.2rem auto 0;
    width: 100%;
}

.noteitems {
    padding: 0.24rem 0;
    margin: 0 0.24rem;
    border-top: 1px dashed #ddd;
    background: #fdfdfd;
    border-radius: 0.15rem;
}

.noteitems:first-of-type {
    border-top: none;
}

.noteBox h3 {
    font-size: 0.44rem;
    color: #08558d;
    line-height: 0.6rem;
    margin: 0 0.24rem 0;
    font-weight: bold;
    font-family: "Microsoft JhengHei", "微软雅黑", "Microsoft Yahei", sans-serif;
}

.noteTitle {
    font-size: 0.36rem;
    color: #333;
    font-weight: bold;
    line-height: 0.6rem;
    padding: 0 0.05rem;
}

.noteitems p {
    text-indent: 0.6rem;
    padding: 0 0.12rem;
    color: #555;
    margin-bottom: 0;
}


