/* 资讯 */
body{ background: #fff; font-family: "Helvetica Neue", "Helvetica", "Microsoft Yahei", sans-serif;}
.fl{ float: left;}
.fr{ float: right;}
.perload{ display: none;}
.news-list .list-item{ display: block; position: relative; min-height: 56px; padding: 12px 15px 15px; color: #333333; text-decoration: none;}
.news-list .list-item::after{ position: absolute; bottom: 0; right: 15px; left: 15px; content: ""; border-top: 1px solid #ECECEC; transform: scaleY(.5); transform-origin: 0 0;}
.news-list .list-item .title{ font-size: 16px; line-height: 1.4;}
.news-list .list-item .title .tag{ display: inline-block; position: relative; top: 2px; width: 34px; height: 15px; margin-right: 5px; color: #fff; text-align: center; line-height: 15px; font-size: 11px; overflow: hidden;}
.news-list .list-item .title .tag:empty{ display: none;}
.news-list .list-item .title .tag.up-max{ background: #FF0000;}
.news-list .list-item .title .tag.up{ background: #FF0000;}
.news-list .list-item .title .tag.down{ background: #009533;}
.news-list .list-item .title .tag.eq{ background: #b8b8b8;}
.news-list .list-item .info{ margin-top: 10px; font-size: 13px; color: #999999; line-height: 1; overflow: hidden;}
.news-list .list-item .info .tag{ display: block; float: left; position: relative; padding: 0 2px; height: 13px; border: 1px solid #FF0000; color: #FF0000; text-align: center; font-size: 10px; line-height: 13px; overflow: hidden;}
.news-list .list-item .summary{ overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 5px; font-size: 12px; color: #999999; line-height: 1.2;}
.news-list .list-item .summary:empty{ display: none;}
.news-list .list-item .info .summary{ margin-top: 0;}
.news-list .list-item .date{ margin-top: 2px;}
.news-list .list-item .source{ margin-right: 8px;}
.news-list .list-item .state.down{ color: #009533;}
.news-list .list-item .state.up{ color: #FF0000;}
.news-list .list-item .state.up-max{ color: #FF0000;}
.news-list .list-item .rate{ display: inline-block; margin: 8px 19px -5px 0; padding: 1px 2px; border: 1px solid #FF0000; text-align: center; font-size: 10px; overflow: hidden;}
.news-list .list-item .rate:empty{ display: none;}
.news-list .list-item .rate.up-max{ border-color: #FF0000; color: #FF0000;}
.news-list .list-item .rate.up{ border-color: #FF0000; color: #FF0000;}
.news-list .list-item .rate.down{ border-color: #009533; color: #009533;}
.news-list .list-item .rate.eq{ border-color: #b8b8b8; color: #b8b8b8;}
.news-list .list-item .target-price{ font-size: 12px; color: #666666;}
.news-list .list-item .target-price::before{ content: "目标价：";}
.news-list .list-item .target-price::after{ content: "元";}
.news-list .list-item .target-price:empty{ display: none;}
.no-result{ padding: 50px 15px; text-align: center; font-size: 16px;}
.load-status-bar{ display: flex; justify-content: center; align-items: center; height: 55px; background: #ECECEC; font-size: 15px; 
color: #999999; line-height: 55px; text-align: center; cursor: pointer; visibility: hidden;}
.load-status-bar.show{ visibility: visible;}
.load-status-bar .icon{ display: none; position: relative; width: 20px; height: 20px; margin-right: 4px;}
.load-status-bar .icon::before{ position: absolute; top: 0; left: 0; right: 0; bottom: 0; content: "";}
.load-status-bar .icon.loading,
.load-status-bar .icon.reload{ display: inline-block;}
.load-status-bar .icon.loading::before{ background: url("../images/icon_loading.png") no-repeat; background-size: contain; animation: reform 1s linear forwards infinite;}
.load-status-bar .icon.reload::before{ background: url("../images/icon_reload.png") no-repeat; background-size: contain;}

@keyframes reform{
    0%{ -webkit-transform: rotate(0deg);}
    100%{ -webkit-transform: rotate(360deg);}
}

@supports (-webkit-overflow-scrolling: touch) {
    /* CSS specific to iOS devices */
    .news-list .list-item .title .tag{ top: -2px;}
    .news-list .list-item .info .tag{ height: 15px;}
}

.protocol-content{
 padding: 20px 15px 80px;
 word-break: break-all;
 overflow: hidden;
}
.protocol-version-bar{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 15px 0;
}
.protocol-version-label{
    font-size: 12px;
    color: #666666;
    flex: 0 0 auto;
}
.protocol-version-select{
    width: 145px;
    height: 28px;
    padding: 0 8px;
    border: 1px solid #D9D9D9;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 12px;
}
.protocol-content  span{
    font-weight: inherit;
}
.privacy-revoke-bar{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    display: block;
    padding: 10px 15px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255,255,255,.96);
    box-shadow: 0 -1px 8px rgba(0,0,0,.06);
}
.privacy-revoke-btn{
    width: 100%;
    height: 40px;
    border: 0;
    border-radius: 4px;
    background: #E84A43;
    color: #fff;
    font-size: 14px;
    display: block;
}
.privacy-mask{
    position: fixed;
    inset: 0;
    z-index: 10000;
    overscroll-behavior: contain;
    touch-action: none;
}
.privacy-mask.hide{
    display: none;
}
.privacy-mask-layer{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.45);
}
.privacy-dialog{
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(100% - 48px);
    max-width: 320px;
    padding: 20px 16px 16px;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
}
.privacy-dialog-title{
    font-size: 16px;
    line-height: 1.4;
    color: #222;
    text-align: center;
}
.privacy-dialog-content{
    margin-top: 12px;
    max-height: 48vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    font-size: 13px;
    line-height: 1.6;
    color: #666;
}
.privacy-dialog-actions{
    display: flex;
    gap: 10px;
    margin-top: 18px;
}
.privacy-dialog-btn{
    flex: 1;
    height: 36px;
    border: 0;
    border-radius: 4px;
    font-size: 14px;
}
.privacy-dialog-btn.cancel{
    background: #F2F3F5;
    color: #333;
}
.privacy-dialog-btn.confirm{
    background: #E84A43;
    color: #fff;
}
.no-data{
    color:#999;
    text-align: center;
    margin-top:50%;
}
