body {
font-family: "Noto Sans SC","Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","WenQuanYi Micro Hei","Microsoft Yahei",sans-serif!important;
-webkit-font-smoothing: antialiased;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6{
font-family: "Noto Sans SC",Roboto,San Francisco,"Helvetica Neue",Helvetica,Arial,PingFangSC-Light,"Hiragina Sans GB","WenQuanYi Micro Hei",'microsoft yahei ui','microsoft yahei',sans-serif!important;
-webkit-font-smoothing: antialiased;

}
   @media only screen and (max-width: 767px) {
    
    .container {
        padding-right: 8px !important;
        padding-left: 8px !important;
    }
    .col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xx-1,.col-xx-10,.col-xx-11,.col-xx-12,.col-xx-2,.col-xx-3,.col-xx-4,.col-xx-5,.col-xx-6,.col-xx-7,.col-xx-8,.col-xx-9 {
      padding-left: 12px !important;
      padding-right: 12px !important;
  }
}
.card {
  margin: 15px 0;
  padding: 12px;
  border-color: #edf2f9;
  border-radius: 12px;
  box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03);
}
.bg-warning {
  background-color: #ffc107;
  color: #fff;
  fill: #ffc107;
}
.p-20 {
  padding: 20px!important;
}
.bg-primary {
  background-color: #007bff!important;
}

.f-s-40 {
  font-size: 40px!important;
}
.bg-primary {
  background-color: #4680ff;
  color: #fff;
  fill: #4680ff;
}

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.panelrow{
    margin-right: 0px;
  margin-left: 0px;
width: 100%;
}
.bg-success {
  background-color: #4caf50;
  color: #fff;
  fill: #4caf50;
}
.bg-danger {
  background-color: #ff5722;
  color: #fff;
  fill: #ff5722;
}
progress {
vertical-align: baseline;
}
@-webkit-keyframes progress-bar-stripes {
from {
  background-position: 1rem 0;
}
to {
  background-position: 0 0;
}
}

@keyframes progress-bar-stripes {
from {
  background-position: 1rem 0;
}
to {
  background-position: 0 0;
}
}

.progress {
display: -ms-flexbox;
display: flex;
height: 1rem;
overflow: hidden;
font-size: 0.75rem;
background-color: #e9ecef;
border-radius: 0.25rem;
}

.progress-bar {
display: -ms-flexbox;
display: flex;
-ms-flex-direction: column;
flex-direction: column;
-ms-flex-pack: center;
justify-content: center;
color: #fff;
text-align: center;
white-space: nowrap;
background-color: #007bff;
transition: width 0.6s ease;
}

@media screen and (prefers-reduced-motion: reduce) {
.progress-bar {
  transition: none;
}
}

.progress-bar-striped {
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-size: 1rem 1rem;
}

.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
}
.card-footer {
padding: 0.75rem 1.25rem;
background-color: rgba(0, 0, 0, 0.03);
border-top: 1px solid rgba(0, 0, 0, 0.125);
}

.card-footer:last-child {
border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);
}
.bg-primary {
background-color: #007bff !important;
}
.bg-secondary {
background-color: #6c757d !important;
}
.bg-success {
background-color: #28a745 !important;
}
.bg-info {
background-color: #17a2b8 !important;
}
.bg-warning {
background-color: #ffc107 !important;
}
.bg-danger {
background-color: #dc3545 !important;
}
.bg-light {
background-color: #f8f9fa !important;
}
.bg-transparent {
background-color: transparent !important;
}
.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}
.tile{
box-shadow: 0 -1px 0 #e5e5e5, 0 0 2px rgba(0,0,0,.12), 0 0.5px 10px rgba(199, 199, 199, 0.58)!important;
}
.page-brand .ui-content-header {
  background-image: url(./images/bg/dashboard_bg03.png)!important;
  background-size: cover;
}
.noboxshadow{
box-shadow: none!important;
margin-top: 8px!important;
}
.btn2 {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: .25rem;
  transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn2-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.mixitup-control-active{
background-color: #085b9c!important;
}
.regbanner{
  background-image: url(/images/reg3.png);
  height: 866px;

  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.loginbannerleft{
  background-image: url(https://imgcssjs-1251114932.cos.ap-chengdu.myqcloud.com/yeswall/oneuser/qidong2.png);
  height: 552px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #1b598a1a;
  border-radius: 5px 0px 0px 5px;
  -moz-border-radius: 5px 0px 0px 5px;
  -webkit-border-radius: 5px 0px 0px 5px;
}
.bannerhelpicon{
position: fixed;
  right: -20px;
  bottom: 50%;
}
@media (min-width: 300px) and (max-width:767px) {
.regbanner {
  background-image: url(/images/regsm.png);
  height: 198px;
  background-color: #fff;
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
}
@media (min-width: 300px) and (max-width:767px) {
.loginbannerleft {
  background-image: url(https://imgcssjs-1251114932.cos.ap-chengdu.myqcloud.com/yeswall/oneuser/loginbannersm.png);
  height: 200px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color:#486d8a24;
  border-radius: 5px 5px 0px 0px;
  -moz-border-radius: 5px 5px 0px 0px;
  -webkit-border-radius: 5px 5px 0px 0px;
}
}

.lianxiwomenbox{
background-image: url(/images/lianxiwomenbg3.png);
background-position: right bottom;
background-size: contain;
background-color: #F6F6F6;
  background-repeat: no-repeat;
}

.list-groupadd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
}
.list-group-itemadd.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.list-group-itemadd:first-child {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem;
}
.list-group-itemadd {
  position: relative;
  display: block;
  padding: .75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.125);
}
.list-group-item-actionadd {
  width: 100%;
  color: #495057;
  text-align: inherit;
}
.list-group-itemadd.disabled, .list-group-itemadd:disabled {
  color: #6c757d;
  background-color: #fff;
}

.list-group-itemadd:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: .25rem;
  border-bottom-left-radius: .25rem;
}
.list-group-itemadd.active {
  z-index: 2;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.btnadd {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
-ms-touch-action: manipulation;
    touch-action: manipulation;
cursor: pointer;
background-image: none;
border: 1px solid transparent;
white-space: nowrap;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
border-radius: 4px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.btnadd:focus,
.btnadd:active:focus,
.btnadd.active:focus,
.btnadd.focus,
.btnadd:active.focus,
.btnadd.active.focus {
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btnadd:hover,
.btnadd:focus,
.btnadd.focus {
color: #333333;
text-decoration: none;
}
.btnadd:active,
.btnadd.active {
outline: 0;
background-image: none;
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btnadd.disabled,
.btnadd[disabled],
fieldset[disabled] .btnadd {
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
a.btnadd.disabled,
fieldset[disabled] a.btnadd {
pointer-events: none;
}
.btnadd-default {
color: #333333;
background-color: #ffffff;
border-color: #cccccc;
}
.btnadd-default:focus,
.btnadd-default.focus {
color: #333333;
background-color: #e6e6e6;
border-color: #8c8c8c;
}
.btnadd-default:hover {
color: #333333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btnadd-default:active,
.btnadd-default.active,
.open > .dropdown-toggle.btnadd-default {
color: #333333;
background-color: #e6e6e6;
border-color: #adadad;
}
.btnadd-default:active:hover,
.btnadd-default.active:hover,
.open > .dropdown-toggle.btnadd-default:hover,
.btnadd-default:active:focus,
.btnadd-default.active:focus,
.open > .dropdown-toggle.btnadd-default:focus,
.btnadd-default:active.focus,
.btnadd-default.active.focus,
.open > .dropdown-toggle.btnadd-default.focus {
color: #333333;
background-color: #d4d4d4;
border-color: #8c8c8c;
}
.btnadd-default:active,
.btnadd-default.active,
.open > .dropdown-toggle.btnadd-default {
background-image: none;
}
.btnadd-default.disabled:hover,
.btnadd-default[disabled]:hover,
fieldset[disabled] .btnadd-default:hover,
.btnadd-default.disabled:focus,
.btnadd-default[disabled]:focus,
fieldset[disabled] .btnadd-default:focus,
.btnadd-default.disabled.focus,
.btnadd-default[disabled].focus,
fieldset[disabled] .btnadd-default.focus {
background-color: #ffffff;
border-color: #cccccc;
}
.btnadd-default .badge {
color: #ffffff;
background-color: #333333;
}
.btnadd-primary {
color: #ffffff;
background-color: #337ab7;
border-color: #2e6da4;
}
.btnadd-primary:focus,
.btnadd-primary.focus {
color: #ffffff;
background-color: #286090;
border-color: #122b40;
}
.btnadd-primary:hover {
color: #ffffff;
background-color: #286090;
border-color: #204d74;
}
.btnadd-primary:active,
.btnadd-primary.active,
.open > .dropdown-toggle.btnadd-primary {
color: #ffffff;
background-color: #286090;
border-color: #204d74;
}
.btnadd-primary:active:hover,
.btnadd-primary.active:hover,
.open > .dropdown-toggle.btnadd-primary:hover,
.btnadd-primary:active:focus,
.btnadd-primary.active:focus,
.open > .dropdown-toggle.btnadd-primary:focus,
.btnadd-primary:active.focus,
.btnadd-primary.active.focus,
.open > .dropdown-toggle.btnadd-primary.focus {
color: #ffffff;
background-color: #204d74;
border-color: #122b40;
}
.btnadd-primary:active,
.btnadd-primary.active,
.open > .dropdown-toggle.btnadd-primary {
background-image: none;
}
.btnadd-primary.disabled:hover,
.btnadd-primary[disabled]:hover,
fieldset[disabled] .btnadd-primary:hover,
.btnadd-primary.disabled:focus,
.btnadd-primary[disabled]:focus,
fieldset[disabled] .btnadd-primary:focus,
.btnadd-primary.disabled.focus,
.btnadd-primary[disabled].focus,
fieldset[disabled] .btnadd-primary.focus {
background-color: #337ab7;
border-color: #2e6da4;
}
.btnadd-primary .badge {
color: #337ab7;
background-color: #ffffff;
}
.btnadd-success {
color: #ffffff;
background-color: #5cb85c;
border-color: #4cae4c;
}
.btnadd-success:focus,
.btnadd-success.focus {
color: #ffffff;
background-color: #449d44;
border-color: #255625;
}
.btnadd-success:hover {
color: #ffffff;
background-color: #449d44;
border-color: #398439;
}
.btnadd-success:active,
.btnadd-success.active,
.open > .dropdown-toggle.btnadd-success {
color: #ffffff;
background-color: #449d44;
border-color: #398439;
}
.btnadd-success:active:hover,
.btnadd-success.active:hover,
.open > .dropdown-toggle.btnadd-success:hover,
.btnadd-success:active:focus,
.btnadd-success.active:focus,
.open > .dropdown-toggle.btnadd-success:focus,
.btnadd-success:active.focus,
.btnadd-success.active.focus,
.open > .dropdown-toggle.btnadd-success.focus {
color: #ffffff;
background-color: #398439;
border-color: #255625;
}
.btnadd-success:active,
.btnadd-success.active,
.open > .dropdown-toggle.btnadd-success {
background-image: none;
}
.btnadd-success.disabled:hover,
.btnadd-success[disabled]:hover,
fieldset[disabled] .btnadd-success:hover,
.btnadd-success.disabled:focus,
.btnadd-success[disabled]:focus,
fieldset[disabled] .btnadd-success:focus,
.btnadd-success.disabled.focus,
.btnadd-success[disabled].focus,
fieldset[disabled] .btnadd-success.focus {
background-color: #5cb85c;
border-color: #4cae4c;
}
.btnadd-success .badge {
color: #5cb85c;
background-color: #ffffff;
}
.btnadd-info {
color: #ffffff;
background-color: #5bc0de;
border-color: #46b8da;
}
.btnadd-info:focus,
.btnadd-info.focus {
color: #ffffff;
background-color: #31b0d5;
border-color: #1b6d85;
}
.btnadd-info:hover {
color: #ffffff;
background-color: #31b0d5;
border-color: #269abc;
}
.btnadd-info:active,
.btnadd-info.active,
.open > .dropdown-toggle.btnadd-info {
color: #ffffff;
background-color: #31b0d5;
border-color: #269abc;
}
.btnadd-info:active:hover,
.btnadd-info.active:hover,
.open > .dropdown-toggle.btnadd-info:hover,
.btnadd-info:active:focus,
.btnadd-info.active:focus,
.open > .dropdown-toggle.btnadd-info:focus,
.btnadd-info:active.focus,
.btnadd-info.active.focus,
.open > .dropdown-toggle.btnadd-info.focus {
color: #ffffff;
background-color: #269abc;
border-color: #1b6d85;
}
.btnadd-info:active,
.btnadd-info.active,
.open > .dropdown-toggle.btnadd-info {
background-image: none;
}
.btnadd-info.disabled:hover,
.btnadd-info[disabled]:hover,
fieldset[disabled] .btnadd-info:hover,
.btnadd-info.disabled:focus,
.btnadd-info[disabled]:focus,
fieldset[disabled] .btnadd-info:focus,
.btnadd-info.disabled.focus,
.btnadd-info[disabled].focus,
fieldset[disabled] .btnadd-info.focus {
background-color: #5bc0de;
border-color: #46b8da;
}
.btnadd-info .badge {
color: #5bc0de;
background-color: #ffffff;
}
.btnadd-warning {
color: #ffffff;
background-color: #f0ad4e;
border-color: #eea236;
}
.btnadd-warning:focus,
.btnadd-warning.focus {
color: #ffffff;
background-color: #ec971f;
border-color: #985f0d;
}
.btnadd-warning:hover {
color: #ffffff;
background-color: #ec971f;
border-color: #d58512;
}
.btnadd-warning:active,
.btnadd-warning.active,
.open > .dropdown-toggle.btnadd-warning {
color: #ffffff;
background-color: #ec971f;
border-color: #d58512;
}
.btnadd-warning:active:hover,
.btnadd-warning.active:hover,
.open > .dropdown-toggle.btnadd-warning:hover,
.btnadd-warning:active:focus,
.btnadd-warning.active:focus,
.open > .dropdown-toggle.btnadd-warning:focus,
.btnadd-warning:active.focus,
.btnadd-warning.active.focus,
.open > .dropdown-toggle.btnadd-warning.focus {
color: #ffffff;
background-color: #d58512;
border-color: #985f0d;
}
.btnadd-warning:active,
.btnadd-warning.active,
.open > .dropdown-toggle.btnadd-warning {
background-image: none;
}
.btnadd-warning.disabled:hover,
.btnadd-warning[disabled]:hover,
fieldset[disabled] .btnadd-warning:hover,
.btnadd-warning.disabled:focus,
.btnadd-warning[disabled]:focus,
fieldset[disabled] .btnadd-warning:focus,
.btnadd-warning.disabled.focus,
.btnadd-warning[disabled].focus,
fieldset[disabled] .btnadd-warning.focus {
background-color: #f0ad4e;
border-color: #eea236;
}
.btnadd-warning .badge {
color: #f0ad4e;
background-color: #ffffff;
}
.btnadd-danger {
color: #ffffff;
background-color: #d9534f;
border-color: #d43f3a;
}
.btnadd-danger:focus,
.btnadd-danger.focus {
color: #ffffff;
background-color: #c9302c;
border-color: #761c19;
}
.btnadd-danger:hover {
color: #ffffff;
background-color: #c9302c;
border-color: #ac2925;
}
.btnadd-danger:active,
.btnadd-danger.active,
.open > .dropdown-toggle.btnadd-danger {
color: #ffffff;
background-color: #c9302c;
border-color: #ac2925;
}
.btnadd-danger:active:hover,
.btnadd-danger.active:hover,
.open > .dropdown-toggle.btnadd-danger:hover,
.btnadd-danger:active:focus,
.btnadd-danger.active:focus,
.open > .dropdown-toggle.btnadd-danger:focus,
.btnadd-danger:active.focus,
.btnadd-danger.active.focus,
.open > .dropdown-toggle.btnadd-danger.focus {
color: #ffffff;
background-color: #ac2925;
border-color: #761c19;
}
.btnadd-danger:active,
.btnadd-danger.active,
.open > .dropdown-toggle.btnadd-danger {
background-image: none;
}
.btnadd-danger.disabled:hover,
.btnadd-danger[disabled]:hover,
fieldset[disabled] .btnadd-danger:hover,
.btnadd-danger.disabled:focus,
.btnadd-danger[disabled]:focus,
fieldset[disabled] .btnadd-danger:focus,
.btnadd-danger.disabled.focus,
.btnadd-danger[disabled].focus,
fieldset[disabled] .btnadd-danger.focus {
background-color: #d9534f;
border-color: #d43f3a;
}
.btnadd-danger .badge {
color: #d9534f;
background-color: #ffffff;
}
.btnadd-link {
color: #337ab7;
font-weight: normal;
border-radius: 0;
}
.btnadd-link,
.btnadd-link:active,
.btnadd-link.active,
.btnadd-link[disabled],
fieldset[disabled] .btnadd-link {
background-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
}
.btnadd-link,
.btnadd-link:hover,
.btnadd-link:focus,
.btnadd-link:active {
border-color: transparent;
}
.btnadd-link:hover,
.btnadd-link:focus {
color: #23527c;
text-decoration: underline;
background-color: transparent;
}
.btnadd-link[disabled]:hover,
fieldset[disabled] .btnadd-link:hover,
.btnadd-link[disabled]:focus,
fieldset[disabled] .btnadd-link:focus {
color: #777777;
text-decoration: none;
}
.btnadd-lg {
padding: 10px 16px;
font-size: 18px;
line-height: 1.3333333;
border-radius: 6px;
}
.btnadd-sm {
padding: 5px 10px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btnadd-xs {
padding: 1px 5px;
font-size: 12px;
line-height: 1.5;
border-radius: 3px;
}
.btnadd-block {
display: block;
width: 100%;
}
.btnadd-block + .btnadd-block {
margin-top: 5px;
}
input[type="submit"].btnadd-block,
input[type="reset"].btnadd-block,
input[type="button"].btnadd-block {
width: 100%;
}
.list-groupaddadd {
margin-bottom: 20px;
padding-left: 0;
}
.list-groupaddadd-item {
position: relative;
display: block;
padding: 10px 15px;
margin-bottom: -1px;
background-color: #ffffff;
border: 1px solid #dddddd;
}
.list-groupaddadd-item:first-child {
border-top-right-radius: 4px;
border-top-left-radius: 4px;
}
.list-groupaddadd-item:last-child {
margin-bottom: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
}
a.list-groupaddadd-item,
button.list-groupaddadd-item {
color: #555555;
}
a.list-groupaddadd-item .list-groupaddadd-item-heading,
button.list-groupaddadd-item .list-groupaddadd-item-heading {
color: #333333;
}
a.list-groupaddadd-item:hover,
button.list-groupaddadd-item:hover,
a.list-groupaddadd-item:focus,
button.list-groupaddadd-item:focus {
text-decoration: none;
color: #555555;
background-color: #f5f5f5;
}
button.list-groupaddadd-item {
width: 100%;
text-align: left;
}
.list-groupaddadd-item.disabled,
.list-groupaddadd-item.disabled:hover,
.list-groupaddadd-item.disabled:focus {
background-color: #eeeeee;
color: #777777;
cursor: not-allowed;
}
.list-groupaddadd-item.disabled .list-groupaddadd-item-heading,
.list-groupaddadd-item.disabled:hover .list-groupaddadd-item-heading,
.list-groupaddadd-item.disabled:focus .list-groupaddadd-item-heading {
color: inherit;
}
.list-groupadd-item.disabled .list-groupadd-item-text,
.list-groupadd-item.disabled:hover .list-groupadd-item-text,
.list-groupadd-item.disabled:focus .list-groupadd-item-text {
color: #777777;
}
.list-groupadd-item.active,
.list-groupadd-item.active:hover,
.list-groupadd-item.active:focus {
z-index: 2;
color: #ffffff;
background-color: #337ab7;
border-color: #337ab7;
}
.list-groupadd-item.active .list-groupadd-item-heading,
.list-groupadd-item.active:hover .list-groupadd-item-heading,
.list-groupadd-item.active:focus .list-groupadd-item-heading,
.list-groupadd-item.active .list-groupadd-item-heading > small,
.list-groupadd-item.active:hover .list-groupadd-item-heading > small,
.list-groupadd-item.active:focus .list-groupadd-item-heading > small,
.list-groupadd-item.active .list-groupadd-item-heading > .small,
.list-groupadd-item.active:hover .list-groupadd-item-heading > .small,
.list-groupadd-item.active:focus .list-groupadd-item-heading > .small {
color: inherit;
}
.list-groupadd-item.active .list-groupadd-item-text,
.list-groupadd-item.active:hover .list-groupadd-item-text,
.list-groupadd-item.active:focus .list-groupadd-item-text {
color: #c7ddef;
}
.list-groupadd-item-success {
color: #3c763d;
background-color: #dff0d8;
}
a.list-groupadd-item-success,
button.list-groupadd-item-success {
color: #3c763d;
}
a.list-groupadd-item-success .list-groupadd-item-heading,
button.list-groupadd-item-success .list-groupadd-item-heading {
color: inherit;
}
a.list-groupadd-item-success:hover,
button.list-groupadd-item-success:hover,
a.list-groupadd-item-success:focus,
button.list-groupadd-item-success:focus {
color: #3c763d;
background-color: #d0e9c6;
}
a.list-groupadd-item-success.active,
button.list-groupadd-item-success.active,
a.list-groupadd-item-success.active:hover,
button.list-groupadd-item-success.active:hover,
a.list-groupadd-item-success.active:focus,
button.list-groupadd-item-success.active:focus {
color: #fff;
background-color: #3c763d;
border-color: #3c763d;
}
.list-groupadd-item-info {
color: #31708f;
background-color: #d9edf7;
}
a.list-groupadd-item-info,
button.list-groupadd-item-info {
color: #31708f;
}
a.list-groupadd-item-info .list-groupadd-item-heading,
button.list-groupadd-item-info .list-groupadd-item-heading {
color: inherit;
}
a.list-groupadd-item-info:hover,
button.list-groupadd-item-info:hover,
a.list-groupadd-item-info:focus,
button.list-groupadd-item-info:focus {
color: #31708f;
background-color: #c4e3f3;
}
a.list-groupadd-item-info.active,
button.list-groupadd-item-info.active,
a.list-groupadd-item-info.active:hover,
button.list-groupadd-item-info.active:hover,
a.list-groupadd-item-info.active:focus,
button.list-groupadd-item-info.active:focus {
color: #fff;
background-color: #31708f;
border-color: #31708f;
}
.list-groupadd-item-warning {
color: #8a6d3b;
background-color: #fcf8e3;
}
a.list-groupadd-item-warning,
button.list-groupadd-item-warning {
color: #8a6d3b;
}
a.list-groupadd-item-warning .list-groupadd-item-heading,
button.list-groupadd-item-warning .list-groupadd-item-heading {
color: inherit;
}
a.list-groupadd-item-warning:hover,
button.list-groupadd-item-warning:hover,
a.list-groupadd-item-warning:focus,
button.list-groupadd-item-warning:focus {
color: #8a6d3b;
background-color: #faf2cc;
}
a.list-groupadd-item-warning.active,
button.list-groupadd-item-warning.active,
a.list-groupadd-item-warning.active:hover,
button.list-groupadd-item-warning.active:hover,
a.list-groupadd-item-warning.active:focus,
button.list-groupadd-item-warning.active:focus {
color: #fff;
background-color: #8a6d3b;
border-color: #8a6d3b;
}
.list-groupadd-item-danger {
color: #a94442;
background-color: #f2dede;
}
a.list-groupadd-item-danger,
button.list-groupadd-item-danger {
color: #a94442;
}
a.list-groupadd-item-danger .list-groupadd-item-heading,
button.list-groupadd-item-danger .list-groupadd-item-heading {
color: inherit;
}
a.list-groupadd-item-danger:hover,
button.list-groupadd-item-danger:hover,
a.list-groupadd-item-danger:focus,
button.list-groupadd-item-danger:focus {
color: #a94442;
background-color: #ebcccc;
}
a.list-groupadd-item-danger.active,
button.list-groupadd-item-danger.active,
a.list-groupadd-item-danger.active:hover,
button.list-groupadd-item-danger.active:hover,
a.list-groupadd-item-danger.active:focus,
button.list-groupadd-item-danger.active:focus {
color: #fff;
background-color: #a94442;
border-color: #a94442;
}
.list-groupadd-item-heading {
margin-top: 0;
margin-bottom: 5px;
}
.list-groupadd-item-text {
margin-bottom: 0;
line-height: 1.3;
}
.noticestyle h2,h3,h4,h5{
margin-top: 0px;
}

.iframe-responsive{
width:100%;
height:300px;
    display: block;
    overflow: hidden;
}

.iframestyle{
position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
 height:300px;
  border: 0;
    margin: 24px 16px;
    overflow: hidden;
}
.iframestyle body{
  top: 0;
  bottom: 0;
  left: 0;
  border: 0;
    margin: 24px 16px;
    overflow: hidden;
}
.popup_content {
margin: 10px;
padding: 0 10px;
max-width: 60%;
border: 2px solid #444;
background: white;
}
.popup_close {
  position: absolute;
  top: 0;
  right: 0px;
  border-radius: 2px;
  background: none;
  border: 0;
  font-size: 25px;
  padding: 0 10px;
}
.icon icon-lg text-white{
  color: #000000!important;
}
.extensionbutton_white {
background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
background-color:#ffffff;
border-radius:4px;
border:1px solid #dcdcdc;
display:inline-block;
cursor:pointer;
color:#666666;
text-decoration:none;
}
.extensionbutton_white:hover {
background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
background-color:#f6f6f6;
}
.extensionbutton_white:active {
position:relative;
top:1px;
color: #000000;
}
a.extensionbutton_white:hover {
background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
background-color:#f6f6f6;
color: #000000;
}
a.extensionbutton_white:active {
position:relative;
top:1px;
color: #000000;
}


.extensionbutton_green {
background-color:#44c767;
border-radius:4px;
display:inline-block;
cursor:pointer;
color:#ffffff;
text-decoration:none;
padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 12px;
  padding-right: 12px;
}
.extensionbutton_green:hover {
background-color:#5cbf2a;
}
.extensionbutton_green:active {
position:relative;
top:1px;
color: white;
}
a.extensionbutton_green:hover {
background-color:#429e13;
color: white;
}
a.extensionbutton_green:active {
position:relative;
top:1px;
}
/* 弹窗css*/
.popupfooter_change {
  position: absolute;
  bottom: 0;
  background: #efefef;
  width: 100%;
  left: 0;
  padding: 10px;
  box-sizing: border-box;
  margin: 0;
  text-align: right;
}
.pico-content > :first-child {
  margin-bottom: 50px;
}
.gundongtiao1::-webkit-scrollbar {
  width: 12px;
   height: 12px;
}
  .gundongtiao1::-webkit-scrollbar-thumb {
      background: radial-gradient(circle, #bccce0 28%,#ccd7db 66%);
      border-radius: 10px;
}
  .gundongtiao1::-webkit-scrollbar-thumb:hover{
      background: linear-gradient(13deg, #9fd4f2 23%,#cee5f5 60%);
}
  .gundongtiao1::-webkit-scrollbar-track{
      background: #ffffff;
      border-radius: 10px;
      box-shadow: inset 7px 12px 12px #f0f0f0;
}
.gdt {
  max-height:100px;
background:#FFF;
/*word-break:break-all;*/
word-wrap:break-word; 
overflow:auto;
/*自动出现滚动条*/
/*超出div部份则自动隐藏*/
/*overflow-x:hidden;*/
/*div自动出现垂直滚动条*/
/*overflow-y:auto;*/
}
.ywbtn-line-green {
-webkit-border-radius: 4;
-moz-border-radius: 4;
border-radius: 4px;
-webkit-box-shadow: 0px 0px 6px #e5f5e4;
-moz-box-shadow: 0px 0px 6px #e5f5e4;
box-shadow: 0px 0px 6px #e5f5e4;
font-family:  "Noto Sans SC","Helvetica Neue", Helvetica, Arial, sans-serif;
color: #0EAC51;
font-size: 14px;
background: #ffffff;
padding: 8px 12px 8px 12px;
border: solid #1EBC61 1px;
text-decoration: none;
}

.ywbtn-line-green:hover {
background: #24c768;
text-decoration: none;
color: #fff;
}
.ywbtn-line-blue {
-webkit-border-radius: 4;
-moz-border-radius: 4;
border-radius: 4px;
-webkit-box-shadow: 0px 0px 6px #dfeefa;
-moz-box-shadow: 0px 0px 6px #dfeefa;
box-shadow: 0px 0px 6px #dfeefa;
font-family:  "Noto Sans SC","Helvetica Neue", Helvetica, Arial, sans-serif;
color: #047cc2;
font-size: 14px;
background: #ffffff;
padding: 8px 12px 8px 12px;
border: solid #0689cf 1px;
text-decoration: none;
}

.ywbtn-line-blue:hover {
background: #22a3e3;
text-decoration: none;
color: #fff;
}
.ywbtn-line-orange {
-webkit-border-radius: 3;
-moz-border-radius: 3;
border-radius: 3px;
-webkit-box-shadow: 0px 0px 6px #FFFAEC;
-moz-box-shadow: 0px 0px 6px #FFFAEC;
box-shadow: 0px 0px 6px #FFFAEC;
font-family:  "Noto Sans SC","Helvetica Neue", Helvetica, Arial, sans-serif;
color: #F5AB35;
font-size: 14px;
background: #ffffff;
padding: 8px 12px 8px 12px;
border: solid #F5AB35 1px;
text-decoration: none;
}

.ywbtn-line-orange:hover {
background: #F9B32F;
text-decoration: none;
color: #fff;
}
.ywbtn-line-gray {
-webkit-border-radius: 3;
-moz-border-radius: 3;
border-radius: 3px;
-webkit-box-shadow: 0px 0px 6px #F5F5F5;
-moz-box-shadow: 0px 0px 6px #F5F5F5;
box-shadow: 0px 0px 6px #F5F5F5;
font-family:  "Noto Sans SC","Helvetica Neue", Helvetica, Arial, sans-serif;
color: #606060;
font-size: 14px;
background: #ffffff;
padding: 8px 12px 8px 12px;
border: solid #D0D0D0 1px;
text-decoration: none;
}

.ywbtn-line-gray:hover {
background: #E0E0E0;
text-decoration: none;
color: #606060;
}
.ywbtn-solid-orange {
-webkit-border-radius: 3;
-moz-border-radius: 3;
border-radius: 3px;
color: #fff;
font-size: 14px;
padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 12px;
  padding-right: 12px;
text-decoration: none;
background-color: #f5a13a;
}

.ywbtn-solid-orange:hover {
background: #ffb939;
text-decoration: none;
color: #fff;
}
.clashsubdownloadtext{
  font-size:14px;
font-weight:400;
}
.modal_pay{
visibility: hidden;
}
.modal_pay:before {
content: "";
display: none;
background: rgba(0, 0, 0, 0.6);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
}
.modal_pay:target .modal-pay-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
top: 20%;
}
.modal-pay-dialog {
background: #fefefe;
border: #333 solid 1px;
border-radius: 5px;
margin-left: -200px;
position: fixed;
left: 50%;
top: -100%;
z-index: 11;
width: 360px;
-webkit-transform: translate(0, -500%);
-ms-transform: translate(0, -500%);
transform: translate(0, -500%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal-pay-body {
padding: 20px;
}
.modal-pay-header,
.modal-pay-footer {
padding: 10px 20px;
}
.modal-pay-header {
border-bottom: #eee solid 1px;
}
.modal-pay-header h2 {
font-size: 20px;
}
.modal-pay-footer {
border-top: #eee solid 1px;
text-align: right;
}
.buykami-button-banner{
position: absolute;
  left: 16vh;
  top: 2.3vh;

}
.buykami-button-banner img{
  height: auto;
}
.animatedtickettext {
background: radial-gradient(circle, #3f51b5 0%, #f50057 100%);
background-clip: text;
-webkit-background-clip: text;
color: transparent;
animation: animatedGradient 1.6s infinite ease;
animation-direction: alternate;
}

@keyframes animatedGradient {
from {
  background-size: 100%;
}

to {
  background-size: 250%;
}
}
.gdt li:first-child {
   width: max-content;
   background: linear-gradient(90deg, #007bff 50%, transparent 50%), linear-gradient(90deg, #007bff 50%, transparent 50%), linear-gradient(0deg, #007bff 50%, transparent 50%), linear-gradient(0deg, #007bff 50%, transparent 50%);
   background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
   background-size: 6px 1px, 6px 1px, 1px 6px, 1px 6px;
   padding: 1px;
   animation: border-dance 66s infinite linear;
   padding-top: 4px;
   padding-bottom: 4px;
   padding-left: 8px;
   padding-right: 8px;
   width: 98%;
   margin-bottom: 6px;
  }
  
@keyframes border-dance {
0% {
  background-position: 0 0, 100% 100%, 0 100%, 100% 0;
}
100% {
  background-position: 100% 0, 0 100%, 0 0, 100% 100%;
}
}

a.graydl-clash{
background-color: #f5f5f5;
color: #393a3b;
font-size: 12px;
font-weight: 400;
font-style: normal;
text-decoration: none;
padding: 6px 10px;
border: 1px solid #888888;
border-radius: 6px;
display: inline-block;
}
a.graydl-clash:hover{
background-color: #e8e8e8;
}
a.graydl-clash:active{
transform: scale(0.95);
}
.code-alert {
          position: relative;
          padding: 1rem 1rem;
          margin-bottom: 1rem;
          border: 1px solid transparent;
          border-radius: 0.25rem;
}
.code-alert-warning {
          color: #664d03;
          background-color: #fff3cd;
          border-color: #ffecb5;
          font-size: 16px;
}
.code-alert a {
          color: inherit;
          font-weight: 700;
          text-decoration: underline;
      }
.code-badge {
          display: inline-block;
          padding: 0.35em 0.65em;
          font-weight: 700;
          line-height: 1;
          color: #fff;
          text-align: center;
          white-space: nowrap;
          vertical-align: baseline;
          border-radius: 0.375rem;
          position: relative;
      }
.code-bg-primary {
          background-color: #0d6efd !important;
          color: #ffffff !important;
      }
.code-bg-warning {
          background-color: #ffc107 !important;
          color: #000 !important;
      }
.code-bg-info {
          background-color: #0dcaf0 !important;
          color: #000 !important;
      }
.code-bg-success {
          background-color: #198754 !important;
      }
.code-bg-primary a {
          font-weight: 700;
          text-decoration: underline;
      }
.service-side-button-1
{
  position: fixed;
  right: -20px;
  bottom: 60vh;
  height: 200px;
}
.service-side-button-2
{
 position: fixed;
  right: -4px;
  bottom: 46vh;
}
@media (max-width: 375px) {
.service-side-button-1 
      {
      position: fixed;
      right: -17px;
      bottom: 53vh;
      height: 180px;
         }
.service-side-button-2
      {
      position: fixed;
      right: -5px;
      bottom: 30vh;
      height: 138px;
      }
}  
/* 定义流光动画 */
@keyframes glowing {
  0% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3498db, 0 0 20px #3498db; }
  50% { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #3498db, 0 0 40px #3498db; }
  100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3498db, 0 0 20px #3498db; }
}

/* 流光字体类 */
.glowing-text {
  display: inline-block;
  color: #2c3e50;
  font-size: 15px;
  animation: glowing 2s infinite;
  transition: all 0.3s ease;
}

.glowing-text:hover {
  animation-duration: 1s;
}

/* ============================================================
 Clash 原生订阅 - 移动端优化样式
 ============================================================ */

/* 基础样式 - 桌面端 */
/* ========================================================================== */
/* Clash 原生订阅区域 - 桌面端基础样式 */
/* ========================================================================== */

/* 主容器 */
.clash-native-container {
  border-radius: 10px;
  margin-bottom: 20px;
  box-sizing: border-box;
}

/* 头部区域 */
.clash-header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

/* 图标容器 */
.clash-icon-box {
  background: #2196f3;
  border-radius: 8px;
  padding: 8px;
  margin-right: 12px;
  box-shadow: 0 2px 8px rgba(33, 150, 243, 0.3);
}

/* 图标样式 */
.clash-icon {
  color: #fff;
  font-size: 22px;
}

/* 标题 */
.clash-title {
  color: #1565c0;
  margin: 0 0 4px 0;
  font-weight: 700;
  font-size: 16px;
}

/* 副标题 */
.clash-subtitle {
  margin: 0;
  color: #1976d2;
  font-size: 12px;
  font-weight: 500;
}

/* 域名卡片 */
.clash-domain-card {
  margin-bottom: 15px;
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  border: 1px solid #eee;
  box-sizing: border-box;
}

.clash-domain-card:last-of-type {
  margin-bottom: 10px;
}

/* 域名卡片头部 */
.clash-domain-header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

/* 域名标签 - 基础样式 */
.clash-tag {
  color: #fff;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-right: 8px;
  display: inline-block;
}

/* 主域名标签 */
.clash-tag-primary {
  background: #2196f3;
}

/* 备用域名标签1 */
.clash-tag-secondary {
  background: #42a5f5;
}

/* 备用域名标签2 */
.clash-tag-tertiary {
  background: #64b5f6;
}

/* 域名文字 */
.clash-domain-text {
  color: #1565c0;
  font-size: 13px;
  font-weight: 600;
}

/* URL行容器 */
.clash-url-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

/* URL输入框 */
.clash-url-input {
  flex: 1;
  min-width: 0;
  font-size: 12px;
  border: 1px solid #90caf9;
  border-radius: 6px;
  padding: 5px;
  font-size: 16px !important;
}

/* 使用说明容器 */
.clash-info-box {
  background: #fff9c4;
  border-left: 4px solid #fbc02d;
  padding: 10px 12px;
  border-radius: 4px;
  margin-top: 12px;
}

/* 使用说明头部 */
.clash-info-header {
  display: flex;
  align-items: start;
}

/* 使用说明图标 */
.clash-info-icon {
  color: #f57f17;
  font-size: 18px;
  margin-right: 8px;
}

/* 使用说明内容区 */
.clash-info-content {
  flex: 1;
}

/* 使用说明标题 */
.clash-info-title {
  margin: 0 0 4px 0;
  color: #f57f17;
  font-size: 12px;
  font-weight: 600;
}

/* 使用说明文字 */
.clash-info-text {
  margin: 0;
  color: #f57f17;
  font-size: 11px;
  line-height: 1.5;
}

/* ========================================================================== */
/* Clash订阅 - 顶部引导提示框（清爽蓝风格）*/
/* ========================================================================== */
.clash-guide-box {
    background: #f0f7ff; /* 极浅的蓝色背景 */
    border: 1px solid #dbeafe; /* 柔和的蓝边框 */
    border-radius: 8px;
    padding: 15px;
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    align-items: flex-start;
    transition: all 0.2s;
}

.clash-guide-box:hover {
    border-color: #bfdbfe;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.08);
}

/* 左侧图标区域 */
.clash-guide-icon {
    width: 40px;
    height: 40px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2563eb; /* 亮蓝色 */
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.1);
    border: 1px solid #eff6ff;
}

/* 针对 Material Icons 的字体大小适配 */
.clash-guide-icon .icon {
    font-size: 24px;
    line-height: 1;
}

/* 内容区域 */
.clash-guide-content {
    flex: 1;
    padding-top: 2px;
    min-width: 0; /* 防止Flex子项溢出 */
}

.clash-guide-title {
    font-size: 15px;
    font-weight: 700;
    color: #1e3a8a; /* 深蓝标题 */
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 步骤列表样式 */
.clash-guide-steps {
    display: flex;
    flex-direction: column;
    gap: 10px; /* 增加间距 */
}

.guide-step-item {
    font-size: 13px;
    color: #475569; /* 蓝灰色文字 */
    display: flex;
    align-items: flex-start;
    line-height: 1.6;
}

/* 步骤序号徽章 (加大版) */
.step-badge {
    background: #dbeafe;
    color: #2563eb;
    font-size: 12px; /* 字体加大 */
    font-weight: 800; /* 加粗 */
    min-width: 22px; /* 宽度加大 */
    height: 22px;    /* 高度加大 */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 12px; /* 间距加大 */
    margin-top: 1px; /* 对齐微调 */
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(37, 99, 235, 0.1);
}

/* 链接样式优化 */
.clash-guide-link {
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
    background: rgba(37, 99, 235, 0.06);
    padding: 2px 8px; /* 加大点击区域 */
    border-radius: 4px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-bottom: 1px solid transparent;
    cursor: pointer;
    margin: 0 2px;
}

.clash-guide-link:hover {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

/* 链接内的小图标适配 */
.clash-guide-link .icon {
    font-size: 16px;
    vertical-align: middle;
    margin-top: -2px; 
}

/* ========================================================================== */
/* 安全警告组件（紧凑柔和红风格）*/
/* ========================================================================== */
.clash-warning-box {
    background: #fff5f5; /* 极浅的红色背景 */
    border: 1px solid #ffcdd2; /* 柔和的红边框 */
    border-radius: 6px; /* 稍微减小圆角 */
    margin-bottom: 16px; /* 减小底部间距 */
    overflow: hidden;
    transition: all 0.2s;
    margin-top: 12px;
}

.clash-warning-box:hover {
    border-color: #ef9a9a;
    box-shadow: 0 2px 8px rgba(229, 57, 53, 0.08);
}

/* 布局容器 */
.clash-warning-inner {
    display: flex;
    align-items: stretch;
}

/* 左侧图标条 - 更紧凑 */
.clash-warning-side {
    width: 40px; /* 减小宽度 */
    background: rgba(229, 57, 53, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e53935;
    border-right: 1px solid #ffcdd2;
    flex-shrink: 0;
}

.clash-warning-side .icon {
    font-size: 20px; /* 减小图标 */
}

/* 右侧内容区 */
.clash-warning-content {
    flex: 1;
    min-width: 0;
}

/* 头部 (可点击区域) - 更紧凑 */
.clash-warning-header {
    padding: 10px 15px; /* 减小内边距 */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    min-height: 40px; /* 保证最小高度 */
}

.clash-warning-header:hover {
    background: rgba(229, 57, 53, 0.03);
}

.warning-title-row {
    display: flex;
    align-items: center;
    gap: 8px; /* 减小间距 */
    font-size: 14px; /* 减小字体 */
    color: #b71c1c;
}

.warning-badge {
    font-size: 10px;
    background: #e53935;
    color: #fff;
    padding: 1px 5px;
    border-radius: 3px;
    font-weight: 600;
    line-height: 1.2;
}

.warning-brief {
    font-size: 12px;
    color: #e57373;
    margin-left: 4px;
    font-weight: normal;
}

/* 箭头图标动画 */
.warning-toggle-icon {
    color: #ef9a9a;
    transition: transform 0.3s ease;
    font-size: 18px;
}

.clash-warning-header.active .warning-toggle-icon {
    transform: rotate(180deg);
    color: #e53935;
}

/* 详情区域 (默认折叠) */
.clash-warning-details {
    display: none;
    padding: 0 15px 15px 15px; /* 减小内边距 */
    color: #c62828;
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.warning-desc {
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 8px;
    padding-top: 8px;
    border-top: 1px dashed #ffcdd2;
}

/* 风险列表 */
.warning-list {
    display: flex;
    flex-direction: column;
    gap: 3px; /* 减小间距 */
    background: #fff;
    border-radius: 4px;
    padding: 8px 10px;
}

.warning-item {
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #d32f2f;
    line-height: 1.4;
}

.warning-item .icon {
    font-size: 14px;
    margin-right: 6px;
    color: #e53935;
    min-width: 14px; /* 防止图标被压缩 */
}

/* 底部操作 */
.warning-footer {
    margin-top: 8px;
    font-size: 11px;
    color: #e57373;
    text-align: right;
}

.warning-link {
    color: #d32f2f;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}
.warning-link:hover {
    color: #b71c1c;
}

/* 移动端优化 */
@media (max-width: 768px) {
    .warning-brief {
        display: none; /* 手机端隐藏副标题 */
    }
    .clash-warning-header {
        padding: 10px 12px;
    }
    .clash-warning-side {
        width: 36px;
    }
    .clash-warning-side .icon {
        font-size: 18px;
    }
}

/* ========================================================================== */
/* Clash 订阅二维码模态框样式 - 2026-01-20 */
/* ========================================================================== */

/* 二维码按钮样式 */
.clash-qrcode-btn {
    background: #00bcd4 !important;
    border: none !important;
    color: #fff !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}
.clash-qrcode-btn:hover {
    background: #0097a7 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 188, 212, 0.3) !important;
    color: #fff !important;
}
.clash-qrcode-btn .material-icons {
    font-size: 18px !important;
    color: #fff !important;
}

/* 模态框容器 */
.clash-qrcode-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    align-items: center;
    justify-content: center;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* 背景遮罩 */
.clash-qrcode-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:rgb(171 171 171 / 58%);
    backdrop-filter: blur(4px);
}

/* 二维码容器 */
.clash-qrcode-container {
    position: relative;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    max-width: 400px;
    width: 90%;
    animation: slideUp 0.3s ease;
    overflow: hidden;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 二维码头部 */
.clash-qrcode-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 24px;
    background:#2563eb;
    color: #fff;
}

.clash-qrcode-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.clash-qrcode-title .material-icons {
    font-size: 24px;
}

.clash-qrcode-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: #fff;
    padding: 0;
}

.clash-qrcode-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg);
}

.clash-qrcode-close .material-icons {
    font-size: 20px;
}

/* 二维码主体 */
.clash-qrcode-body {
    padding: 30px 24px;
    text-align: center;
}

/* 二维码画布 */
.qrcode-canvas {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    padding: 20px;
    background: #fff;
    border: 2px solid #e0e0e0;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    width: fit-content;
}

.qrcode-canvas img {
    display: block;
    border-radius: 8px;
}

/* 提示信息 */
.qrcode-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: #e3f2fd;
    border-radius: 8px;
    color: #1565c0;
    font-size: 14px;
    margin-bottom: 16px;
}

.qrcode-hint .material-icons {
    font-size: 18px;
}

/* 隐藏的 URL input */
.qrcode-url {
    display: none;
}

/* 二维码复制按钮 */
.qrcode-copy-btn {
    width: 100%;
    padding: 12px 16px;
    background: #4caf50;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

.qrcode-copy-btn:hover {
    background: #43a047;
    box-shadow: 0 4px 8px rgba(76, 175, 80, 0.4);
    transform: translateY(-1px);
}

.qrcode-copy-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3);
}

.qrcode-copy-btn .material-icons {
    font-size: 20px;
}

/* 移动端优化 */
@media (max-width: 768px) {
    .clash-qrcode-container {
        max-width: 95%;
    }
    
    .clash-qrcode-header {
        padding: 12px 20px;
    }
    
    .clash-qrcode-title {
        font-size: 16px;
    }
    
    .clash-qrcode-body {
        padding: 24px 10px;
    }
    
    .qrcode-canvas {
        padding: 15px;
    }
    
    .qrcode-hint {
        font-size: 13px;
        padding: 10px 12px;
    }
    
    .qrcode-copy-btn {
        font-size: 13px;
        padding: 10px 14px;
    }
    
    .qrcode-copy-btn .material-icons {
        font-size: 18px;
    }
}

/* ========================================================================== */
/* Driver.js 新手引导样式 - 2026-01-20 */
/* ========================================================================== */

/* Popover 提示框 */
.custom-newbie-guide.driver-popover {
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
    max-width: 360px !important;
}

/* 标题 */
.custom-newbie-guide .driver-popover-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    padding:5px 16px !important;
    color: #1f2937 !important;
}

/* 描述 */
.custom-newbie-guide .driver-popover-description {
    padding: 0 16px 0px 16px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #6b7280 !important;
}

/* 底部按钮区 */
.custom-newbie-guide .driver-popover-footer {
    padding: 0 16px 4px 16px !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

/* "我知道了"按钮 */
.custom-newbie-guide .driver-popover-next-btn,
.custom-newbie-guide .driver-popover-prev-btn {
    background: #2563eb !important;
    color: #fff !important;
    border: none !important;
    padding: 8px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
    text-shadow: none;
}

.custom-newbie-guide .driver-popover-next-btn:hover,
.custom-newbie-guide .driver-popover-prev-btn:hover {
    background: #1d4ed8 !important;
}

/* 高亮区域边缘 */
.driver-stage {
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
}

/* 移动端 */
@media (max-width: 768px) {
    .custom-newbie-guide.driver-popover {
        max-width: 80% !important;
    }
}

/* ========================================================================== */
/* 新手引导模块样式 (Newbie Guide) - 2026-01-10 */
/* ========================================================================== */

/* 通用变量 */
:root {
  --ng-primary: #1976d2; 
  --ng-primary-dark: #1565c0;
  --ng-primary-light: #e3f2fd;
  --ng-text-main: #212121;
  --ng-text-sub: #757575;
  --ng-border: #e0e0e0;
  --ng-white: #ffffff;
  --ng-success: #43a047;
  --ng-bg-gray: #f5f5f5;
  --ng-radius: 4px;
}

/* --- Banner 样式 --- */
.ng-banner {
  background: var(--ng-white);
  border-radius: var(--ng-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  border: 1px solid var(--ng-border);
  display: flex;
  overflow: hidden;
  margin-bottom: 24px;
  position: relative;
}

.ng-banner-deco { width: 6px; background: var(--ng-primary); flex-shrink: 0; }

.ng-banner-content {
  padding: 24px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap;
  gap: 20px;
}

.ng-banner-text { display: flex; align-items: center; gap: 16px; }

/* Icon Box for Image */
.ng-icon-box {
  width: 100px; height: 100px;
  color: var(--ng-primary);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.ng-banner:hover .ng-icon-box {
  transform: scale(1.1);
}

.ng-tag {
  display: inline-flex; align-items: center;
  background: #fff3e0; color: #ef6c00;
  font-size: 12px; padding: 2px 8px; border-radius: 100px;
  font-weight: 600; margin-bottom: 6px;
}

/* Mini Tag for Client list */
.ng-tag-mini {
  display: inline-block;
  background: #e8f5e9; color: #2e7d32;
  font-size: 11px; padding: 1px 5px; border-radius: 3px;
  margin-left: 6px; vertical-align: middle; font-weight: normal;
}
.ng-tag-mini.blue { background: #e3f2fd; color: #1565c0; }

.ng-banner-title { font-size: 20px; font-weight: 700; color: var(--ng-text-main); margin: 0 0 4px 0; }
.ng-banner-desc { color: var(--ng-text-sub); font-size: 14px; margin: 0; max-width: 500px; line-height: 1.5; }

.ng-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 20px; border-radius: var(--ng-radius);
  font-size: 14px; font-weight: 500; cursor: pointer;
  transition: all 0.2s; text-decoration: none; border: none; outline: none;
}

.ng-btn-primary { background: var(--ng-primary); color: white; box-shadow: 0 2px 5px rgba(25, 118, 210, 0.2); }
.ng-btn-primary:hover { background: var(--ng-primary-dark); box-shadow: 0 4px 8px rgba(25, 118, 210, 0.3);color: #dbecff;text-decoration: none; }
.ng-btn-primary:focus {color: #fff475;text-decoration: none;}
.ng-btn-outline { background: white; border: 1px solid var(--ng-border); color: var(--ng-text-main); }
.ng-btn-outline:hover { background: var(--ng-bg-gray); border-color: #bdbdbd;color: #000000d2;text-decoration: none; }
.ng-btn-outline:focus {color: #ff9800;text-decoration: none;}
.ng-btn-success { background: var(--ng-success); color: white; }
.ng-btn-success:hover {background: #2e7d32;color: beige;text-decoration: none;}

/* --- Modal 样式 --- */
.ng-modal-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.5); z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; opacity: 0; visibility: hidden;
  transition: all 0.3s; backdrop-filter: blur(2px);
}
.ng-modal-overlay.active { opacity: 1; visibility: visible; }

.ng-modal {
  background: white; width: 100%; max-width: 900px;
  border-radius: 8px; box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  display: flex; flex-direction: column; max-height: 90vh;
  overflow: hidden; transform: scale(0.95); transition: transform 0.3s;
}
.ng-modal-overlay.active .ng-modal { transform: scale(1); }

.ng-modal-header {
  padding: 16px 24px; border-bottom: 1px solid var(--ng-border); background: #fcfcfc;
  display: flex; justify-content: space-between; align-items: center;
}
.ng-modal-title { font-size: 18px; font-weight: 600; color: var(--ng-text-main); display: flex; align-items: center; gap: 10px; }
.ng-close-btn { background: none; border: none; font-size: 24px; color: #999; cursor: pointer; padding: 0; line-height: 1; }

.ng-modal-body { display: flex; flex: 1; overflow: hidden; }

/* Sidebar */
.ng-sidebar {
  width: 240px; background: #f8f9fa; border-right: 1px solid var(--ng-border);
  padding: 16px; display: flex; flex-direction: column; gap: 4px; flex-shrink: 0;
}
.ng-step-btn {
  width: 100%; text-align: left; padding: 12px 16px; background: transparent;
  border: none; border-radius: var(--ng-radius); color: var(--ng-text-sub);
  font-size: 14px; font-weight: 500; cursor: pointer; display: flex; align-items: center;
  gap: 12px; transition: background 0.2s;
}
.ng-step-btn:hover { background: #eeeeee; color: var(--ng-text-main); }
.ng-step-btn.active { background: white; color: var(--ng-primary); box-shadow: 0 1px 3px rgba(0,0,0,0.05); font-weight: 600; }
.ng-step-icon { width: 20px; text-align: center; font-size: 18px; }

/* Content */
.ng-content { flex: 1; padding: 30px; overflow-y: auto; background: white; }
.ng-step-content { display: none; animation: fadeIn 0.3s ease; }
.ng-step-content.active { display: block; }
@keyframes fadeIn { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }

.ng-section-header { border-left: 4px solid var(--ng-primary); padding-left: 16px; margin-bottom: 24px; }
.ng-section-title { font-size: 20px; font-weight: 700; color: var(--ng-text-main); margin: 0 0 4px 0; }
.ng-section-subtitle { font-size: 14px; color: var(--ng-text-sub); margin: 0; }

.ng-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.ng-card {
  border: 1px solid var(--ng-border); border-radius: 8px; padding: 24px; text-align: center;
  transition: all 0.2s; text-decoration: none; display: flex; flex-direction: column;
  align-items: center; background: white;
}
.ng-card:hover { border-color: var(--ng-primary); box-shadow: 0 4px 12px rgba(0,0,0,0.08); transform: translateY(-2px); }
.ng-card-icon {
  width: 60px; height: 60px; background: var(--ng-primary-light); color: var(--ng-primary);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 28px; margin-bottom: 16px;
}
.ng-card-title { font-size: 16px; font-weight: 700; color: var(--ng-text-main); margin: 0 0 8px 0; }
.ng-card-text { font-size: 13px; color: var(--ng-text-sub); margin-bottom: 20px; line-height: 1.5; flex: 1; }

/* OS Tabs */
.ng-tabs { display: flex; border-bottom: 1px solid var(--ng-border); margin-bottom: 24px; }
.ng-tab-btn {
  padding: 12px 24px; background: none; border: none; border-bottom: 2px solid transparent;
  font-size: 14px; font-weight: 500; color: var(--ng-text-sub); cursor: pointer; margin-bottom: -1px;
}
.ng-tab-btn:hover { color: var(--ng-text-main); }
.ng-tab-btn.active { color: var(--ng-primary); border-bottom-color: var(--ng-primary); }

/* Dynamic Download Box */
.ng-download-box {
  background: #fafafa; border: 1px solid var(--ng-border); border-radius: 8px;
  padding: 24px; min-height: 150px;
}
.ng-client-item { display: flex; gap: 20px; align-items: flex-start; }
.ng-client-item + .ng-client-item { margin-top: 24px; padding-top: 24px; border-top: 1px dashed #e0e0e0; }

.ng-os-icon {
  width: 48px; height: 48px; background: white; border: 1px solid var(--ng-border);
  border-radius: 8px; display: flex; align-items: center; justify-content: center;
  font-size: 24px; flex-shrink: 0; color: #555; overflow: hidden;
}

.ng-download-actions { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; align-items: flex-start; }

/* Dropdown Styles for Download List */
.ng-dropdown-wrapper { position: relative; display: inline-block; }
.ng-btn-dropdown { position: relative; }
.ng-dropdown-list {
  display: none; position: absolute; top: 100%; left: 0;
  background: white; border: 1px solid #ddd; box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border-radius: 4px; z-index: 100; min-width: 200px; margin-top: 4px; padding: 4px 0;
}
.ng-dropdown-list.show { display: block; animation: fadeIn 0.2s ease; }
.ng-dropdown-item {
  display: block; padding: 8px 16px; color: #333; text-decoration: none; font-size: 13px;
  border-bottom: 1px solid #f5f5f5; transition: background 0.1s; text-align: left;
}
.ng-dropdown-item:hover { background: #f5f5f5; color: var(--ng-primary); }
.ng-dropdown-item:last-child { border-bottom: none; }
.ng-dropdown-tag { font-size: 11px; background: #eee; padding: 1px 5px; border-radius: 3px; margin-left: 5px; color: #666; float: right;}
.ng-dropdown-tag.rec { background: #e8f5e9; color: #2e7d32; }

.ng-tag-mini {
  display: inline-block; background: #fff3e0; color: #ef6c00;
  padding: 2px 8px; border-radius: 100px; font-size: 11px; font-weight: 600;
  margin-left: 8px; vertical-align: middle;
}
.ng-tag-mini.blue { background: #e3f2fd; color: #1565c0; }

.ng-empty { text-align: center; color: #999; padding: 40px 20px; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.ng-sub-section { background: #fafafa; border: 1px solid #eee; border-radius: 6px; padding: 12px; margin-bottom: 16px; }
.ng-sub-title { font-size: 14px; font-weight: 700; color: #333; margin: 0 0 8px 0; display: flex; align-items: center; gap: 8px; }
.ng-sub-hint { font-size: 12px; color: #888; margin-top: 8px; }

.ng-input-group { display: flex; }
.ng-input {
  flex: 1; padding: 10px 16px; background: white; border: 1px solid var(--ng-border);
  border-right: none; border-radius: 4px 0 0 4px; font-family: monospace; color: #666; font-size: 13px;
}
.ng-btn-copy {
  padding: 0 20px; background: #e0e0e0; border: 1px solid #d0d0d0;
  border-radius: 0 4px 4px 0; cursor: pointer; font-weight: 600; color: #444; white-space: nowrap;
}
.ng-btn-copy:hover { background: #d5d5d5; }


/* 移动端响应式 */
@media (max-width: 768px) {
  .ng-banner { flex-direction: column; }
  .ng-banner-deco { width: 100%; height: 4px; }
  .ng-banner-content { 
      padding: 20px 16px; 
      gap: 16px; 
      flex-direction: column; /* 修复：垂直排列文本和按钮 */
      align-items: stretch; /* 确保子元素可见 */
  }
  .ng-banner-text { 
      width: 100%; 
      flex-direction: row; 
      text-align: left; 
      align-items: center; /* 垂直居中对齐 */
  }
  .ng-icon-box { 
      width: 60px !important; 
      height: 60px !important; 
      flex-shrink: 0; /* 防止被压缩 */
  }
  .ng-banner-content .ng-btn { 
      width: 100%; 
      justify-content: center;
      z-index: 10; /* 确保按钮在最上层 */
      position: relative; /* 启用 z-index */
  }

  .ng-modal-overlay { padding: 10px; }
  .ng-modal { width: 100%; height: 85vh; max-height: 85vh; display: flex; flex-direction: column; }
  .ng-modal-header { padding: 12px 16px; }
  .ng-modal-body { flex-direction: column; }

  .ng-sidebar { width: 100%; height: auto; flex-direction: row; overflow-x: auto; border-right: none; border-bottom: 1px solid var(--ng-border); padding: 0; }
  .ng-step-btn { flex: 1; min-width: 80px; padding: 10px 4px; justify-content: center; flex-direction: column; gap: 6px; font-size: 12px; border-bottom: 3px solid transparent; border-radius: 0; text-align: center; }
  .ng-step-btn span { display: block; }
  .ng-step-btn.active { background: transparent; color: var(--ng-primary); border-bottom-color: var(--ng-primary); }

  .ng-content { padding: 20px 16px; }
  .ng-grid-2 { grid-template-columns: 1fr; gap: 12px; }
  
  .ng-tabs { justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px;}
  .ng-tab-btn { padding: 10px 16px; white-space: nowrap; flex-shrink: 0; }
  
  .ng-client-item { flex-direction: column; gap: 10px; }
  .ng-download-actions { width: 100%; }
  .ng-download-actions .ng-btn { flex: 1; justify-content: center; }
  .ng-dropdown-wrapper { width: 100%; display: block; }
  .ng-dropdown-list { width: 100%; min-width: 0; }
  .ng-btn-copy {font-size: 14px;padding: 0 12px;
}
}

/* ========================================================================== */
/* Clash 按钮统一 Material Design 样式 */
/* ========================================================================== */

/* 复制按钮 - Material Green */
.clash-copy-btn,
.clash-copy-btn.btn {
  background-color: #4caf50 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
  border-radius: 4px !important;
  transition: all 0.2s ease-in-out !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

.clash-copy-btn:hover,
.clash-copy-btn.btn:hover {
  background-color: #45a049 !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.16), 0 2px 4px rgba(0,0,0,0.12) !important;
  transform: translateY(-1px);
}

.clash-copy-btn:active,
.clash-copy-btn.btn:active {
  background-color: #3d8b40 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.12) !important;
  transform: translateY(0);
}

/* 导入按钮 - Material Blue */
.clash-import-btn,
.clash-import-btn.btn {
  background-color: #2196f3 !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
  border-radius: 4px !important;
  transition: all 0.2s ease-in-out !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

.clash-import-btn:hover,
.clash-import-btn.btn:hover {
  background-color: #1976d2 !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.16), 0 2px 4px rgba(0,0,0,0.12) !important;
  transform: translateY(-1px);
}

.clash-import-btn:active,
.clash-import-btn.btn:active {
  background-color: #1565c0 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.12) !important;
  transform: translateY(0);
}

/* 按钮内图标和文字对齐 */
.clash-copy-btn .material-icons,
.clash-import-btn .material-icons {
  font-size: 16px;
  vertical-align: middle;
  margin-right: 4px;
}

/* 移除按钮的默认阴影类（如果存在） */
.clash-copy-btn.cbtn-noboxshadow,
.clash-import-btn.cbtn-noboxshadow {
  box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
  margin-top: 0 !important;
}

/* 移动端优化 - 小屏幕 (宽度 < 768px) */
@media (max-width: 767px) {
  /* 主容器移动端优化 */
  .clash-native-container {
      padding: 0px !important;
      margin-bottom: 15px !important;
  }
  
  /* 域名卡片移动端优化 */
  .clash-domain-card {
      padding: 12px !important;
      margin-bottom: 12px !important;
  }
  
  /* ===== URL行 - 完全重构为Grid布局 (三个按钮) ===== */
  .clash-url-row {
      display: grid !important;
      grid-template-columns: 1fr 1fr 1.3fr;
      grid-template-rows: auto auto;
      gap: 8px;
      width: 100%;
  }
  
  /* ===== 输入框 - 占据第一行的三列 ===== */
  .clash-url-input {
      grid-column: 1 / -1 !important;  /* 横跨所有列 */
      grid-row: 1 !important;
      width: 100% !important;
      max-width: 100% !important;
      display: block !important;
      font-size: 11px !important;
      padding: 10px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      border: 1px solid #a5d6a7 !important;
      border-radius: 4px !important;
  }
  
  /* ===== 复制按钮 - 占据第二行第一列 ===== */
  .clash-url-row .clash-copy-btn {
      grid-column: 1 !important;
      grid-row: 2 !important;
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 6px 4px !important;
      font-size: 13px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      gap: 4px !important;
      /* Material Design 阴影 */
      box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
      border-radius: 4px !important;
  }
  
  /* ===== 二维码按钮 - 占据第二行第二列 ===== */
  .clash-url-row .clash-qrcode-btn {
      grid-column: 2 !important;
      grid-row: 2 !important;
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 6px 4px !important;
      font-size: 13px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      gap: 4px !important;
      /* Material Design 阴影 */
      box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
      border-radius: 4px !important;
  }
  
  /* ===== 导入按钮 - 占据第二行第三列 ===== */
  .clash-url-row .clash-import-btn {
      grid-column: 3 !important;
      grid-row: 2 !important;
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 6px 4px !important;
      font-size: 13px !important;
      margin: 0 !important;
      box-sizing: border-box !important;
      gap: 4px !important;
      /* Material Design 阴影 */
      box-shadow: 0 2px 4px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.08) !important;
      border-radius: 4px !important;
  }
  
  /* ===== 按钮图标大小 ===== */
  .clash-copy-btn .material-icons,
  .clash-qrcode-btn .material-icons,
  .clash-import-btn .material-icons {
      font-size: 16px !important;
  }
  
  /* ===== 移动端显示按钮文字 ===== */
  /* 按钮已独立在第二行，有足够空间显示文字 */
  .clash-copy-btn .btn-text,
  .clash-import-btn .btn-text {
      display: inline !important;
      font-size: 13px !important;
      font-weight: 500 !important;
  }
  
  /* 使用说明区域移动端优化 */
  .clash-native-container div[style*="fff9c4"] {
      padding: 10px !important;
      font-size: 11px !important;
      line-height: 1.6 !important;
  }
}

/* 超小屏幕优化 (宽度 < 576px) */
@media (max-width: 575px) {
  /* 主容器 */
  .clash-native-container {
      padding: 0px !important;
      border-radius: 8px !important;
  }
  
  /* 标题区域 */
  .clash-native-container h5 {
      font-size: 16px !important;
  }
  
  .clash-native-container p {
      font-size: 11px !important;
  }
  
  /* 域名卡片 */
  .clash-domain-card {
      padding: 8px !important;
  }
  
  /* 输入框 */
  .clash-url-input {
      font-size: 10px !important;
      padding: 6px !important;
  }
  
  /* 按钮 */
  .clash-copy-btn,
  .clash-import-btn {
      padding: 6px 8px !important;
      font-size: 12px !important;
  }
}

/* 平板优化 (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  /* 按钮文字正常显示 */
  .clash-copy-btn .btn-text,
  .clash-import-btn .btn-text {
      display: inline;
  }
  
  /* URL行保持横向 */
  .clash-url-row {
      flex-direction: row;
  }
  
  /* 按钮适当缩小 */
  .clash-copy-btn,
  .clash-import-btn {
      padding: 6px 10px !important;
      font-size: 12px !important;
  }
}

/* 桌面端 (宽度 >= 992px) */
@media (min-width: 992px) {
  /* 按钮文字正常显示 */
  .clash-copy-btn .btn-text,
  .clash-import-btn .btn-text {
      display: inline;
  }
  
  /* 悬停效果 */
  .clash-copy-btn:hover,
  .clash-import-btn:hover {
      transform: translateY(-1px);
      box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
}

/* 横屏手机优化 */
@media (max-width: 767px) and (orientation: landscape) {
  /* 减小垂直间距 */
  .clash-native-container {
      padding: 10px !important;
      margin-bottom: 10px !important;
  }
  
  .clash-domain-card {
      padding: 8px !important;
      margin-bottom: 8px !important;
  }
  
  /* URL行改回横向 */
  .clash-url-row {
      flex-direction: row;
  }
  
  /* 按钮恢复文字显示 */
  .clash-copy-btn .btn-text,
  .clash-import-btn .btn-text {
      display: inline;
      font-size: 11px;
  }
}

/* ==================== 域名通知关闭按钮样式 ==================== */
.domain-notice-close-btn {
  position: absolute;
  top: 4px;
  right: 6px;
  background: none;
  border: none;
  color: #8d6e63;
  font-size: 12px;
  cursor: pointer;
  padding: 6px 8px;
  line-height: 1;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 2px;
  z-index: 10;
}

.domain-notice-close-btn:hover {
  color: #6c5ce7;
  transform: scale(1.05);
}

.domain-notice-close-btn:active {
  transform: scale(0.95);
}

.domain-notice-close-btn .icon {
  font-size: 14px;
}

.domain-notice-close-btn span {
  font-size: 11px;
  font-weight: 500;
}

/* 移动端优化 */
@media (max-width: 768px) {
  .domain-notice-close-btn {
      padding: 8px 10px;
      top: 6px;
      right: 8px;
      z-index: 20;
  }
  
  .domain-notice-close-btn .icon {
      font-size: 16px;
  }
  
  .domain-notice-close-btn span {
      font-size: 12px;
  }
}

/* ==================== 老的 Clash 订阅地址失效提示遮罩层（简洁版） ==================== */

/* 遮罩层 */
.old-clash-overlay {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.65);
    z-index: 10;
    align-items: center;
    justify-content: center;
}

/* 提示卡片 */
.old-clash-notice {
    text-align: center;
    padding: 30px;
    background: #fff;
    border: 2px solid #ff9800;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    max-width: 400px;
    margin: 0 auto;
}

/* 复选框容器 */
.old-clash-notice label {
    transition: all 0.2s ease;
}

.old-clash-notice label:hover {
    opacity: 0.8;
}

/* 复选框样式 */
.old-clash-notice input[type="checkbox"] {
    accent-color: #ff9800;
    transition: all 0.2s ease;
}

.old-clash-notice input[type="checkbox"]:hover {
    transform: scale(1.1);
}

/* 遮罩层淡入淡出动画 */
.old-clash-overlay {
    transition: opacity 0.3s ease;
}

/* 移动端适配 */
@media (max-width: 768px) {
    .old-clash-notice {
        padding: 20px;
        margin: 0 10px;
    }
    
    .old-clash-notice input[type="checkbox"] {
        width: 20px;
        height: 20px;
        margin-right: 10px;
    }
}

/* ========================================
   客户端下载页面样式（专业版 v3.0）
   参考 clash_client_dl.html 设计
   ======================================== */

/* 组件容器 */
.client-box-accordion {
    background: transparent;
    margin-bottom: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 折叠项容器 */
.client-acc-group {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color 0.2s;
}

.client-acc-group:hover {
    border-color: #b0b0b0;
}

/* 折叠头部 */
.client-acc-header {
    padding: 14px 18px;
    background: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: background 0.2s;
}

.client-acc-header:hover {
    background: #fcfcfc;
}

.client-acc-header.active {
    background: #f5f9ff;
    border-bottom: 1px solid #e0e0e0;
}

.acc-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.acc-icon {
    font-size: 20px;
    width: 24px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-win { color: #0078d4; }
.icon-mac { color: #333; }
.icon-android { color: #a4c639; }
.icon-ios { color: #007aff; }

.acc-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.acc-count {
    font-size: 11px;
    color: #999;
    background: #f0f0f0;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 8px;
    font-weight: normal;
}

.acc-arrow {
    color: #bbb;
    transition: transform 0.3s ease;
    font-size: 18px;
}

.client-acc-header.active .acc-arrow {
    transform: rotate(180deg);
    color: #1976d2;
}

/* 折叠内容 */
.client-acc-body {
    display: none;
    background: #fff;
}

/* 客户端列表项 */
.client-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1px solid #f5f5f5;
}

.client-item:last-child {
    border-bottom: none;
}

.client-item:hover {
    background: #fafafa;
}

.client-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* 客户端图标容器 */
.client-icon-box {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #eee;
    color: #666;
    font-size: 18px;
    overflow: hidden;
}

.client-icon-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.client-meta {
    display: flex;
    flex-direction: column;
}

.client-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.client-name {
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

/* 标签样式 */
.c-badge {
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 3px;
    line-height: 1.2;
}
.badge-rec { color: #15803d; background: #dcfce7; border: 1px solid #bbf7d0; }
.badge-new { color: #1d4ed8; background: #dbeafe; border: 1px solid #bfdbfe; }
.badge-classic { color: #b45309; background: #fef3c7; border: 1px solid #fde68a; }

.client-desc {
    font-size: 11px;
    color: #888;
    margin-top: 2px;
}

/* 下载按钮 */
.btn-dl {
    padding: 5px 12px;
    background: #fff;
    border: 1px solid #e0e0e0;
    color: #555;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
    text-decoration: none !important;
    white-space: nowrap;
}

.btn-dl:hover {
    border-color: #1976d2;
    color: #1976d2;
    background: #f0f7ff;
}

/* 专业级弹窗样式 */
.dl-modal-mask {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6); z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.2s; 
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.dl-modal-mask.show { opacity: 1; pointer-events: auto; }

.dl-modal {
    background: #fff; width: 92%; max-width: 450px;
    border-radius: 12px; box-shadow: 0 20px 40px rgba(0,0,0,0.2);
    transform: scale(0.95); transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
}
.dl-modal-mask.show .dl-modal { transform: scale(1); }

.dl-header {
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fcfcfc;
}
.dl-title { font-size: 15px; font-weight: 700; color: #333; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dl-version { 
    font-size: 11px; 
    font-weight: 600; 
    color: #666; 
    background: #f0f0f0;
    border: 1px solid #e0e0e0;
    padding: 2px 8px; 
    border-radius: 4px; 
    margin-left: 6px;
    font-family: 'Consolas', 'Monaco', monospace;
    white-space: nowrap;
}
.dl-close { cursor: pointer; color: #999; font-size: 20px; border:none; background:none; transition: color 0.2s; }
.dl-close:hover { color: #333; }

.dl-body { padding: 10px; background: #f9f9f9; max-height: 70vh; overflow-y: auto; }

/* 版本选项卡片 */
.dl-option {
    display: flex;
    align-items: flex-start;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 8px;
    text-decoration: none !important;
    transition: all 0.2s;
    position: relative;
}
.dl-option:last-child { margin-bottom: 0; }

.dl-option:hover {
    border-color: #1976d2;
    box-shadow: 0 4px 12px rgba(25, 118, 210, 0.08);
    transform: translateY(-1px);
    z-index: 1;
}

.dl-opt-icon {
    width: 32px;
    height: 32px;
    background: #f0f7ff;
    color: #1976d2;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    margin-right: 12px;
    flex-shrink: 0;
    overflow: hidden;
}

.dl-opt-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.dl-opt-info { flex: 1; min-width: 0; }
.dl-opt-name { font-size: 13px; font-weight: 600; color: #333; margin-bottom: 2px; }
.dl-opt-desc { font-size: 11px; color: #888; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.dl-opt-note {
    font-size: 11px;
    color: #d32f2f;
    background: #ffebee;
    padding: 2px 6px;
    border-radius: 4px;
    margin-top: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.dl-action-icon {
    color: #ccc;
    font-size: 18px;
    margin-top: 8px;
}
.dl-option:hover .dl-action-icon { color: #1976d2; }

.arch-tag {
    background: #eee; color: #666; padding: 1px 4px; border-radius: 3px; font-size: 10px; font-family: monospace;
}

/* 响应式设计 */
/* 移动端优化 - 核心代码 */
@media (max-width: 768px) {
    /* Clash引导框移动端布局重构（关键优化）*/
    .clash-guide-box {
        display: block; /* 取消 Flex，改为块级布局 */
        padding: 12px;
        position: relative;
    }

    /* 图标改为浮动，只占标题行的空间 */
    .clash-guide-icon {
        float: left;
        margin-right: 12px;
        margin-bottom: 4px;
        width: 36px;
        height: 36px;
    }
    
    .clash-guide-icon .icon {
        font-size: 20px;
    }

    /* 标题紧随图标 */
    .clash-guide-title {
        margin-bottom: 12px;
        padding-top: 4px; /* 垂直对齐 */
    }

    /* 步骤内容清除浮动，独占一行 */
    .clash-guide-steps {
        clear: both;
        display: block;
        padding-top: 4px;
    }

    .guide-step-item {
        margin-bottom: 8px;
        font-size: 13px; /* 保持易读大小 */
    }
    
    /* 移动端步骤徽章微调 */
    .step-badge {
        margin-top: 2px;
        margin-right: 4px;
    }
    
    .client-acc-header { 
        padding: 12px 15px; 
    }
    
    /* 列表项垂直排列 */
    .client-item { 
        padding: 15px; 
        flex-direction: column; /* 上下布局 */
        align-items: flex-start; 
        gap: 10px; /* 文字和按钮的间距 */
    }
    
    .client-info {
        width: 100%;
    }

    .client-name { 
        font-size: 14px; 
    }
    
    /* 按钮铺满全行 */
    .btn-dl { 
        width: 100%; 
        padding: 8px 0; /* 增加点击高度 */
        justify-content: center; /* 居中对齐 */
        font-size: 13px;
        background-color: #f8fbff; /* 稍微给点背景色区分 */
        border-color: #dbeafe;
        color: #1976d2;
    }
    
    .btn-dl:active {
        background-color: #eff6ff;
    }
    
    /* 弹窗标题和版本号优化 */
    .dl-title {
        font-size: 14px;
        gap: 4px;
    }
    
    .dl-version {
        font-size: 10px;
        padding: 2px 6px;
        margin-left: 4px;
    }
    
    .dl-modal {
        width: 95%;
        max-width: 100%;
    }
    
    .dl-header {
        padding: 12px 15px;
    }
}

 /* 推荐 Clash 引导卡片 */
 .recommend-clash-card {
  background: linear-gradient(135deg, #f0f7ff 0%, #f8fbff 100%);
  border: 1px solid #dbeafe; /* 柔和的边框 */
  border-radius: 8px;
  padding: 8px 16px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.2s;
  box-shadow: 0 2px 6px rgba(59, 130, 246, 0.05);
  gap: 10px;
}

.recommend-clash-card:hover {
  border-color: #bfdbfe;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.12);
  transform: translateY(-1px);
}

.rec-content {
  display: flex;
  align-items: center;
  gap: 16px;
}

.rec-icon {
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
  border: 1px solid #eff6ff;
  color: #2563eb;
  flex-shrink: 0;
}

.rec-icon i {
  font-size: 28px; /* Material Icons */
}

.rec-text h5 {
  margin: 0 0 2px 0;
  font-size: 14px;
  font-weight: 700;
  color: #1e3a8a; /* 深蓝标题 */
}

.rec-text p {
  margin: 0;
  font-size: 12px;
  color: #64748b; /* 蓝灰色副标题 */
}

.rec-action {
  flex-shrink: 0;
}

.btn-switch-clash {
    background: #2563eb;
    color: #fff !important;
    border: none;
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s;
    text-decoration: none !important;
    box-shadow: 0 4px 6px rgb(37 99 235 / 8%);
    cursor: pointer;
  }
  
  .btn-switch-clash:hover {
    background: #1d4ed8;
    box-shadow: 0 6px 12px rgb(37 99 235 / 10%);
}

/* 移动端适配 */
@media (max-width: 768px) {
  .recommend-clash-card {
      flex-direction: column;
      align-items: flex-start;
      padding: 12px;
      gap: 10px;
  }
  
  .rec-action {
      width: 100%;
  }
  
  .btn-switch-clash {
      width: 100%;
      justify-content: center;
      padding: 8px;
  }
}

/* ==========================================
   移动端 Tab 横向滚动优化
   ========================================== */
@media (max-width: 768px) {
    /* 1️⃣ 核心滚动功能 */
    .tab-nav {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; /* iOS 平滑滚动 */
        scroll-behavior: smooth; /* 平滑滚动动画 */
        position: relative;
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 5px; /* 防止滚动条遮挡内容 */
    }

    .tab-nav .nav {
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap; /* 确保链接文本不换行 */
    }

    .tab-nav .nav > li {
        flex: 0 0 auto; /* 不自动缩放，保持原始宽度 */
        display: inline-block; /* 确保 li 元素能正确计算宽度 */
        min-width: fit-content; /* 根据内容自适应宽度 */
    }

    .tab-nav .nav > li > a {
        white-space: nowrap; /* 确保链接文本不换行 */
        padding-left: 12px;
        padding-right: 12px;
    }

    /* 2️⃣ 美化滚动条（Webkit）*/
    .tab-nav::-webkit-scrollbar {
        height: 4px; /* 滚动条高度 */
    }

    .tab-nav::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.05); /* 滚动条轨道背景 */
        border-radius: 2px;
    }

    .tab-nav::-webkit-scrollbar-thumb {
        background: rgba(52, 89, 230, 0.3); /* 滚动条滑块颜色 */
        border-radius: 2px;
        transition: background 0.3s;
    }

    .tab-nav::-webkit-scrollbar-thumb:hover {
        background: rgba(52, 89, 230, 0.5); /* 悬停时滑块颜色 */
    }

    /* 3️⃣ 渐变提示（纯 CSS 版本 - 始终显示）*/
    .tab-nav::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 5px; /* 留出滚动条的高度 */
        width: 30px;
        background: linear-gradient(to right, transparent, white);
        pointer-events: none; /* 确保不影响点击 */
        opacity: 0.8;
    }

    /* 4️⃣ 可选：Scroll Snap（现代浏览器）*/
    .tab-nav {
        scroll-snap-type: x proximity; /* 滚动对齐 */
    }

    .tab-nav .nav > li {
        scroll-snap-align: start; /* 对齐到起始位置 */
    }
}

/* ==========================================================================
   SSPanel 流量卡片 (Zephyr 纯净扁平版)
   核心理念：无边框内部卡片 + 扁平图标 + 色块区分
   ========================================================================== */

:root {
    --tf-primary: #2563eb;       /* Blue 600 */
    --tf-primary-light: #3b82f6; /* Blue 500 */
    --tf-primary-bg: #eff6ff;    /* Blue 50 */
    
    --tf-success: #10b981;       /* Emerald 500 */
    --tf-success-bg: #ecfdf5;    /* Emerald 50 */
    
    --tf-warning: #f59e0b;       /* Amber 500 */
    --tf-warning-bg: #fffbeb;    /* Amber 50 */
    
    --tf-text-main: #1e293b;     /* Slate 800 */
    --tf-text-sub: #64748b;      /* Slate 500 */
    --tf-bg-card: #ffffff;
    --tf-bg-surface: #f8fafc;    /* Slate 50 */
    --tf-border: #e2e8f0;        /* Slate 200 */
}

.traffic-wrapper {
    font-family: 'Noto Sans SC', system-ui, -apple-system, sans-serif;
    color: var(--tf-text-main);
    margin-top: 20px;
}

/* 1. 主体大卡片 (唯一保留投影和外边框的地方) */
.traffic-card-base {
    background: var(--tf-bg-card);
    border-radius: 16px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.traffic-card-base:hover {
    border-color: #cbd5e1;
}

/* 2. 标题栏 (极简) */
.traffic-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.traffic-title {
    font-size: 17px;
    font-weight: 500;
    color: var(--tf-text-main);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 装饰性竖条，替代图标 */
.traffic-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 18px;
    background: var(--tf-primary);
    border-radius: 2px;
}

.traffic-total-badge {
    font-size: 12px;
    font-weight: 600;
    color: var(--tf-text-sub);
    background: var(--tf-bg-surface);
    padding: 4px 10px;
    border-radius: 6px; /* 小圆角 */
    transition: all 0.2s ease;
}

.traffic-total-badge:hover {
    background: #f1f5f9;
}

/* 3. 信息卡片网格 (Info Grid) */
.info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin-bottom: 24px;
    margin-top: 24px;
}

/* 内部卡片通用样式：无边框，纯色块 */
.inner-card {
    padding: 16px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 16px;
    border: none !important; /* 核心修改：去除内部边框 */
    transition: background-color 0.2s;
}

/* 套餐/重置卡片背景色：极浅灰 */
.card-neutral {
    background-color: var(--tf-bg-surface); 
}

/* 图标容器：无阴影，扁平化 */
.info-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: none !important; /* 核心修改：去除图标阴影 */
}

/* 图标配色 */
.icon-primary { background: #dbeafe; color: var(--tf-primary); } /* Blue 100 */
.icon-success { background: #d1fae5; color: var(--tf-success); } /* Emerald 100 */

.info-content { flex: 1; min-width: 0; }
.info-label { 
    font-size: 12px; 
    color: var(--tf-text-sub); 
    margin-bottom: 2px; 
    display: flex; 
    align-items: center; 
    gap: 4px;
}
.info-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--tf-text-main);
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis;
}
.info-sub { 
    font-size: 11px; 
    color: #94a3b8; 
    margin-top: 2px; 
}

/* 问号图标 */
.help-icon {
    cursor: pointer; 
    color: var(--tf-text-sub); 
    opacity: 0.5; 
    transition: opacity 0.2s;
    font-size: 14px;
}
.help-icon:hover { 
    opacity: 1; 
    color: var(--tf-primary); 
}

/* 4. 数据统计三栏 (Stats Grid) */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.stat-card {
    padding: 16px;
    border-radius: 12px;
    border: none !important; /* 去除边框 */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.stat-blue   { background-color: #eff6ff; } /* Blue 50 */
.stat-orange { background-color: #fff7ed; } /* Orange 50 */
.stat-green  { background-color: #f0fdf4; } /* Emerald 50 */
.stat-red    { background-color: #fef2f2; } /* Red 50 */

.stat-header {
    display: flex; 
    align-items: center; 
    gap: 8px; 
    margin-bottom: 8px;
}

/* 小图标：双色渐变效果（stats-grid区域的小图标） */
.stat-icon-sm { 
    font-size: 18px; 
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.stat-icon-sm.color-blue   { 
    background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
    color: var(--tf-primary);
}
.stat-icon-sm.color-orange { 
    background: linear-gradient(135deg, #fed7aa 0%, #fdba74 100%);
    color: var(--tf-warning);
}
.stat-icon-sm.color-green  { 
    background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
    color: var(--tf-success);
}
.stat-icon-sm.color-red    { 
    background: linear-gradient(135deg, #fecaca 0%, #fca5a5 100%);
    color: #dc2626;
}

.stat-label { 
    font-size: 12px; 
    color: var(--tf-text-sub); 
    font-weight: 500; 
}

.stat-value { 
    font-size: 18px; 
    font-weight: 700; 
    color: var(--tf-text-main);
    letter-spacing: -0.5px;
}

/* 5. 进度条与圆环 */
.progress-section {
    display: flex;
    gap: 40px;
    align-items: center;
    padding-top: 24px;
    border-top: 1px dashed var(--tf-border); 
}

.bars-container { flex: 1; }

.progress-group { margin-bottom: 20px; }
.progress-group:last-child { margin-bottom: 0; }

.prog-header {
    display: flex; 
    justify-content: space-between; 
    margin-bottom: 8px; 
    font-size: 13px; 
    font-weight: 600;
}

.prog-track {
    height: 15px;
    background: #f1f5f9;
    border-radius: 10px;
    overflow: hidden;
}

.prog-fill {
    height: 100%;
    border-radius: 10px;
    /* transition 由 JavaScript 动态添加 */
    position: relative;
    overflow: hidden;
}

/* 持续动画条纹 */
.prog-fill::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.2) 50%,
        transparent 100%
    );
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

.fill-blue { background-color: var(--tf-primary); }
.fill-green { background-color: var(--tf-success); }

.prog-meta {
    margin-top: 6px;
    font-size: 11px;
    color: #94a3b8;
    display: flex; 
    justify-content: space-between; /* 左右布局 */
    align-items: center;
}

/* 圆环 */
.chart-container {
    width: 130px;
    text-align: center;
    position: relative;
    animation: chartFadeIn 0.8s ease-out;
}

@keyframes chartFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.circular-progress { 
    transform: rotate(-90deg);
}
.circular-progress circle.bg { 
    stroke: #f1f5f9; 
}
.circular-progress circle.fg { 
    stroke: var(--tf-primary); 
    /* transition 由 JavaScript 动态添加 */
    stroke-linecap: round;
}

.chart-inner {
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
}
.chart-value { 
    font-size: 24px; 
    font-weight: 700; 
    color: var(--tf-primary); 
    line-height: 1;
}
.chart-label { 
    font-size: 11px; 
    color: var(--tf-text-sub); 
    margin-top: 4px; 
}

/* 响应式 */
@media (max-width: 768px) {
    .info-grid { 
        grid-template-columns: 1fr; 
        gap: 12px; 
    }
    .stats-grid { 
        grid-template-columns: 1fr; 
        gap: 12px; 
    }
    .progress-section { 
        flex-direction: column-reverse; 
        gap: 30px; 
    }
    /* 移动端进度条容器宽度提高到90% */
    .bars-container {
        width: 90%;
        margin: 0 auto;
    }
    .stat-card { 
        flex-direction: row; 
        justify-content: space-between; 
        align-items: center; 
    }
    .stat-header { 
        margin-bottom: 0; 
    }
    .info-icon{
        font-size: 18px;
        width: 38px;
        height: 38px;
    }
    .inner-card{
        gap: 12px;
        padding: 14px;
    }
        
}

/* ============================================================
   SweetAlert2 套餐说明弹窗 - Zephyr 配色系统
   ============================================================ */

/* 1. 弹窗主容器 (重置 Swal 默认样式) */
.pkg-modern-popup {
    border-radius: 16px !important; /* rounded-xl */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important; /* shadow-md */
    overflow: hidden !important;
    background: #fff !important;
}

.pkg-modern-popup:focus {
    outline: none !important;
}

/* 2. 内部布局容器 */
.pkg-modern-container {
    padding: 15px 5px 25px 5px;
    text-align: left; /* 默认左对齐 */
}

/* 3. 顶部行 (Flex 布局) */
.pkg-top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 20px;
}

/* 图标圆环 - Zephyr Blue 配色 */
.pkg-icon-ring {
    width: 48px;  /* w-12 */
    height: 48px; /* h-12 */
    border-radius: 50%; /* rounded-full */
    
    /* 核心样式：Zephyr Primary Blue 配色 */
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); /* Blue 600 → Blue 700 渐变 */
    border: 8px solid #dbeafe; /* Blue-100 边框 */
    
    /* 内容居中 */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff; /* text-white */
    font-size: 20px;
    box-sizing: content-box; /* 确保 border 不挤压内部空间 */
}

/* 关闭按钮 */
.pkg-close-btn {
    background: transparent;
    border: none;
    padding: 8px;
    margin: -8px; /* relative -m-2 */
    color: #94a3b8; /* Slate 400 */
    cursor: pointer;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pkg-close-btn:hover {
    color: #64748b; /* Slate 500 */
}

.pkg-close-btn:focus,
.pkg-close-btn:focus-visible {
    outline: none !important;
}

/* 4. 内容列 */
.pkg-content-col {
    display: flex;
    flex-direction: column;
    gap: 12px; /* gap-3 */
}

.pkg-modern-title {
    font-size: 1.125rem; /* text-lg */
    font-weight: 600; /* font-semibold */
    color: #1e293b; /* Slate 800 - Zephyr Text Main */
    margin: 0;
    line-height: 1.4;
}

.pkg-modern-desc {
    font-size: 0.875rem; /* text-sm */
    font-weight: 400; /* font-normal */
    color: #64748b; /* Slate 500 - Zephyr Text Sub */
    margin: 0;
    line-height: 1.5;
}

.pkg-modern-desc strong {
    color: #1e293b; /* Slate 800 */
    font-weight: 600;
}

/* 警告框样式 - Zephyr Warning 配色 */
.pkg-modern-alert {
    background-color: #fffbeb; /* Amber 50 */
    border: 1px solid #fcd34d; /* Amber 300 */
    border-radius: 8px;
    padding: 12px;
    margin-top: 8px;
}

.pkg-dot-list {
    margin: 0;
    padding-left: 20px;
    list-style-type: disc;
    color: #92400e; /* Amber 900 */
    font-size: 13px;
    line-height: 1.6;
}
.pkg-dot-list strong {
    font-weight: 600;
    color: #78350f; /* Amber 950 */
}

/* 5. 底部按钮网格 */
.pkg-action-grid {
    display: grid;
    grid-template-columns: auto 1fr; /* 提交工单自适应宽度，我明白了占满剩余空间 */
    gap: 12px; /* gap-3 */
    margin-top: 32px; /* mt-8 */
}

/* 主要按钮样式 - Zephyr Primary Blue */
.pkg-btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px; /* py-2 px-4 */
    border-radius: 6px; /* rounded-md */
    font-size: 0.875rem; /* text-sm */
    font-weight: 600; /* font-semibold */
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%); /* Zephyr Primary Blue 渐变 */
    border: 1px solid #2563eb;
    color: #fff; /* text-white */
    box-shadow: 0 1px 2px 0 rgba(37, 99, 235, 0.2);
}

.pkg-btn-primary:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%); /* Blue 700 → Blue 800 渐变 */
    border-color: #1d4ed8;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.3);
    transform: translateY(-1px);
}

.pkg-btn-primary:focus,
.pkg-btn-primary:focus-visible {
    outline: none !important;
}

/* 次要按钮（提交工单）- Zephyr Slate 配色 */
.pkg-btn-secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px; /* 更小的内边距 */
    border-radius: 6px; /* rounded-md */
    font-size: 0.8125rem; /* 更小字体 13px */
    font-weight: 500; /* 更细的字重 */
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    background-color: transparent; /* 透明背景 */
    border: 1px solid #cbd5e1; /* Slate 300 */
    color: #64748b; /* Slate 500 */
    box-shadow: none; /* 无阴影 */
}

.pkg-btn-secondary:hover {
    background-color: #f8fafc; /* Slate 50 */
    border-color: #94a3b8; /* Slate 400 */
    color: #475569; /* Slate 600 */
}

.pkg-btn-secondary:focus,
.pkg-btn-secondary:focus-visible {
    outline: none !important;
}

/* ==========================================================================
   账号使用情况卡片
   ========================================================================== */

   .account-card-base {
    background: var(--tf-bg-card, #ffffff);
    border-radius: 12px;
    /*box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);*/
    box-shadow: 0 0.65rem 0.95rem rgba(18, 38, 63, .03);
    overflow: visible;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.account-card-body {
    padding: 38px 38px 8px 39px;
    flex: 1;
    position: relative;
    z-index: 2;
}

/* 1. 标题区 */
.ac-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    padding-bottom: 15px;
    /* border-bottom: 1px solid #e2e8f0; */
}

.ac-title {
    font-size: 16px; 
    font-weight: 700; 
    color: var(--tf-text-main, #1e293b);
    display: flex; 
    align-items: center; 
    gap: 8px;
}

.ac-title::before {
    content: '';
    display: block;
    width: 4px;
    height: 16px;
    background: var(--tf-primary, #2563eb);
    border-radius: 2px;
}

.ac-edit-link {
    font-size: 13px; 
    color: var(--tf-text-sub, #64748b); 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 4px; 
    transition: color 0.2s;
}

.ac-edit-link:hover { 
    color: var(--tf-primary, #2563eb); 
}

/* 2. 核心列表 (List Style) */
.ac-list {
    display: flex;
    flex-direction: column;
}

.ac-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0; /* 增加行高，更舒适 */
    border-bottom: 1px dashed #f1f5f9; /* 虚线分割，更轻盈 */
    font-size: 14px;
    transition: all 0.2s;
}

/* 鼠标悬停行高亮 */
.ac-row:hover {
    background-color: #fafbfc;
    padding-left: 8px;
    padding-right: 8px;
    margin-left: -8px;
    margin-right: -8px;
    border-radius: 6px;
    border-bottom-color: transparent;
}

.ac-row:last-child {
    border-bottom: none;
}

.ac-row-left {
    color: var(--tf-text-sub, #64748b);
    display: flex;
    align-items: center;
    gap: 6px;
}

.ac-row-icon {
    font-size: 18px;
    color: #94a3b8; /* 默认灰色图标 */
    width: 24px;
    text-align: center;
    flex-shrink: 0;
}

.ac-row-right {
    color: var(--tf-text-main, #1e293b);
    font-weight: 600;
    text-align: right;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* 数据颜色强调 */
.ac-val-primary { color: var(--tf-primary, #2563eb); }
.ac-val-success { color: var(--tf-success, #10b981); }
.ac-val-warning { color: var(--tf-warning, #f59e0b); }

/* 徽章 */
.ac-badge {
    display: inline-block; 
    padding: 2px 8px; 
    border-radius: 4px;
    font-size: 11px; 
    margin-left: 6px; 
    font-weight: 500; 
    line-height: 1.2;
}

.ac-badge-warning {
    background: #fff7ed;
    color: #d97706;
    /* border: 1px solid #fed7aa; */
}

.ac-badge-primary {
    background: #eff6ff;
    color: #2563eb;
    /* border: 1px solid #bfdbfe; */
}

/* 3. 签到区域 (紧凑设计) */
.ac-checkin-section {
    margin: 16px 26px 15px 26px; /* 减少上下边距 */
    position: relative;
    z-index: 5;
}

.ac-checkin-card {
    background:linear-gradient(120deg, #f8fbff 0%, #eef6ff 100%);
    /* border: 1px solid #dbeafe; */
    border-radius: 12px;
    padding: 10px 18px; /* 减少内边距 */
    position: relative;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 75px; /* 减少最小高度 */
    transition: all 0.3s;
    margin-bottom: 20px;
}
.ac-checkin-content { 
    position: relative; 
    z-index: 2; 
    max-width: 65%; 
}

.ac-checkin-subtitle {
    font-size: 12px; /* 减小字体 */
    color: #64748b;
    margin-bottom: 5px; /* 减少间距 */
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    margin-top: 0px;
}

.ac-btn-checkin {
    /* Soft Primary 样式 - 柔和不突兀 */
    background: #eff6ff; /* --brand-primary-50 */
    color: #2563eb !important; /* --brand-primary-600 */
    padding: 6px 16px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid #dbeafe; /* --brand-primary-100 边框 */
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); /* 轻微阴影 */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    cursor: pointer;
}

.ac-btn-checkin:hover { 
    background: #dbeafe; /* --brand-primary-100 */
    border-color: #bfdbfe; /* --brand-primary-200 */
    color: #1d4ed8 !important; /* --brand-primary-700 */
    box-shadow: 0 2px 4px 0 rgba(37, 99, 235, 0.12); /* 淡蓝色阴影 */
    transform: translateY(-1px); /* 轻微上浮 */
}

.ac-btn-checkin.disabled { 
    background: #f1f5f9; /* --gray-100 */
    color: #94a3b8 !important; /* --gray-400 */
    border-color: #e2e8f0; /* --gray-200 */
    box-shadow: none; 
    cursor: not-allowed;
    transform: none;
}

/* 修复 base.min.css 对 RemixIcon 图标的误伤 */
.ac-btn-checkin i,
.ac-btn-checkin [class*="ri-"] {
    display: inline-flex !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    top: auto !important;
    left: auto !important;
    vertical-align: middle;
}

.ac-checkin-illustration-box {
    position: absolute;
    right: 10px;
    bottom: 8px;
    top: -25px; /* 减少向上溢出 */
    width: 120px; /* 减小插画宽度 */
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
    z-index: 10;
}

.ac-checkin-illustration {
    width: 100%; 
    height: auto; 
    object-fit: contain; 
    filter: drop-shadow(4px 8px 15px rgba(37, 99, 235, 0.2));
    animation: ac-float 5s ease-in-out infinite;
}

@keyframes ac-float { 
    0%, 100% { transform: translateY(0); } 
    50% { transform: translateY(-6px); } 
}

/* 极验验证码容器 */
.ac-captcha-container { 
    margin: 0 24px 10px; 
}

/* 签到消息提示 */
.ac-checkin-msg {
    color: #10b981; 
    font-size: 13px; 
    margin: 8px 0 0 0; 
    display: none; 
    font-weight: 600;
}

/* 响应式 */
@media (max-width: 576px) {
    .ac-checkin-illustration-box {
        width: 110px; /* 移动端进一步减小 */
        top: -15px; /* 减少向上溢出 */
        right: 10px;
        opacity: 0.8;
    }
    
    .ac-checkin-card {
        padding: 10px 14px; /* 移动端更紧凑 */
        min-height: 65px; /* 移动端更矮 */
    }
    
    .ac-checkin-content {
        max-width: 60%;
    }
    
    .ac-checkin-subtitle {
        font-size: 10px; /* 移动端更小字体 */
        margin-bottom: 6px;
    }
    
    .ac-btn-checkin {
        padding: 6px 14px; /* 移动端更小按钮 */
        font-size: 13px;
    }
    
    .account-card-body {
        padding: 20px 24px 10px 24px;
    }
    
    .ac-row {
        font-size: 14px;
    }
    
    .ac-row-icon {
        font-size: 16px;
    }
}

/* ==========================================================================
   新手福利卡片 (Zephyr 融合版)
   放置位置：账号卡片 与 流量卡片 之间
   风格：票券/通知风格，极简，低高度
   ========================================================================== */

:root {
    /* 局部变量：玫瑰色系 (Tailwind Rose) */
    --gift-bg: #fff1f2;      /* Rose 50 */
    --gift-border: #fecdd3;  /* Rose 200 */
    --gift-icon-bg: #ffe4e6; /* Rose 100 */
    --gift-text: #881337;    /* Rose 900 */
    --gift-sub: #9f1239;     /* Rose 800 */
    --gift-accent: #f43f5e;  /* Rose 500 */
}

.gift-card-wrapper {
    /* 与上下卡片保持一致的间距 */
    margin-bottom: 22px;
    font-family: 'Noto Sans SC', system-ui, -apple-system, sans-serif;
}

.gift-card-opt {
    /* 使用淡粉色背景，区别于上下白色的数据卡片 */
    background: linear-gradient(to right, var(--gift-bg), #fff);
    border: 1px solid var(--gift-border);
    /* 保持与周围卡片一致的圆角 */
    border-radius: 12px;
    /* 保持与周围卡片一致的阴影 */
    box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.05), 0 1px 3px -1px rgba(0, 0, 0, 0.03);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: all 0.2s ease;
    min-height: 90px; /* 控制高度，不要太占地 */
}

.gift-card-opt:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(244, 63, 94, 0.1);
    border-color: #fda4af;
}

/* 左侧装饰线 - 增加礼品感 */
.gift-card-opt::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    /* background: var(--gift-accent);*/
}

/* 左侧内容 */
.gift-left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex: 1;
    z-index: 2;
}

/* 图标容器 */
.gift-icon {
    width: 40px; height: 40px;
    background: var(--gift-icon-bg);
    color: var(--gift-accent);
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    animation: heartBeat 2s infinite;
}

.gift-text-group {
    display: flex;
    flex-direction: column;
}

.gift-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--gift-text);
    margin: 0 0 4px 0;
    display: flex; align-items: center; gap: 6px;
}

.gift-desc {
    font-size: 13px;
    color: var(--gift-sub);
    margin: 0;
    line-height: 1.4;
}

.gift-highlight {
    color: var(--gift-accent);
    font-weight: 700;
    background: rgba(255,255,255,0.6);
    padding: 0 4px;
    border-radius: 4px;
}

.gift-badge {
    font-size: 10px;
    background: var(--gift-accent);
    color: #fff;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: normal;
    vertical-align: middle;
}

/* 右侧插画 */
.gift-right {
    position: relative;
    width: 100px; /* 限制宽度 */
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gift-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 4px 6px rgba(244, 63, 94, 0.15));
    /* 图片动画已移除 - 保持静态 */
}

/* 装饰背景圆 */
.gift-bg-circle {
    position: absolute;
    right: -20px;
    bottom: -30px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(254, 205, 211, 0.4) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* 心跳动画 - 仅保留图标动画 */
@keyframes heartBeat {
    0% { transform: scale(1); }
    14% { transform: scale(1.1); }
    28% { transform: scale(1); }
    42% { transform: scale(1.1); }
    70% { transform: scale(1); }
}

/* 移动端适配 */
@media (max-width: 576px) {
    .gift-card-opt {
        padding: 12px 16px;
    }
    .gift-right {
        width: 70px; /* 手机上缩小图片 */
        height: 60px;
    }
    .gift-icon {
        width: 32px; height: 32px; font-size: 16px;
    }
    .gift-title { font-size: 14px; }
    .gift-desc { font-size: 12px; }
}

/* ==========================================================================
   Clash 导入弹窗样式 (SweetAlert2 适配版)
   ========================================================================== */

:root {
    --cm-primary: #2563eb;
    --cm-primary-hover: #1d4ed8;
    --cm-primary-soft: #eff6ff;
    --cm-text-main: #1e293b;
    --cm-text-sub: #64748b;
    --cm-border: #e2e8f0;
    --cm-bg: #ffffff;
    --cm-radius: 16px;
}

/* 1. SweetAlert2 容器重置 */
.clash-swal-popup {
    border-radius: var(--cm-radius) !important;
    background: transparent !important;
    padding: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
}

.clash-swal-popup .swal2-html-container {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* 2. 弹窗主体卡片 */
.cm-modal-card {
    background: var(--cm-bg);
    border-radius: var(--cm-radius);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;
    text-align: left;
    overflow: hidden;
    width: 100%;
}

/* 3. 头部 */
.cm-header {
    padding: 12px 24px;
    border-bottom: 1px solid var(--cm-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
}

.cm-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--cm-text-main);
    display: flex;
    align-items: center;
    gap: 8px;
}

.cm-title i {
    color: var(--cm-primary);
    font-size: 20px;
}

.cm-close {
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
}

.cm-close:hover {
    background: #f1f5f9;
    color: #334155;
}

/* 4. 内容区域 */
.cm-body {
    padding: 24px;
    overflow-y: auto;
    max-height: 80vh;
}

/* 分组标题 */
.cm-group-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.cm-group-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--cm-text-sub);
    display: flex;
    align-items: center;
    gap: 6px;
}

.cm-group-badge {
    font-size: 11px;
    background: #f1f5f9;
    color: #64748b;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 500;
}

/* 5. 通用导入卡片 (Hero Card) */
.cm-hero-card {
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    border: 1px solid #dbeafe;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    gap: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.cm-hero-card:hover {
    border-color: #93c5fd;
    background: linear-gradient(135deg, #eef2ff 0%, #ffffff 100%);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transform: translateY(-2px);
}

/* 背景装饰图标 */
.cm-hero-bg-icon {
    position: absolute;
    right: -10px;
    bottom: -20px;
    font-size: 120px;
    color: var(--cm-primary);
    opacity: 0.05;
    transform: rotate(-15deg);
    pointer-events: none;
    z-index: 0;
}

.cm-hero-info {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    position: relative;
    z-index: 1;
}

.cm-hero-icon {
    width: 52px;
    height: 52px;
    background: #fff;
    border-radius: 12px;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    box-shadow: 0 2px 4px rgba(37, 99, 235, 0.1);
}

.cm-hero-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cm-hero-text h4 {
    margin: 0 0 6px 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--cm-text-main);
}

.cm-hero-list {
    font-size: 12px;
    color: #475569;
    line-height: 1.6;
}

.cm-hero-list div {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}

.cm-hero-list i {
    color: var(--cm-primary);
    font-size: 14px;
}

.btn-hero-import {
    background: var(--cm-primary);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.3);
    text-decoration: none;
    position: relative;
    z-index: 1;
}

.btn-hero-import:hover {
    background: var(--cm-primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px -2px rgba(37, 99, 235, 0.4);
    color: #fff;
}

/* 6. iOS 客户端网格 */
.cm-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}

.cm-app-card {
    background: #fff;
    border: 1px solid var(--cm-border);
    border-radius: 12px;
    padding: 16px;
    text-align: center;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.cm-app-card:hover {
    border-color: #93c5fd;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.cm-app-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    margin-bottom: 10px;
    object-fit: contain;
}

.cm-app-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--cm-text-main);
    margin-bottom: 2px;
}

.cm-app-price {
    font-size: 11px;
    color: #94a3b8;
    margin-bottom: 12px;
}

.btn-app-import {
    width: 100%;
    padding: 6px;
    background: #fff;
    border: 1px solid #e2e8f0;
    color: #475569;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-app-import:hover {
    background: #eff6ff;
    color: var(--cm-primary);
    border-color: #bfdbfe;
}

/* 7. 底部提示 */
.cm-notice {
    background: #fffbeb;
    border-radius: 8px;
    padding: 12px 16px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.cm-notice i {
    color: #f59e0b;
    font-size: 16px;
    margin-top: 2px;
}

.cm-notice-text {
    font-size: 12px;
    color: #b45309;
    line-height: 1.5;
}

.cm-notice-text strong {
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
    color: #92400e;
}

/* 响应式 - 移动端优化（紧凑版）*/
@media (max-width: 640px) {
    /* 整体内容区域紧凑 */
    .cm-body {
        padding: 16px;
    }
    
    /* Hero Card 紧凑布局 */
    .cm-hero-card {
        flex-direction: column;
        text-align: center;
        gap: 12px;
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .cm-hero-info {
        flex-direction: column;
        gap: 8px;
        align-items: center;
    }
    
    /* Hero 图标缩小 */
    .cm-hero-icon {
        width: 44px;
        height: 44px;
        padding: 6px;
    }
    
    /* Hero 文字缩小 */
    .cm-hero-text h4 {
        font-size: 15px;
        margin-bottom: 4px;
    }
    
    .cm-hero-list {
        font-size: 11px;
        line-height: 1.5;
    }
    
    .cm-hero-list div {
        white-space: normal;
        margin-bottom: 2px;
    }
    
    .cm-hero-list i {
        font-size: 12px;
    }
    
    /* Hero 按钮紧凑 */
    .btn-hero-import {
        width: 100%;
        justify-content: center;
        padding: 8px 20px;
        font-size: 13px;
    }
    
    /* 分组标题紧凑 */
    .cm-group-header {
        margin-bottom: 8px;
        margin-top: 8px;
    }
    
    .cm-group-title {
        font-size: 11px;
    }
    
    .cm-group-badge {
        font-size: 10px;
        padding: 1px 6px;
    }
    
    /* iOS 网格紧凑 */
    .cm-grid {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 16px;
    }
    
    /* iOS 应用卡片紧凑 */
    .cm-app-card {
        flex-direction: row;
        text-align: left;
        align-items: center;
        padding: 10px;
    }
    
    .cm-app-icon {
        margin-bottom: 0;
        margin-right: 10px;
        width: 36px;
        height: 36px;
    }
    
    .cm-app-name {
        font-size: 12px;
        margin-bottom: 1px;
    }
    
    .cm-app-price {
        font-size: 10px;
        margin-bottom: 0;
    }
    
    .cm-app-info {
        flex: 1;
    }
    
    .cm-app-action {
        width: auto;
        min-width: 65px;
    }
    
    .btn-app-import {
        padding: 5px 8px;
        font-size: 11px;
    }
    
    /* 底部提示紧凑 */
    .cm-notice {
        padding: 10px 12px;
        gap: 8px;
    }
    
    .cm-notice i {
        font-size: 14px;
    }
    
    .cm-notice-text {
        font-size: 11px;
        line-height: 1.4;
    }
    
    .cm-notice-text strong {
        margin-bottom: 1px;
    }
}

/* ==========================================================================
   Clash 订阅 Tab 专属样式 (Zephyr/Tailwind 风格)
   ========================================================================== */
.clash-modern-container {
    font-family: 'Noto Sans SC', system-ui, sans-serif;
    color: var(--clash-text-main, #1e293b);
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-top: 10px;
}

/* 1. 简要指南 */
.cm-guide-box {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.cm-guide-icon {
    width: 36px; height: 36px;
    background: #fff;
    border-radius: 50%;
    color: #2563eb;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); 
    border: 1px solid rgba(255,255,255,0.5);
}

.cm-guide-content { flex: 1; }
.cm-guide-title { font-weight: 700; color: #1e3a8a; font-size: 14px; margin-bottom: 8px; }

.cm-steps { display: flex; flex-direction: column; gap: 10px; }
.cm-step-item { font-size: 13px; color: #475569; display: flex; align-items: flex-start; line-height: 1.6; }

/* 步骤号样式 */
.cm-step-num { 
    background: #dbeafe;
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
    min-width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 12px;
    margin-top: 1px;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(37, 99, 235, 0.1);
}

.cm-link { color: #2563eb; text-decoration: none; font-weight: 600; cursor: pointer; border-bottom: 1px dashed transparent; }
.cm-link:hover { border-bottom-color: currentColor; }

/* 2. 标题区 (Premium Style) */
.cm-header-new {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 5px;
    padding: 10px;
    background: linear-gradient(to right, #f8fafc, #ffffff);
    border: 1px solid #f1f5f9;
    border-radius: 12px;
}

/* 标题图标容器 */
.cm-header-icon-box {
    width: 44px; height: 44px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #2563eb;
    font-size: 24px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    flex-shrink: 0;
}

.cm-header-content {
    flex: 1;
    display: flex; flex-direction: column; gap: 4px;
}

.cm-title-row {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.cm-main-title { 
    font-size: 18px; font-weight: 800; color: #1e293b; 
    letter-spacing: -0.5px; line-height: 1.2;
}

/* 推荐徽章 */
.cm-title-badge { 
    font-size: 11px; 
    background: #ecfdf5; color: #059669; 
    padding: 2px 8px; border-radius: 50px; 
    font-weight: 600; border: 1px solid #d1fae5; 
    display: inline-flex; align-items: center; gap: 3px;
    height: fit-content;
}

/* 特性说明行 */
.cm-subtitle-row {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    margin-top: 2px;
}
.cm-meta-item {
    font-size: 12px; color: #64748b;
    display: flex; align-items: center; gap: 4px;
    font-weight: 500;
}
.cm-meta-item i { color: #94a3b8; font-size: 14px; }

/* 分隔点 */
.cm-meta-sep { width: 3px; height: 3px; background: #cbd5e1; border-radius: 50%; display: inline-block; }

/* 3. 订阅卡片 */
.cm-domain-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); 
}

.cm-domain-card:hover {
    border-color: #dbeafe;
    background-color: #fcfdff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03); 
    transform: translateY(-1px);
}

.cm-card-top {
    display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;
}
.cm-domain-tag {
    font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 6px;
}
.tag-main { background: #2563eb; color: #fff; }
.tag-sub { background: #f1f5f9; color: #64748b; }

.cm-domain-name { font-size: 13px; font-weight: 600; color: #475569; }

/* 输入框与按钮组 */
.cm-input-group {
    display: flex; gap: 8px;
}
.cm-input {
    flex: 1;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    color: #1e293b;
    font-family: monospace;
    outline: none;
    transition: border 0.2s, box-shadow 0.2s;
    width: 100%;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
.cm-input:focus { 
    border-color: #2563eb; 
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.cm-btn-group { display: flex; gap: 8px; flex-shrink: 0; }

.cm-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 4px;
    padding: 8px 14px; border-radius: 8px; font-size: 13px; font-weight: 600;
    cursor: pointer; border: 1px solid transparent; transition: all 0.2s;
    white-space: nowrap;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); 
}

.btn-copy { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
.btn-copy:hover { background: #e2e8f0; color: #1e293b; border-color: #cbd5e1; }

.btn-qr { background: #f0f9ff; color: #0369a1; border-color: #bae6fd; }
.btn-qr:hover { background: #e0f2fe; border-color: #7dd3fc; }

.btn-import { background: #2563eb; color: #fff; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
.btn-import:hover { background: #1d4ed8; transform: translateY(-1px); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }

/* 4. 信息与警告 */
.cm-info-box {
    font-size: 13px; color: #64748b; line-height: 1.6;
    background-color: #f8fafc;
    border-radius: 12px;
    padding: 16px;
}
.cm-info-box p { margin: 0; }
.cm-info-box i { vertical-align: 0px; margin-right: 4px; color: #2563eb; }
.text-highlight { color: #ef4444; font-weight: 600; }

.cm-warning-card {
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 12px;
    overflow: hidden;
}
.cm-warning-header {
    padding: 12px 16px;
    display: flex; justify-content: space-between; align-items: center;
    cursor: pointer; user-select: none; color: #991b1b;
}
.cm-warning-title { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px; }
.cm-warning-body {
    padding: 0 16px 16px; font-size: 13px; color: #b91c1c; display: none;
}
.cm-warning-header.active + .cm-warning-body { display: block; }
.cm-warning-list { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; }
.cm-warning-item { display: flex; align-items: center; gap: 6px; font-size: 12px; }

/* 移动端适配 */
@media (max-width: 640px) {
    .cm-input-group { flex-direction: column; }
    
    /* 按钮组优化：显示文字，缩减间距 */
    .cm-btn-group { 
        display: flex; 
        gap: 6px; 
        width: 100%; 
    }
    .cm-btn { 
        flex: 1;
        width: auto;
        justify-content: center; 
        padding: 8px 10px;
        font-size: 12px;
    }
    .cm-btn span { 
        display: inline; /* 显示文字 */
    }
    .cm-btn i { 
        font-size: 14px;
        margin-right: 4px;
    }
    
    .cm-header-new { flex-direction: row; align-items: center; }
    .cm-subtitle-row { display: none; }
    
    /* 指南区紧凑 - 图标和标题同行 */
    .cm-guide-box { 
        display: block;
        padding: 12px 16px;
        position: relative;
    }
    
    /* 图标浮动，与标题同行 */
    .cm-guide-icon { 
        float: left;
        width: 32px; 
        height: 32px; 
        font-size: 18px;
        margin-right: 12px;
        margin-bottom: 4px;
    }
    
    /* 标题紧随图标 */
    .cm-guide-title { 
        font-size: 13px;
        margin-bottom: 10px;
        padding-top: 2px;
    }
    
    /* 步骤列表清除浮动，独占一行 */
    .cm-steps {
        clear: both;
        padding-top: 4px;
    }
    
    /* 步骤列表：从左到右完整显示 */
    .cm-steps {
        width: 100%;
        clear: both;
        display: block;
    }
    .cm-step-item { 
        font-size: 12px;
        margin-bottom: 10px;
        width: 100%;
    }
    .cm-step-num { 
        min-width: 20px; 
        height: 20px; 
        font-size: 11px;
        margin-right: 10px;
    }
}

/* ==========================================================================
   Clash 二维码弹窗样式 (SweetAlert2 + Zephyr 设计)
   ========================================================================== */

/* SweetAlert2 容器重置 */
.clash-qr-swal-popup {
    border-radius: 16px !important;
    padding: 0 !important;
    overflow: visible !important;
    width: 480px !important;
    max-width: 90vw !important;
}

.clash-qr-swal-popup .swal2-html-container {
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* 二维码弹窗主体 */
.qr-modal-container {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    text-align: center;
}

/* 头部 */
.qr-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.qr-title-group {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
}

.qr-title-group i {
    color: #2563eb;
    font-size: 24px;
}

/* 主体内容 */
.qr-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

/* 二维码容器 */
.qr-canvas-box {
    padding: 20px;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
}

.qr-canvas-box:hover {
    border-color: #bfdbfe;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08);
}

.qr-canvas-box canvas {
    display: block;
    border-radius: 8px;
}

/* 提示文字 */
.qr-tip {
    font-size: 13px;
    color: #64748b;
    background: #f8fafc;
    padding: 10px 20px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #f1f5f9;
}

.qr-tip i {
    color: #2563eb;
    font-size: 16px;
}

/* 复制按钮 */
.btn-copy-lg {
    width: 100%;
    padding: 12px 24px;
    font-weight: 600;
    font-size: 14px;
    border-radius: 12px;
    background: #2563eb;
    color: #fff;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2);
    cursor: pointer;
}

.btn-copy-lg:hover {
    background: #1d4ed8;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px -2px rgba(37, 99, 235, 0.3);
}

.btn-copy-lg i {
    font-size: 18px;
}

/* 移动端适配 */
@media (max-width: 640px) {
    .clash-qr-swal-popup {
        width: 90vw !important;
    }
    
    .qr-modal-container {
        padding: 20px 16px;
    }
    
    .qr-header {
        margin-bottom: 20px;
        padding-bottom: 12px;
    }
    
    .qr-title-group {
        font-size: 16px;
    }
    
    .qr-title-group i {
        font-size: 20px;
    }
    
    .qr-canvas-box {
        padding: 16px;
        max-width: 100%;
    }
    
    .qr-canvas-box canvas {
        max-width: 100%;
        height: auto !important;
    }
    
    .qr-tip {
        font-size: 12px;
        padding: 8px 16px;
    }
    
    .btn-copy-lg {
        padding: 10px 20px;
        font-size: 13px;
    }
}

/* ==================== SSR Windows Tab Modern Style ==================== */
:root {
    --ssr-primary: #2563eb;       
    --ssr-primary-hover: #1d4ed8;
    --ssr-primary-soft: #eff6ff;  
    --ssr-border: #e2e8f0;        
    --ssr-text-main: #1e293b;     
    --ssr-text-sub: #64748b;      
}

.ssr-modern-container {
    font-family: 'Noto Sans SC', sans-serif;
    color: var(--ssr-text-main);
    padding-top: 0px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* 简要指南 */
.ssr-guide-box {
    background: var(--ssr-primary-soft);
    border: 1px solid #dbeafe;
    border-radius: 12px;
    padding: 12px 14px;
    display: flex; 
    gap: 16px;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* 背景装饰图标 */
.ssr-bg-icon {
    position: absolute;
    right: -10px;
    bottom: 40px;
    font-size: 140px;
    color: var(--ssr-primary);
    opacity: 0.06;
    transform: rotate(-15deg);
    pointer-events: none;
    z-index: 0;
}

.ssr-guide-icon {
    width: 36px; 
    height: 36px; 
    background: #fff; 
    border-radius: 50%;
    color: var(--ssr-primary); 
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 20px; 
    flex-shrink: 0; 
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    position: relative; 
    z-index: 1;
}

.ssr-guide-content { 
    flex: 1; 
    position: relative; 
    z-index: 1;
}

.ssr-guide-title { 
    font-weight: 700; 
    color: #1e3a8a; 
    font-size: 14px; 
    margin-bottom: 8px; 
}

.ssr-steps { 
    display: flex; 
    flex-direction: column; 
    gap: 8px; 
}

.ssr-step-item { 
    font-size: 13px; 
    color: #475569; 
    display: flex; 
    align-items: flex-start; 
    line-height: 1.4; 
}

.ssr-step-num { 
    background: #dbeafe; 
    color: #2563eb; 
    width: 20px; 
    height: 20px; 
    border-radius: 50%; 
    font-size: 12px; 
    font-weight: 700;
    display: flex; 
    align-items: center; 
    justify-content: center; 
    margin-right: 10px; 
    margin-top: 2px; 
    flex-shrink: 0;
}

/* === 订阅地址分组容器 (Unified Box) === */
.ssr-domain-group {
    background: #fff;
    border: 1px solid var(--ssr-border);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* 每一行 (Row) */
.ssr-domain-row {
    padding: 16px;
    border-bottom: 1px dashed #e5e7eb;
    transition: background-color 0.2s;
}
.ssr-domain-row:last-child { 
    border-bottom: none; 
}
.ssr-domain-row:hover { 
    background-color: #f9fafb; 
}

/* 布局容器：一行显示 输入框组 和 按钮组 */
.ssr-input-row {
    display: flex;
    gap: 10px;
    align-items: stretch; /* 等高 */
}

/* ★★★ 融合式输入框容器 ★★★ */
.ssr-field-merge {
    flex: 1; /* 占满剩余空间 */
    display: flex;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 8px; /* 整体圆角 */
    background: #fff;
    transition: all 0.2s;
    overflow: hidden; /* 裁剪内部直角 */
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

/* 聚焦态：高亮整个融合容器 */
.ssr-field-merge:focus-within {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* 融合标签 (Prepend) */
.ssr-field-label {
    font-size: 13px;
    font-weight: 600;
    padding: 0 16px;
    height: 40px; /* 固定高度确保对齐 */
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    border-right: 1px solid #e5e7eb; /* 分割线 */
}

/* 主域名高亮 */
.label-main {
    background: #eff6ff; /* Blue-50 极淡蓝底 */
    color: #2563eb; /* Blue-600 */
    border-right-color: #dbeafe;
}
/* 备用域名低调 */
.label-sub {
    background: #f8fafc; /* Slate-50 灰底 */
    color: #64748b; /* Slate-500 */
}

/* 融合输入框 */
.ssr-field-input {
    flex: 1;
    border: none;
    outline: none;
    height: 40px;
    padding: 0 12px;
    font-size: 13px;
    color: #334155;
    font-family: 'Consolas', 'Monaco', 'Courier New', monospace; /* 适合 URL */
    background: transparent;
    min-width: 0; /* 防止溢出 */
}

/* 按钮组 */
.ssr-btn-group {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* 按钮通用 */
.ssr-btn {
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    gap: 5px;
    padding: 0 16px; 
    height: 42px; /* 高度匹配容器 (40px内容+2px边框) */
    border-radius: 8px; 
    font-size: 13px; 
    font-weight: 600;
    cursor: pointer; 
    transition: all 0.2s; 
    white-space: nowrap;
    text-decoration: none !important; 
    border: 1px solid transparent;
}

/* 复制按钮 */
.btn-copy { 
    background: #fff; 
    color: #64748b; 
    border-color: #e2e8f0;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.btn-copy:hover { 
    background: #f8fafc; 
    color: #334155; 
    border-color: #cbd5e1; 
}

/* 柔和的一键订阅按钮 (Soft Primary) */
.btn-sub-soft { 
    background: var(--ssr-primary-soft);
    color: #2563eb; /* Blue-600 */
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.btn-sub-soft:hover { 
    background: #dbeafe;
    color: #1d4ed8; /* Blue-700 */
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(37, 99, 235, 0.15);
}

.ssr-section-title {
    font-size: 14px; 
    font-weight: 700; 
    color: #334155; 
    margin-top: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ssr-section-title i {
    color: #2563eb;
    font-size: 16px;
    vertical-align: middle;
}

.ssr-link {
    font-size: 13px;
    color: var(--ssr-primary);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
}

.ssr-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

/* 下载卡片样式 */
.ssr-dl-card {
    display: flex;
    align-items: center;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--ssr-border);
    border-radius: 10px;
    text-decoration: none !important;
    transition: all 0.2s;
    position: relative;
    cursor: pointer;
}

.ssr-dl-card:hover {
    border-color: var(--ssr-primary);
    background: #f8fbff;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.ssr-dl-icon {
    font-size: 20px;
    color: var(--ssr-text-sub);
    margin-right: 8px;
    display: flex;
    align-items: center;
}

.card-rec .ssr-dl-icon {
    color: var(--ssr-primary);
}

.card-rec {
    border-color: #bfdbfe;
    background: #fcfdff;
}

.ssr-dl-info {
    flex: 1;
    min-width: 0;
    margin-right: 4px;
}

.ssr-dl-name {
    font-size: 12px;
    font-weight: 700;
    color: var(--ssr-text-main);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
}

.ssr-dl-desc {
    font-size: 11px;
    color: var(--ssr-text-sub);
}

.ssr-badge {
    font-size: 10px;
    padding: 1px 5px;
    background: #dbeafe;
    color: #2563eb;
    border-radius: 4px;
    font-weight: 600;
    white-space: nowrap;
}

.tag-warn {
    background: #fff7ed;
    color: #d97706;
}

.ssr-dl-arrow {
    color: #cbd5e1;
    font-size: 18px;
    transition: color 0.2s;
}

.ssr-dl-card:hover .ssr-dl-arrow {
    color: var(--ssr-primary);
}

/* 移动端响应式 */
@media (max-width: 640px) {
    /* 减小行间距 */
    .ssr-domain-row {
        padding: 14px;
    }
    
    /* 垂直堆叠布局 */
    .ssr-input-row {
        flex-direction: column;
        gap: 8px;
    }
    
    /* 融合输入框容器 */
    .ssr-field-merge {
        width: 100%;
    }
    
    /* 标签宽度调整 */
    .ssr-field-label {
        min-width: 60px;
        padding: 0 12px;
        font-size: 12px;
    }
    
    /* 输入框字体稍小 */
    .ssr-field-input {
        font-size: 12px;
    }
    
    /* 按钮组两列布局 */
    .ssr-btn-group { 
        display: grid; 
        grid-template-columns: 1fr 1fr;
        width: 100%;
        gap: 8px;
    }
    
    /* 按钮等高 */
    .ssr-btn { 
        width: 100%;
        height: 40px;
        padding: 0 12px;
        font-size: 12px;
        justify-content: center; 
    }
    
    .ssr-guide-box {
        display: block;
        padding: 10px 14px;
        position: relative;
    }
    
    .ssr-bg-icon {
        font-size: 100px;
        right: -20px;
        bottom: 20px;
    }
    
    /* 图标浮动，与标题同行 */
    .ssr-guide-icon {
        float: left;
        width: 32px;
        height: 32px;
        font-size: 18px;
        margin-right: 12px;
        margin-bottom: 4px;
    }
    
    .ssr-guide-content {
        width: 100%;
    }
    
    /* 标题紧随图标 */
    .ssr-guide-title { 
        font-size: 13px;
        margin-bottom: 10px;
        padding-top: 2px;
    }
    
    /* 步骤列表清除浮动，独占一行 */
    .ssr-steps {
        clear: both;
        padding-top: 4px;
    }
}

/* ==========================================================================
   用户信息卡片 - Refined Watermark Style (优化水印版)
   核心理念：强制等高 + 极低饱和度背景 + 修复交互Bug
   ========================================================================== */

/* 全局变量定义 */
:root {
    --ov-text-main: #1e293b;     /* Slate 800 */
    --ov-text-sub: #64748b;      /* Slate 500 */
    --ov-border: #f1f5f9;        /* Slate 100 */ 
    --ov-bg: #ffffff;
    
    /* 核心色板 */
    --ov-orange: #f59e0b; 
    --ov-green: #10b981;  
    --ov-blue: #2563eb;   
    --ov-purple: #8b5cf6; 
}

/* 卡片容器 */
.overview-card {
    background: var(--ov-bg);
    border-radius: 12px;
    border: 1px solid var(--ov-border);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    padding: 18px 22px;
    height: 100%;
    min-height: 146px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    z-index: 1;
    margin-bottom: 1rem;
}

/* 悬浮交互 */
.overview-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -8px rgba(0, 0, 0, 0.08), 0 4px 8px -4px rgba(0, 0, 0, 0.04);
    border-color: var(--card-color-soft);
}

/* Hover 时背景图标动效 */
.overview-card:hover .ov-bg-icon {
    transform: rotate(-5deg) scale(1.1) translate(10px, -10px);
    opacity: 0.08; /* Hover 时略微显现 */
}

/* === [修改] 背景水印图标：大幅降低不透明度 === */
.ov-bg-icon {
    position: absolute;
    right: -20px;
    bottom: -20px;
    font-size: 120px;
    line-height: 1;
    color: var(--card-color);
    opacity: 0.04; /* [降低] 极淡透明度，几乎不可见 */
    transform: rotate(-15deg);
    pointer-events: none;
    z-index: 0;
    transition: all 0.4s ease;
}

/* 内容层级提升，防止被背景遮挡 */
.ov-content-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

/* 顶部：标题 + 按钮 */
.ov-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px;
}

.ov-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--ov-text-sub);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex; 
    align-items: center; 
    gap: 6px;
}

/* 胶囊按钮 */
.ov-btn {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 50px;
    text-decoration: none !important;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1px solid transparent;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* 按钮 hover 跟随主题色 */
.ov-btn:hover {
    background: var(--card-color);
    color: #fff !important;
    border-color: var(--card-color);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transform: translateY(-1px);
}
.ov-btn:hover i { 
    color: #fff !important; 
}

/* 中部：数据 */
.ov-body {
    margin-bottom: 8px;
}

.ov-value {
    font-size: 24px;
    font-weight: 800;
    color: var(--ov-text-main);
    line-height: 1.1;
    letter-spacing: -0.5px;
    font-family: 'Inter', system-ui, sans-serif;
}

.ov-value small { 
    font-size: 14px; 
    font-weight: 600; 
    color: var(--ov-text-sub); 
    margin-left: 2px; 
    opacity: 0.8;
}

/* 底部：描述信息 */
.ov-footer {
    padding-top: 12px;
    border-top: 1px dashed rgba(0,0,0,0.06);
    font-size: 12px;
    color: var(--ov-text-sub);
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}

.ov-footer i { 
    font-size: 14px; 
    opacity: 0.7; 
}

/* === [修改] 主题色定义：降低饱和度，推迟渐变 === */

/* 橙色主题 */
.theme-orange {
    --card-color: var(--ov-orange);
    --card-color-soft: #fed7aa;
    /* [修改] 渐变从 50% 开始，且颜色更浅 */
    background: linear-gradient(135deg, #ffffff 50%, #fffaf5 100%);
}
.theme-orange .ov-btn { 
    color: var(--ov-orange); 
    border-color: #ffedd5; 
}

/* 绿色主题 */
.theme-green {
    --card-color: var(--ov-green);
    --card-color-soft: #a7f3d0;
    background: linear-gradient(135deg, #ffffff 50%, #f6fdf9 100%);
}
.theme-green .ov-btn { 
    color: var(--ov-green); 
    border-color: #d1fae5; 
}

/* 蓝色主题 */
.theme-blue {
    --card-color: var(--ov-blue);
    --card-color-soft: #bfdbfe;
    background: linear-gradient(135deg, #ffffff 50%, #f8fbff 100%);
}
.theme-blue .ov-btn { 
    color: var(--ov-blue); 
    border-color: #dbeafe; 
}

/* 紫色主题 */
.theme-purple {
    --card-color: var(--ov-purple);
    --card-color-soft: #ddd6fe;
    background: linear-gradient(135deg, #ffffff 50%, #faf9ff 100%);
}
.theme-purple .ov-btn { 
    color: var(--ov-purple); 
    border-color: #ede9fe; 
}

/* === [修复] 静态标签样式 === */
.btn-static { 
    background: rgba(248, 250, 252, 1) !important; /* Slate 50 */
    color: var(--ov-text-sub) !important; 
    border-color: transparent !important; 
    cursor: default; 
    box-shadow: none !important; 
}

/* [修复] Hover 状态保持原样，不反白 */
.btn-static:hover { 
    background: rgba(241, 245, 249, 1) !important; /* Slate 100 */
    color: var(--ov-text-sub) !important; 
    border-color: transparent !important; 
    box-shadow: none !important; 
    transform: none !important;
}

/* [修复] 强制图标颜色不跟随通用 hover 变白 */
.btn-static:hover i {
    color: var(--ov-text-sub) !important;
}

/* 响应式调整 */
@media only screen and (max-width: 768px) {
    .overview-card { 
        padding: 14px 16px;
        margin-bottom: 12px;
        min-height: 130px;
    }
    .ov-value { 
        font-size: 24px; 
    }
    .ov-bg-icon {
        font-size: 100px;
        right: -15px;
        bottom: -15px;
    }
}

/* ==========================================================================
   公告栏样式 (Smart Timeline - Pro Highlighting)
   ========================================================================== */
:root {
    --notice-primary: #2563eb;
    --notice-bg: #ffffff;
    --notice-border: #f1f5f9;
    --notice-text: #334155;
    --notice-date: #94a3b8;
    
    /* 高亮色 (红色系 - 用于最新条目) */
    --highlight-color: #ef4444; 
    --highlight-bg: #fff1f2;
    --highlight-shadow: rgba(239, 68, 68, 0.15);
}

/* 卡片容器 */
.notice-card {
    background: var(--notice-bg);
    border-radius: 12px;
    border: 1px solid var(--notice-border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    height: 420px;
    overflow: hidden;
    margin-bottom: 24px;
    transition: box-shadow 0.2s;
}

.notice-card:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

/* 头部 */
.notice-header {
    padding: 16px 24px;
    border-bottom: 1px dashed var(--notice-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: linear-gradient(to right, #ffffff, #f8fafc);
}

.notice-title {
    font-size: 16px;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-tg {
    background: #e3f2fd;
    color: #1976d2;
    border: 1px solid #bbdefb;
    border-radius: 50px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s;
}

.btn-tg:hover {
    background: #1976d2;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(25, 118, 210, 0.3);
    text-decoration: none;
}

/* 滚动区域 */
.notice-scroll {
    flex: 1;
    overflow-y: auto;
    padding: 20px 24px;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e1 transparent;
}

/* 隐藏原始数据 */
#raw-notice-content { 
    display: none; 
}

/* 时间轴列表容器 */
.timeline-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    border-left: 2px solid #e2e8f0;
    padding-left: 24px;
    margin-left: 10px;
    padding-top: 10px; 
}

.timeline-item {
    position: relative;
}

/* === 普通条目圆点 === */
.timeline-item:not(.latest)::before {
    content: '';
    position: absolute;
    left: -30px;
    top: 6px;
    width: 10px;
    height: 10px;
    background: #fff;
    border: 2px solid #94a3b8;
    border-radius: 50%;
    z-index: 1;
}

/* === [核心升级] 最新条目高亮 (Glow + Icon) === */
.timeline-item.latest {
    background: var(--highlight-bg);
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 11px 14px;
    margin-left: 0px;
    margin-bottom: 8px;
    box-shadow: 0 3px 9px var(--highlight-shadow);
    position: relative;
}

/* 最新条目的左侧图标容器 (替换原本的圆点) */
.timeline-icon-box {
    position: absolute;
    left: -38px;
    top: 16px;
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    z-index: 2;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
    animation: pulse-glow 2s infinite;
}

/* 标签 */
.n-tag {
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
    margin-right: 6px;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.tag-fix { 
    background: #ecfdf5; 
    color: #059669; 
    border: 1px solid #d1fae5; 
}

.tag-add { 
    background: #eff6ff; 
    color: #2563eb; 
    border: 1px solid #bfdbfe; 
}

.tag-note { 
    background: #f1f5f9; 
    color: #64748b; 
    border: 1px solid #e2e8f0; 
}

.tag-warn { 
    background: #fff7ed; 
    color: #ea580c; 
    border: 1px solid #ffedd5; 
}

.tag-activity { 
    background: #f5f3ff; 
    color: #8b5cf6; 
    border: 1px solid #ddd6fe; 
}

/* NEW 徽章 */
.n-badge-new {
    display: inline-flex;
    align-items: center;
    background: #ef4444;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    padding: 1px 5px;
    border-radius: 4px;
    margin-right: 6px;
    vertical-align: middle;
    line-height: 1.4;
}

.n-content {
    font-size: 13px;
    color: var(--notice-text);
    line-height: 1.6;
    word-break: break-all;
}

.timeline-item.latest .n-content {
    color: #1e293b;
    font-weight: 500;
}

.n-content img {
    max-width: 100%; 
    border-radius: 8px; 
    margin: 8px 0; 
    display: block;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.n-content a { 
    color: var(--notice-primary); 
    text-decoration: none; 
    font-weight: 500; 
}

.n-content a:hover { 
    text-decoration: underline; 
}

.n-date {
    display: block; 
    font-size: 11px; 
    color: var(--notice-date); 
    margin-top: 4px; 
    font-family:'Consolas', 'Monaco', 'Courier New', monospace;
}

.n-content strong { 
    color: #ef4444; 
    font-weight: 700; 
}

@keyframes pulse-glow {
    0% { 
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); 
    }
    70% { 
        box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); 
    }
    100% { 
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); 
    }
}

@media (max-width: 576px) {
    .notice-card { 
        height: auto; 
        max-height: 400px; 
    }
}

/* ========== 紧凑型复合胶囊 (Compact Pill) ========== */
  /* --- 1. 组件主色 (Blue) --- */
  :root {
    /* --- 1. 组件主色 (Blue) --- */
    --tf-primary: #2563eb;       
    --tf-primary-hover: #1d4ed8; 
    --tf-primary-soft: #eff6ff; 
    --tf-primary-border: #dbeafe;
    
    /* --- 2. 奖励专属色 (Rose - 弹窗/按钮专用) --- */
    --tf-rose-50: #fff1f2;   /* 浅粉背景 */
    --tf-rose-100: #ffe4e6;  /* 边框/悬浮 */
    --tf-rose-500: #f43f5e;  /* 图标 */
    --tf-rose-600: #e11d48;  /* 文字/按钮 */
    --tf-rose-900: #881337;  /* 标题 */
    
    /* --- 3. 功能色 --- */
    --tf-success: #10b981; 
    --tf-warning: #f59e0b;
    
    /* --- 4. 中性色 (Slate) --- */
    --tf-gray-900: #0f172a; 
    --tf-gray-700: #334155; 
    --tf-gray-500: #64748b; 
    --tf-gray-300: #cbd5e1; 
    --tf-gray-200: #e2e8f0; 
    --tf-gray-100: #f1f5f9; 
    --tf-gray-50:  #f8fafc; 
    --tf-white:    #ffffff;
    
    /* --- 5. 样式属性 --- */
    --tf-shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
    --tf-radius-md: 8px;
    --tf-radius-lg: 16px;
}
.z-btn {
    border-radius: var(--tf-radius-md);
    font-weight: 600;
    padding: 8px 16px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    border: 1px solid transparent;
    letter-spacing: 0.3px;
    text-decoration: none !important;
    font-size: 13px;
    cursor: pointer;
}
.z-btn:active { transform: translateY(1px); }

/* Soft Primary Button */
.z-btn-soft-primary { background: var(--tf-primary-soft); color: var(--tf-primary); border: none; }
.z-btn-soft-primary:hover { background: var(--tf-primary-border); color: var(--tf-primary-hover); }

/* Secondary White Button */
.z-btn-white { background: var(--tf-white); border-color: var(--tf-gray-200); color: var(--tf-gray-700); box-shadow: var(--tf-shadow-sm); }
.z-btn-white:hover { background: var(--tf-gray-50); color: var(--tf-gray-900); }
.traffic-combo-pill {
    display: flex;
    align-items: center;
    background: var(--tf-gray-50);
    border-radius: 50px;
    padding: 3px;
    border: 1px solid var(--tf-gray-100);
    height: 36px;
}

/* 左侧：总量 */
.tcp-total {
    padding: 0 12px 0 14px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.tcp-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--tf-gray-500);
}
.tcp-value {
    font-size: 14px;
    font-weight: 800;
    color: var(--tf-gray-900);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* 分割线 */
.tcp-divider {
    width: 1px;
    height: 16px;
    background: var(--tf-gray-300);
    opacity: 0.5;
}

/* 右侧：奖励入口 */
.tcp-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 12px 0 8px;
    height: 28px;
    border-radius: 40px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: transparent;
    color: var(--tf-gray-500);
    font-size: 12px;
    font-weight: 600;
    border: 1px solid transparent;
}

.tcp-btn:hover {
    background: var(--tf-white);
    color: var(--tf-rose-600);
    box-shadow: var(--tf-shadow-sm);
    border-color: var(--tf-rose-100);
    margin-left: 8px;
}

.tcp-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--tf-gray-200);
    color: var(--tf-gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    transition: all 0.2s;
}

.tcp-btn:hover .tcp-icon {
    background: var(--tf-rose-50);
    color: var(--tf-rose-500);
}

@media (max-width: 757px) {
    
    .traffic-combo-pill {
        height: 34px;
        position: relative;
        left: 4px;
    }
    .tcp-total {
        padding: 0 8px 0 9px;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .tcp-btn:hover {
        margin-left: 3px;
    }  
    .tcp-btn{
        gap: 3px;
        padding: 0 6px 0 6px;  
    }  
    .tcp-total{
        padding: 0 6px 0 4px;   
        gap: 2px;
    }
    .traffic-title{
        gap: 4px;
    }
}


/* ========== SweetAlert2 弹窗样式 (Rose 主题) ========== */
.et-swal-popup {
    border-radius: var(--tf-radius-lg) !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-family: inherit !important;
}

/* 头部：紧凑版 */
.et-modal-header {
    background: var(--tf-white);
    padding: 16px 20px;
    border-bottom: 1px solid var(--tf-gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
}
.et-header-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.et-header-icon {
    width: 36px;
    height: 36px;
    background: var(--tf-rose-50);
    border-radius: var(--tf-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tf-rose-500);
    font-size: 18px;
}
.et-header-title h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--tf-rose-900);
}

.et-modal-close {
    cursor: pointer;
    color: var(--tf-gray-400);
    transition: all 0.2s;
    font-size: 22px;
    line-height: 1;
    border: none;
    background: transparent;
    padding: 2px;
    border-radius: 4px;
}
.et-modal-close:hover {
    color: var(--tf-rose-600);
    background: var(--tf-rose-50);
}

.et-body-content {
    padding: 20px;
    text-align: left;
}

/* 说明文案：紧凑版 (Rose 主题) */
.et-info-alert {
    background: var(--tf-primary-soft);
    border: 1px solid var(--tf-primary-border);
    border-radius: var(--tf-radius-md);
    padding: 12px;
    margin-bottom: 16px;
    font-size: 12px;
    color: var(--tf-primary-hover);
    line-height: 1.5;
}
.et-info-alert ul {
    margin: 6px 0 0 18px;
    padding: 0;
    list-style: disc;
}
.et-info-alert li {
    margin-bottom: 4px;
}

/* 统计概览：紧凑版 */
.et-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 18px;
}
.et-sum-card {
    background: var(--tf-white);
    border: 1px solid var(--tf-gray-200);
    border-radius: var(--tf-radius-md);
    padding: 14px 12px;
    text-align: center;
    box-shadow: var(--tf-shadow-sm);
    transition: all 0.2s ease;
}
.et-sum-card:hover {
    border-color: var(--tf-rose-100);
    box-shadow: 0 2px 6px rgba(244, 63, 94, 0.12);
}
.et-sum-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--tf-gray-900);
    margin-bottom: 4px;
    font-family: 'Inter', -apple-system, sans-serif;
}
.et-sum-label {
    font-size: 11px;
    font-weight: 500;
    color: var(--tf-gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.et-sum-label i {
    font-size: 13px;
}

/* 记录列表：紧凑版 */
.et-record-list {
    border: 1px solid var(--tf-gray-200);
    border-radius: var(--tf-radius-md);
    overflow: hidden;
    max-height: 260px;
    overflow-y: auto;
    background: var(--tf-white);
}
.et-record-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--tf-gray-100);
    background: var(--tf-white);
    transition: all 0.2s ease;
}
.et-record-item:last-child {
    border-bottom: none;
}
.et-record-item:hover {
    background: var(--tf-gray-50);
}

.et-rec-left {
    display: flex;
    align-items: center;
    flex: 1;
}
.et-rec-icon {
    width: 34px;
    height: 34px;
    background: var(--tf-gray-50);
    border: 1px solid var(--tf-gray-100);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--tf-gray-700);
    font-size: 16px;
    margin-right: 12px;
}
.et-rec-info {
    flex: 1;
}
.et-rec-info h6 {
    margin: 0 0 3px 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--tf-gray-900);
}
.et-rec-info p {
    margin: 0;
    font-size: 11px;
    color: var(--tf-gray-500);
}
.et-rec-amount {
    font-weight: 700;
    color: var(--tf-success);
    font-family: 'SF Mono', 'Consolas', monospace;
    font-size: 13px;
    white-space: nowrap;
    margin-left: 12px;
}

/* ========== 移动端适配 ========== */
@media (max-width: 767px) {
    /* 弹窗宽度适配 */
    .et-swal-popup {
        width: 95% !important;
        max-width: 95% !important;
    }
    
    /* 头部优化 */
    .et-modal-header {
        padding: 10px 16px;
        height: auto;
        min-height: 50px;
    }
    
    .et-header-icon {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    
    .et-header-title h3 {
        font-size: 14px;
    }
    
    .et-modal-close {
        font-size: 20px;
        padding: 4px;
    }
    
    /* 内容区优化 */
    .et-body-content {
        padding: 15px 0px;
    }
    
    /* 说明框优化 */
    .et-info-alert {
        padding: 10px 12px;
        font-size: 11px;
        margin-bottom: 14px;
    }
    
    .et-info-alert ul {
        margin: 4px 0 0 14px;
    }
    
    .et-info-alert li {
        margin-bottom: 3px;
    }
    
    /* 统计卡片 - 保持3列但缩小 */
    .et-summary-grid {
        gap: 8px;
        margin-bottom: 14px;
    }
    
    .et-sum-card {
        padding: 10px 8px;
    }
    
    .et-sum-val {
        font-size: 14px;
        margin-bottom: 3px;
    }
    
    .et-sum-label {
        font-size: 10px;
    }
    
    .et-sum-label i {
        font-size: 12px;
    }
    
    /* 记录列表优化 */
    .et-record-list {
        max-height: 240px;
    }
    
    .et-record-item {
        padding: 10px 12px;
    }
    
    .et-rec-icon {
        width: 30px;
        height: 30px;
        font-size: 14px;
        margin-right: 10px;
    }
    
    .et-rec-info h6 {
        font-size: 12px;
    }
    
    .et-rec-info p {
        font-size: 10px;
    }
    
    .et-rec-amount {
        font-size: 12px;
        margin-left: 8px;
    }
}

/* 小屏手机优化 (≤375px) */
@media (max-width: 375px) {
    /* 统计卡片改为垂直布局 */
    .et-summary-grid {
        grid-template-columns: 1fr;
        gap: 6px;
    }
    
    .et-sum-card {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 12px;
    }
    
    .et-sum-val {
        order: 2;
        margin-bottom: 0;
    }
    
    .et-sum-label {
        order: 1;
        justify-content: flex-start;
    }
}
.epay_payment_icon {
    width: auto;
    height: 30px;
}
.inner-card.card-neutral {
            position: relative;
            overflow: hidden; 
            background: #f8fafc;
            transition: all 0.3s ease;
}
.tier-mascot {
            position: absolute;
            right: -5px;    /* 靠右 */
            bottom: 15px; /* 稍微沉底，营造空间感 */
            height: 86px;   /* 吉祥物大小，根据实际情况微调 */
            width: auto;
            z-index: 1;     /* 处于背景层 */
            opacity: 0.85;  /* 微微透明，避免喧宾夺主 */
            pointer-events: none; /* 防止遮挡鼠标点击事件 */
            transform: translateY(-3px) rotate(-8deg);
            
            /* 柔和的悬浮动画 */
            animation: mascot-float 5s ease-in-out infinite;
            filter: drop-shadow(0 10px 15px rgba(0,0,0,0.08));
            transition: opacity 0.3s, transform 0.3s;
        }
        .inner-card.card-neutral .info-content,
        .inner-card.card-neutral .info-icon {
            position: relative;
            z-index: 2; 
        }
        @keyframes mascot-float {
            0%, 100% { transform: translateY(0) rotate(-2deg); }
            50% { transform: translateY(-6px) rotate(2deg); }
        }
