/* body{ background: #ecf0f5; font-family:'Microsoft YaHei'; font-style:normal;} */
/* 修复 Sticky Footer：确保页脚始终在底部 */
html {
    height: 100%;
}
body{ 
    background: #ecf0f5; 
    font-family:'Microsoft YaHei'; 
    font-style:normal;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
}
.container{width: 1450px !important; max-width: unset !important; margin: 0 auto;}
/* 头部 */
.header{ width: 100%; min-width: 1450px; background: #FFF;}
.header>.container{ height: 72px; background: #FFF; display: flex; justify-content: space-between; align-items: center;} 
.header>.container>.logo{ width: 110px; height: 55px; margin: 0; padding: 0;}
.header>.container>.logo>a{ display: block; text-indent: -999rem; width: 110px; height: 55px; background: url('../images/logo.png'); background-size: cover !important; background-position: 50% 50% !important;}
.header>.container>.menu{ flex: 1; display: flex; justify-content: flex-end; align-items: center; }
.header>.container>.menu>.list{ display: flex; justify-content: flex-end; align-items: center; margin: 0 10px 0 0;}
.header>.container>.menu>.list>.item{ font-size: 16px; line-height: 72px; color: #333; text-decoration: none; margin: 0 12px; position: relative;}
.header>.container>.menu>.list>.item-hov::after{ position: absolute; content: ''; left: 0; right: 0; bottom: 0; height: 4px; background: #4285F2; box-shadow: 0 -4px 8px 0 rgba(66, 133, 242, 0.6);}
.header>.container>.menu>.list>.item-hov, .header>.container>.menu>.list>.item:hover{ color: #3783FA;}
.header>.container>.menu>.link{ color: #4285F2; background: #eaf7ff; font-size: 14px; text-decoration: none; box-sizing: border-box; border: 1px solid #88baff; height: 36px; line-height: 36px; padding: 0 15px 0 30px; border-top-left-radius: 8px; border-bottom-right-radius: 8px; position: relative;}
.header>.container>.menu>.link::after{ position: absolute; content: ''; width: 18px; height: 18px; left: 8px; top: 50%; transform: translateY(-50%); background: url('../images/icon-config.png'); background-size: cover !important; background-position: 50% 50% !important;}
/* 页脚 */
.footer{ width: 100%; min-width: 1450px; background: #FFF; font-size: 14px;}
.footer>.container{ background: #FFF; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; flex-direction: column;}
.footer>.container>.link{ display: flex; justify-content: center; align-items: center; line-height: 30px;}
.footer>.container>.link>.lnk{ font-size: 14px; color: #6c757d; text-decoration: none; padding: 0 12px 0 0; margin: 0 0 0 12px; position: relative;}
.footer>.container>.link>.lnk::after{ position: absolute; content: ''; right: 0; bottom: 8px; top: 8px; width: 1px; background: #dfdfdf;}
.footer>.container>.link>.lnk:last-of-type::after{ display: none;}
.footer>.container>.link>.lnk:hover{ color: #3783FA;}
.footer>.container>.link>.license{ font-size: 14px; color: #6c757d; padding: 0 12px 0 20px;}
.footer>.container>.link>.license::before{ position: absolute; content: ''; width: 16px; height: 16px; left: 0; top: 50%; transform: translateY(-50%); background-size: cover !important; background-position: 50% 50% !important; background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkQzMkU0MUZBQzM1NzExRUZBOTQ0RTAwMDkzQTI3NUU0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkQzMkU0MUZCQzM1NzExRUZBOTQ0RTAwMDkzQTI3NUU0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDMyRTQxRjhDMzU3MTFFRkE5NDRFMDAwOTNBMjc1RTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RDMyRTQxRjlDMzU3MTFFRkE5NDRFMDAwOTNBMjc1RTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6SpIsDAAAF00lEQVR42tyYaWxUVRiG772zdFY6W2faTIF0s4stFruIptAIwSKmDSAQFKMpamqMGjd+uMWgBCGxTdxIiBEXYmLAGJRWSK2AJWmgJlKUWkptO4VOW8pMl9m32yv3e0+JJsbUf17ujz6dc9fznvf7vnMOL0kSJx88z3P/5ZCk4UyZkcHeBpmnTnQ/KTMeTWll1taVfyzTXrb8KJ5fMLrwZ0s3/xe4//nBL1RBKXr6XpmX2zuektl1vL8B7QM6mVfjBrpOZbUQlzqomYv6DCmZNatzj8ksrt90kN6nK2+9JRRUL8APJMXJ9x47KfO1Pf3Uvn09erncpCLW8deIabogcfbuGuJ5n4He8UTTDxtlvum5vPGvz70xcvF/e79yPShJ/myKyvPNX8rc2tS7SuaatfDaDuE80bPXg+urMqFgBs6HW/uIZZ+sJX6T8QDxyO5O4uHPasiTfOGGrXh/TuzWiOK45CmWOdG6t0fmliYv5bWi2iw6f7Cqi/j7B1OIWm6OmDCirwb3ImKkB54MhBPEVd9tIT7Tlk/s+/Y08atPq8fp/RlOyhIZRc/3KzuKtZE2k8xj/WZSrnusktpfqLxEDPUE0LMrs1B+mQPeuwYLxTxQTlNqJ+rODhF9n58jbtq+hLimuYR46IxIQ/Ps5mm9IqP4poL+C6coasXuj1pkzvEl7IoIYVFwDJ6aQLNGTBLFKSjH5yF6tQIoecL4zTzqG44S3TaW9pjnp0PQSJOR1oLKNPP4DQwrT8HRoe8fpCgMe6kEWE3lOJFiuSkLUeyogRJ97eM4fQ+8ZlwJppfAk+IvUD75DrzqrEC7J5KYT3aELKeBfUAPRbHf+NMOe07DG8pT0Gi0FsNj8FauiyV2XQah/Rx6et8O5Dn/z0uJJi9qL/8rZi+RYRE9j4HanajJtm2Lie++Nc3eiBEpL8MnhAcnkQUsQ9lcjhKjWJwarycFp9FUWgFlsqvdxP2HjMT6SUyMy6uhwPUuP5TrhTKmXBsqywjutwrw2sW34d33v0B2cJVj3ljmxn2+H1l0S301ysyDgjpMXQoG8M351y8Tt9YVEFs6TYjKViRC+/AVeHEFziemEZ1zTjzSkQeFnUd6iQO/wZNhroz4aIOGaPYPEEcCuM9SqNIoU0G9YUkHfXGhh9Yaogvea7wLXmpxI5r3e4uh5FUoY2cKCOkopVHmxWC+k+i1QsnDAiu1i+C9xhWI2pQ5G8rdjsqit2a3KVPBG5mMuiwFEHVjg1CutBhlcffLFcTXd9LEmmsNwktcAHmzIYJotlnQ56/bzJj9cKxScFb6++LTyJdV+VB+bICdjqHySMnQHYpSUDlDrLYkK2FaF4KAlbzRSSx+nqtJw4SzAwn75HEMySVhGXFdyR8oYHofzH/MzdIPEvTiIgz1q+uwyLrWBUaSGHKdQ4vvsGqLlLnsTIS7H6aSc3YfLTOjE0i8cV+STYdGCHkbMA1Lc+lYjfQzYDBCk1AsPQclj1tqZ/dD2eGjWPhHzQ5WGlEA9JlQ2FrwUK3asr5TucvOVKjnESphF5s/JGVisXRS9gxKnNqI6zNri9kkA4olI5jiCwbmKRu8ymtRufxdg3i+CKXTK/NwX4yjIbDcVruNFM3c3KHsZWfQF/NS3pwwkDQ6l0QKulZjwS3OQikxiOUnZ0D0qbQoYVpW0RIzIUwORlH6dMyLumxkifgMskDMGyS5Yu5ZhefB+UMjdb5C06Q7zbQbFI1gih8aQnEXmIfmxHmlUBK1lnT89uN3eASKCCb935aZsXFEs9aG6HWtzEI4a8JN7BM6lK2gMW31BprKB0/sI0VGexupx6oIhaXBjoqSYptCHI88qYrPoD2KdnMRhFHpsMGZiMKTghHtvDWTZrwpdS5ttlucg3turQ3M+aP/wEvU5cD18fvJQ8nRWtrCKHHQ6kcMSGQmnVWg0qHRw3ORgEQK6Z02Cle1o4S28/yDPvJY4YVUO7131665f9h2vvn/nwIMAEU/K9jXZxS2AAAAAElFTkSuQmCC');}
.footer>.container>.copy{ font-size: 14px; color: #6c757d; line-height: 30px; display: flex; justify-content: center; align-items: center;}
.footer>.container>.copy>.txt{ color: #373a3c; margin: 0 12px 0 0;}
.footer>.container>.copy>.lnk{ font-size: 14px; color: #6c757d; text-decoration: none; padding: 0 12px; position: relative;}
.footer>.container>.copy>.lnk::after{ position: absolute; content: ''; left: 0; bottom: 8px; top: 8px; width: 1px; background: #dfdfdf;}
/* 面包屑 */
.breadcrumb{ display: flex; justify-content: flex-start; align-items: center; height: 60px; line-height: 60px; margin: 0 !important;}
.breadcrumb>.lnk{ font-size: 14px; color: #3C404E; text-decoration: none; position: relative; padding: 0 5px; }
.breadcrumb>.lnk:hover{ color: #3783FA;}
.breadcrumb>span{ margin: 0 4px; color: #3C404E; }
.breadcrumb>.lnk:last-of-type::after{ display: none; }
.breadcrumb>.lnk.home{ padding: 0 10px 0 20px; }
.breadcrumb>.lnk.home::before{ position: absolute; content: ''; width: 16px; height: 16px; left: 0; top: 50%; transform: translateY(-50%); background: url('../images/icon-home.png'); background-size: cover !important; background-position: 50% 50% !important;}
.breadcrumb>.lnk.home:hover::before{ background: url('../images/icon-home_hov.png');}

/* .wrapper{ width: 1450px; margin: 0 auto; padding: 0 0 120px; position: relative;} */
.wrapper{ 
    width: 1450px; 
    margin: 0 auto; 
    padding: 0 0 40px; 
    position: relative;
    flex: 1; /* 让主内容区域自动占据剩余空间，将 footer 推到底部 */
}
/* 返回顶部 */
.back-top{ position: fixed; display: none; right: 50%; margin: 0 -765px 0 0; bottom: 200px; width: 40px; height: 40px; background: rgba(0, 0, 0, 0.1); border-radius: 50%; cursor: pointer;}
.back-top::after{ position: absolute; content: ''; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 18px; height: 18px; background: url('../images/icon-top.png'); background-position: 50% 50% !important; background-size: cover !important; }

.arc-main{ display: flex; justify-content: space-between; align-items: flex-start;}
.arc-main>.wrap{ width: calc(100% - 320px); min-height: 700px; background: #FFFFFF; border-radius: 6px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); box-sizing: border-box; padding: 0 15px; }
.arc-main>.wrap>.name{ height: 60px; line-height: 60px; font-size: 16px; font-weight: 600;color: #333; padding: 0 0 0 30px; position: relative;}
.arc-main>.wrap>.name::before{ position: absolute; content: ''; width: 20px; height: 20px; left: 0; top: 50%; transform: translateY(-50%); background: url('../images/icon-article.png'); background-size: cover !important; background-position: 50% 50% !important;}
.arc-main>.wrap>.name::after{ position: absolute; content: ''; left: 0; bottom: 0; width: 100%; height: 1px; background: #dfdfdf;}
/* 文章列表 */
.arc-main>.wrap>.list{}
.arc-main>.wrap>.list>.item{ padding: 20px 0; position: relative;}
.arc-main>.wrap>.list>.item::after{ position: absolute; content: ''; left: 0; bottom: 0; width: 100%; height: 1px; background: rgba(0, 0, 0, 0.06);}
.arc-main>.wrap>.list>.item>.tit{ font-size: 18px; font-weight: 600; color: #333; line-height: 40px;overflow: hidden; text-overflow: ellipsis; white-space: nowrap; height: 40px;}
.arc-main>.wrap>.list>.item>.tit>a{ color: #373a3c; text-decoration: none;}
.arc-main>.wrap>.list>.item>.tit>a:hover{ color: #3783FA;}
.arc-main>.wrap>.list>.item>.txt{ font-size: 14px; color: #6c757d; line-height: 25px; word-break: break-all; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; height: 75px; overflow: hidden;}
.arc-main>.wrap>.list>.item>.ext{ font-size: 14px; display: flex; justify-content: space-between; align-items: center; height: 40px;}
.arc-main>.wrap>.list>.item>.ext>.date{ color: #999;}
.arc-main>.wrap>.list>.item>.ext>.link{ font-size: 14px; color: #3783FA; text-decoration: none;}
/* 文章详情 */
.arc-main>.wrap>.arcs>.hd{ position: relative; padding: 20px 0 0;}
.arc-main>.wrap>.arcs>.hd::after{ position: absolute; content: ''; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.06); height: 1px;}
.arc-main>.wrap>.arcs>.hd>.name{ font-size: 20px; line-height: 30px; margin: 0 0 5px; color: #333;}
.arc-main>.wrap>.arcs>.hd>.date{ font-size: 14px; line-height: 40px; color: #999;}
.arc-main>.wrap>.arcs>.bd{ padding: 30px 0; color: #666;}
.arc-main>.wrap>.arcs>.bd p{ line-height: 28px; font-size: 16px; margin: 0 0 10px;}
.arc-main>.wrap>.arcs>.bd img{ max-width: 100%; display: block; margin: 20px 0;}
/* 分类导航  */
.arc-main>.menu{ width: 300px; background: #FFFFFF; border-radius: 6px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); box-sizing: border-box; padding: 0 15px; }
.arc-main>.menu>.name{ height: 60px; line-height: 60px; font-size: 16px; font-weight: 600;color: #333; padding: 0 0 0 30px; position: relative;}
.arc-main>.menu>.name::before{ position: absolute; content: ''; width: 20px; height: 20px; left: 0; top: 50%; transform: translateY(-50%); background: url('../images/icon-category.png'); background-size: cover !important; background-position: 50% 50% !important;}
.arc-main>.menu>.name::after{ position: absolute; content: ''; left: 0; bottom: 0; width: 100%; height: 1px; background: #dfdfdf;}
.arc-main>.menu>.list{ padding: 10px 0;}
.arc-main>.menu>.list>.item{ height: 40px; line-height: 40px; font-size: 16px; padding: 0 0 0 20px; position: relative;}
.arc-main>.menu>.list>.item>a{ text-decoration: none; color: #6c757d; }
.arc-main>.menu>.list>.item::before{ position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 4px; border-radius: 6px; background: #FFF; border: 1px solid #4285F2; }
.arc-main>.menu>.list>.item-hov::before{ background: #4285F2;}
.arc-main>.menu>.list>.item:hover>a, .arc-main>.menu>.list>.item-hov>a{ color: #3783FA;}
/* 通用分页 */
.comm-page{ padding: 40px 0; display: flex; justify-content: flex-end; align-items: center;}
.comm-page>.page-item{ min-width: 50px; height: 50px; line-height: 50px; text-decoration: none; font-size: 16px; margin: 0 6px; text-align: center; color: #2a2a2a; background: #e2e2e2; border-radius: 50px; -webkit-border-radius: 50px; -moz-border-radius: 50px; -ms-border-radius: 50px; -o-border-radius: 50px; }
.comm-page>.page-item:last-of-type{ margin: 0 0 0 6px;}
.comm-page>.current, .comm-page>.active, .comm-page>.page-item:hover{ color: #FFF; background: #4285F2; }
.comm-page>.disabled{ color: #999; background: #f5f5f5; cursor: not-allowed; pointer-events: none; }
.comm-page>.page-prev, .comm-page>.page-next{ position: relative; text-indent: -999rem; }
.comm-page>.page-prev::after, .comm-page>.page-next::after{ width: 20px; height: 20px; position: absolute; content: ''; background-size: cover !important; background-position: 50% 50% !important; left: 50%; top: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); }
.comm-page>.page-prev::after{ background: url('../images/page-prev.png');}
.comm-page>.page-next::after{ background: url('../images/page-next.png');}
.comm-page>.page-prev:hover::after{ background: url('../images/page-prev_hov.png');}
.comm-page>.page-next:hover::after{ background: url('../images/page-next_hov.png');}
.comm-page>.disabled.page-prev:hover::after{ background: url('../images/page-prev.png');}
.comm-page>.disabled.page-next:hover::after{ background: url('../images/page-next.png');}
.comm-wrap{ width: 1430px; margin: 0 auto; overflow: hidden;}


/* 表单块 */
.frm-wrap{ margin: 0 0 20px; background: #FFF; padding: 5px 15px; border-radius: 12px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);}
.frm-wrap>.hd{ display: flex; justify-content: space-between; align-items: center; padding: 10px 0; margin: 0 auto;}
.frm-wrap>.hd>.in-txt{ margin: 0 20px 0 0; position: relative;}
.frm-wrap>.hd>.in-txt>.frm-item_txt{ background: #F6F7F9; height: 40px; line-height: 40px; font-size: 14px; padding: 0 15px; border: 0; box-sizing: border-box; border-radius: 4px; outline: 0;}

/* 历史搜索下拉框 */
.search-history-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 5px;
    background: #FFFFFF;
    border: 1px solid #E6E6E6;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    max-height: 520px;
    overflow-y: auto;
}

.search-history-empty {
    padding: 30px 15px;
    text-align: center;
    color: #999;
    font-size: 13px;
}

.search-history-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    border-bottom: 1px solid #F5F5F5;
    cursor: pointer;
    transition: background-color 0.2s;
}

.search-history-item:first-child {
    border-radius: 8px 8px 0 0;
}

.search-history-item:last-child {
    border-bottom: none;
    border-radius: 0 0 8px 8px;
}

.search-history-item:only-child {
    border-radius: 8px;
}

.search-history-item:hover {
    background: #F8F9FA;
}

.search-history-item.pinned {
    background: #FFF9E6;
}

.search-history-item.pinned:hover {
    background: #FFF5D6;
}

.search-history-item .keyword {
    flex: 1;
    font-size: 14px;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-history-item .actions {
    display: flex;
    gap: 8px;
    margin-left: 10px;
}

.search-history-item .actions a {
    font-size: 16px;
    text-decoration: none;
    opacity: 0.6;
    transition: opacity 0.2s, transform 0.2s;
    cursor: pointer;
}

.search-history-item .actions a:hover {
    opacity: 1;
    transform: scale(1.2);
}

.search-history-item .pin-btn {
    color: #FFA502;
}

.search-history-item.pinned .pin-btn {
    opacity: 1;
}

.search-history-item .del-btn {
    color: #FF4757;
}

/* DNS服务器下拉框 */
.dns-server-dropdown {
    display: none;
    position: absolute;
    background: #FFFFFF;
    border: 1px solid #E6E6E6;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    z-index: 10000;
    max-height: 240px;
    overflow-y: auto;
}

.dns-server-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px;
    border-bottom: 1px solid #F5F5F5;
    cursor: pointer;
    transition: background-color 0.2s;
}

.dns-server-item:first-child {
    border-radius: 6px 6px 0 0;
}

.dns-server-item:last-child {
    border-bottom: none;
    border-radius: 0 0 6px 6px;
}

.dns-server-item:only-child {
    border-radius: 6px;
}

.dns-server-item:hover {
    background: #F8F9FA;
}

.dns-server-item .dns-name {
    font-size: 12px;
    color: #999;
    min-width: 60px;
}

.dns-server-item .dns-ip {
    font-size: 13px;
    color: #333;
    font-weight: 500;
    font-family: 'Courier New', monospace;
}

.frm-wrap>.hd>.in-lnk{ display: flex; justify-content: flex-start; align-items: center;}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk{ display: block; min-width: 120px; border: 0; height: 40px; line-height: 40px; font-size: 14px; padding: 0 15px 0 35px; margin: 0 0 0 15px; border-radius: 6px; position: relative; transition: all .2s ease-in-out;}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk:hover{ transform: translateY(-3px);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk::after{ position: absolute; content: ''; left: 10px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; background-position: 50% 50% !important; background-size: cover !important;}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk:first-of-type{ margin: 0;}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__primary{ color: rgb(255, 255, 255); background: linear-gradient(90deg, rgb(0, 110, 255) 0%, rgb(19, 173, 255) 100%);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__primary::after{ background: url('../images/icon-btn_1.png');}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__secondary{ color: rgb(255, 255, 255); background: linear-gradient(90deg, rgb(50, 204, 255) 0%, rgb(0, 225, 56) 100%);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__secondary::after{ background: url('../images/icon-btn_2.png');}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__advance{ color: rgb(255, 255, 255); background: linear-gradient(90deg, rgb(255, 147, 0) 0%, rgb(255, 80, 0) 100%);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__advance::after{ background: url('../images/icon-btn_3.png');}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__screen{ color: rgb(255, 255, 255); background: linear-gradient(90deg, rgb(103, 114, 255) 0%, rgb(0, 249, 229) 100%);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__screen::after{ background: url('../images/icon-btn_4.png');}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__shoot{ color: rgb(255, 255, 255); background: linear-gradient(90deg, rgb(22, 119, 255) 0%, rgb(26, 87, 255) 100%);}
.frm-wrap>.hd>.in-lnk>.frm-item_lnk__shoot::after{ background: url('../images/icon-btn_5.png');}
.frm-wrap>.hd>.in-lnk>.frm-item_sel{ width: 120px; border: 0; height: 40px; line-height: 38px; border: 1px solid #88baff; font-size: 14px; margin: 0 0 0 15px; border-radius: 4px; user-select: none; cursor: pointer; position: relative;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>span{ display: flex; justify-content: center; align-items: center; color: #4285F2; position: relative;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>span::after{ position: relative; content: ''; width: 12px; height: 12px; margin: 0 0 0 10px; background: url('../images/icon-down.png'); background-size: cover !important; background-position: 50% 50% !important;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>.drop-menu{ position: absolute; top: 100%; left: 0; width: 100%; background: #FFF; margin: 4px 0 0; border: 1px solid #88baff; border-radius: 4px; box-sizing: border-box; padding: 5px; display: none; z-index: 2;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>.drop-menu>.item{ line-height: 36px; font-size: 14px; display: flex; justify-content: center; align-items: center;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>.drop-menu>.item>a{ flex: 1; text-align: center;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>.drop-menu>.item:hover{ background: #4285F2; color: #FFF; border-radius: 4px;}
.frm-wrap>.hd>.in-lnk>.frm-item_sel>.drop-menu>.item:hover>a{ color: #FFF;}

.frm-wrap>.hd>.in-lnk>.frm-item_ext{ user-select: none; cursor: pointer; position: relative;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext:hover{ transform: none;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>span{ display: flex; justify-content: center; align-items: center; color: #FFF;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>.drop-menu{ position: absolute; top: 100%; left: 0; width: 100%; background: #FFF; margin: 4px 0 0; border: 1px solid #88baff; border-radius: 4px; box-sizing: border-box; padding: 5px; display: none; z-index: 2;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>.drop-menu>.item{ line-height: 36px; font-size: 14px; display: flex; justify-content: space-between; align-items: center;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>.drop-menu>.item>a{ flex: 1; text-align: center;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>.drop-menu>.item:hover{ background: #4285F2; color: #FFF; border-radius: 4px;}
.frm-wrap>.hd>.in-lnk>.frm-item_ext>.drop-menu>.item:hover>a{ color: #FFF;}



.frm-wrap>.ft{ padding: 10px 0; display: flex; justify-content: space-between; align-items: center; margin: 0 auto;}
.frm-wrap>.ft>.in-chk{ display: flex; justify-content: flex-start; align-items: center;}
.frm-wrap>.ft>.in-chk>.frm-item_chk{ margin: 0 15px 0 0; display: flex; justify-content: flex-start; align-items: center;}
.frm-wrap>.ft>.in-chk>.frm-item_chk>.form-check-label{ line-height: 30px; color: #3C404E; font-size: 14px; padding: 0 0 0 8px; cursor: pointer; user-select: none;}
.frm-wrap>.ft>.in-chk>.frm-item_chk>.form-check-input{ margin: 0; width: 18px; height: 18px; cursor: pointer;}
.frm-wrap>.ft>.in-chk>.frm-item_txt{ background: #FFF; outline: 0; height: 36px; line-height: 36px; font-size: 14px; border: 1px solid #E6E6E6; padding: 0 5px; width: 200px; position: relative;}
.frm-wrap>.ft>.in-chk>.frm-item_txt:disabled{ background: rgba(0, 0, 0, 0.1);}
.frm-wrap>.bd{ display: none; padding: 10px; background-color: #F6F7F9; border: 1px solid #d8dbe6; margin: 0 auto;}
.frm-wrap>.bd>.line{ padding: 5px 0; display: flex;justify-content: space-between; align-items: center;}
.frm-wrap>.bd>.line>.lab{ width: 90px; font-size: 14px; text-align: right; line-height: 40px; color: rgba(0, 0, 0, 0.8); padding: 0 10px 0 0;}
.frm-wrap>.bd>.line>.lab::after{ position: relative; content: ':';}
.frm-wrap>.bd>.line>.inf{ flex: 1; display: flex; justify-content: flex-start; align-items: center;}
.frm-wrap>.bd>.line>.inf>.frm-item_txt{ background: #FFF; outline: 0; height: 36px; line-height: 36px; font-size: 14px; border: 1px solid #E6E6E6; padding: 0 5px;}
.frm-wrap>.bd>.line>.inf>.frm-item_txt__w100{ width: 100%;}
.frm-wrap>.bd>.line>.inf>.frm-item_txt__mini{ width: 180px;}
.frm-wrap>.bd>.line>.inf>.frm-item_chk{ margin: 0 15px 0 0;}
.frm-wrap>.bd>.line>.inf>.frm-item_chk>.form-check-input{ width: 18px; height: 18px; cursor: pointer;}
.frm-wrap>.bd>.line>.inf>.frm-item_chk>.form-check-label{ cursor: pointer; font-size: 14px; padding: 0 0 0 8px; user-select: none;}
.frm-wrap>.bd>.line>.inf>.tips{ margin: 0 0 0 15px; padding: 0 0 0 20px; line-height: 36px; position: relative; font-size: 14px; color: rgba(0, 0, 0, 0.4);}
.frm-wrap>.bd>.line>.inf>.tips::after{ position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; background: url('../images/icon-tips.png'); background-position: 50% 50% !important; background-size: cover !important;}
 

/* 列布局 */
.sec-cols{ display: flex; justify-content: flex-start; align-items: flex-start; margin: 0 -10px;}
.sec-cols>.col-item{ flex: 0 0 50%; -ms-flex: 0 0 50%; max-width: 50%; box-sizing: border-box; padding: 0 10px;}
.sec-cols>.col-item>.box{ background: #FFF; height: 550px; padding: 0 15px; border-radius: 12px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);}
.sec-cols>.col-item>.box>.res-cn{ position: relative; display: flex; justify-content: space-between; align-items: center; padding: 4px 0;}
.sec-cols>.col-item>.box>.res-cn::before{ position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; background: url('../images/icon-region.png'); background-position: 50% 50% !important; background-size: cover !important;}
.sec-cols>.col-item>.box>.res-cn>.tabs{ padding: 10px 0; display: flex; justify-content: flex-start; align-items: center; margin: 0 0 0 25px;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item{ display: flex; justify-content: center; align-items: center; line-height: 30px; margin: 0 24px 0 0; user-select: none; cursor: pointer;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item:first-of-type{ margin: 0 24px 0 5px;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item>.txt{ color: #17235A; font-size: 14px;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item:hover>.txt{ color: #1A58FF;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item>.num{ background: #ffefe3; border: 1px solid #f18229; color: #e9640b; font-size: 12px; line-height: 20px; margin: 0 0 0 10px; padding: 0 6px; border-top-left-radius: 4px; border-bottom-right-radius: 4px;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item-hov>.txt{ color: #1A58FF; font-weight: 600; position: relative;}
.sec-cols>.col-item>.box>.res-cn>.tabs>.item-hov>.txt::after{ position: absolute; content: ''; left: 0; bottom: 0; right: 0; height: 2px; background: #1A58FF;}
.sec-cols>.col-item>.box>.res-cn>.exts{ display: flex; justify-content: flex-end; align-items: center;}
.sec-cols>.col-item>.box>.res-cn>.exts>.num{ background: #eaf7ff; border: 1px solid #88baff; color: #3783FA; font-size: 12px; line-height: 20px; padding: 0 6px; border-top-left-radius: 4px; border-bottom-right-radius: 4px;}
.sec-cols>.col-item>.box>.res-cn>.exts>.txt{ color: #373a3c; font-size: 12px; padding: 0 6px; line-height: 20px;}
.sec-cols>.col-item>.box>.res-cn>.exts>.res{ width: 50px; color: rgba(51, 51, 51, 0.6); font-size: 12px; padding: 0 0 0 6px; line-height: 20px; text-align: center;}
/* 进度条基础样式 */
.sec-cols>.col-item>.box>.res-cn>.exts>.bar{ width: 160px; height: 8px; background-color: #e0e0e0; border-radius: 4px; overflow: hidden; position: relative;}
/* 进度条当前进度样式 */
.sec-cols>.col-item>.box>.res-cn>.exts>.bar>.cur{ height: 100%; background: linear-gradient(90deg, #4CAF50 0%, #45a049 100%); border-radius: 4px; transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden;}
/* 进度条动画效果 */
.sec-cols>.col-item>.box>.res-cn>.exts>.bar>.cur::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%); animation: shimmer 2s infinite;}
/* 进度条闪烁动画 */
@keyframes shimmer{ 0% { left: -100%;} 100% { left: 100%; } }
/* 进度条加载动画 */
.sec-cols>.col-item>.box>.res-cn>.exts>.bar-loading>.cur{ animation: progress-pulse 1.5s ease-in-out infinite;}
@keyframes progress-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7;} }
/* 进度条完成时的动画效果 */
.sec-cols>.col-item>.box>.res-cn>.exts>.bar-completed>.cur{ animation: progress-complete 0.6s ease-out; }
@keyframes progress-complete { 0% { transform: scaleX(1);} 50% { transform: scaleX(1.05);} 100% { transform: scaleX(1);} }
.sec-cols>.col-item>.box>.res-cn>.exts>.bar-error>.cur{ background: linear-gradient(90deg, #f44336 0%, #d32f2f 100%);}
.sec-cols>.col-item>.box>.res-bd>.table-th.table-tr{ height: 40px; line-height: 40px;}
.sec-cols>.col-item>.box>.res-bd>.table-tr{ min-height: 36px; height: 36px; line-height: 36px;}



.sec-wrap{ background: #FFFFFF; border-radius: 12px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); box-sizing: border-box; margin: 20px 0 0; padding: 0 15px;}
/* 解析统计 */
.ips-hd{ height: 60px; line-height: 60px; position: relative; display: flex; justify-content: flex-start; align-items: center;}
.ips-hd::before{ position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; background: url('../images/icon-analysis.png'); background-position: 50% 50% !important; background-size: cover !important;}
.ips-hd>.name{ padding: 0 0 0 25px; font-size: 16px; font-weight: 600; color: #17235A;}
.ips-hd>.text{ background: #eaf7ff; border: 1px solid #88baff; color: #3783FA; font-size: 12px; line-height: 20px; margin: 0 10px; padding: 0 6px; border-top-left-radius: 4px; border-bottom-right-radius: 4px;}
.ips-hd>.copy{ background: #ffefe3; border: 1px solid #f18229; color: #e9640b; font-size: 12px; line-height: 20px; padding: 0 6px; border-top-left-radius: 4px; border-bottom-right-radius: 4px; cursor: pointer;}
.ips-hd>.flag{ position: absolute; right: 15px; width: 40px; height: 20px; line-height: 20px; font-size: 12px; cursor: pointer; user-select: none;}
.ips-hd>.flag::after{ position: absolute; content: ''; right: 0; top: 50%; transform: translateY(-50%) rotate(90deg); width: 16px; height: 16px; background: url('../images/page-next.png'); background-position: 50% 50% !important; background-size: cover !important; transition: all .2s ease-in-out;}
.ips-hd>.flag-hov::after{ transform: translateY(-50%) rotate(0deg);}
.ips-bd{ padding: 0 0 20px; display: flex; flex-wrap: wrap; margin: -16px -8px 0;}
.ips-bd>.item{ flex: 0 0 16.6666%; -ms-flex: 0 0 16.6666%; max-width: 16.6666%; box-sizing: border-box; margin: 16px 0 0; padding: 0 8px; }
.ips-bd>.item>.box{ background: #F6F7F9; border: 1px solid #F6F7F9; height: 45px; line-height: 43px; font-size: 14px; padding: 0 15px; border-radius: 6px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; user-select: none; transition: all .2s ease-in-out; box-sizing: border-box; }
.ips-bd>.item>.box:hover, .ips-bd>.item-hov>.box{ background: #e8f4fd; border: 1px solid #91d5ff; box-shadow: 0 0 6px rgba(145, 213, 255, 0.1);}
.ips-bd>.item>.box>.lab{ color: #373a3c;}
.ips-bd>.item>.box>.val{ color: #3783FA;}
.ips-bd_hide{ display: none;}

/* 测速结果 */
.res-hd{ height: 60px; line-height: 60px; position: relative; display: flex; justify-content: flex-start; align-items: center;}
.res-hd::before{ position: absolute; content: ''; left: 0; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; background: url('../images/icon-result.png'); background-position: 50% 50% !important; background-size: cover !important;}
.res-hd>.name{ padding: 0 25px; font-size: 16px; font-weight: 600; color: #17235A;}
.res-hd>.tabs{ display: flex; justify-content: flex-start; align-items: center;}
.res-hd>.tabs>.item{ display: flex; justify-content: center; align-items: center; padding: 0 12px; line-height: 40px; cursor: pointer; user-select: none;}
.res-hd>.tabs>.item:hover>.txt{ color: #1A58FF;}
.res-hd>.tabs>.item:first-of-type{ padding: 0 12px 0 8px;}
.res-hd>.tabs>.item>.txt{ color: #17235A; font-size: 14px;}
.res-hd>.tabs>.item>.num{ background: #ffefe3; border: 1px solid #f18229; color: #e9640b; font-size: 12px; line-height: 20px; margin: 0 0 0 10px; padding: 0 6px; border-top-left-radius: 4px; border-bottom-right-radius: 4px;}
.res-hd>.tabs>.item-hov>.txt{ color: #1A58FF; position: relative;}
.res-hd>.tabs>.item-hov>.txt::after{ position: absolute; content: ''; left: 0; bottom: 0; right: 0; height: 2px; background: #1A58FF;}

.res-bd{ padding: 0 0 20px;}
.res-bd>.table-tr{ font-size: 14px; min-height: 45px; line-height: 45px; position: relative; display: flex; justify-content: space-between; align-items: center;}
.res-bd>.table-tr::after{ position: absolute; content: ''; left: 0; right: 0; bottom: 0; height: 1px; background: #f0f0f0;}
.res-bd>.table-tr:first-of-type::after{ display: none;}
.res-bd>.table-tr:hover{ background: #eef6fc;}
.res-bd>.table-tr>.td{ color: #373a3c; flex: 1; box-sizing: border-box; display: flex; justify-content: center; align-items: center; padding: 0 10px;}
.res-bd>.table-tr>.td>.lab{ font-size: 12px; height: 20px; line-height: 18px; margin: 0 6px 0 0; padding: 0 10px; border-width: 1px; border-style: solid; border-top-left-radius: 6px; border-bottom-right-radius: 6px;}
.lab-telecom{
    /*background: #eaf7ff;*/
    /*border-color: #88baff; */
    /*color: #3783FA;*/
    background: #3473f4;
    border-color: #3473f4;
    color: #fff;
}
.lab-unicom{
    /*background: #ffeded;*/
    /*border-color: #ffb5c9;*/
    /*color: #EE6772;*/
    background: #D40601CB;
    border-color: #D40601CB;
    color: #fff;
}
.lab-mobile{
    /*background: #e6ffec;*/
    /*border-color: #64df85;*/
    /*color: #63B060;*/
    background: #0085d0;
    border-color: #0085D0BD;
    color: #fff;
}
.lab-overseas{
    /*background: #ebebeb; */
    /*border-color: #cdcdcd; */
    /*color: #999999;*/
    background: #666666DF;
    border-color: #666666DF;
    color: #fff;
}
.res-bd>.table-tr>.td>.txt{ flex: 1; text-align: center;}
.res-bd>.table-tr>.td>.ico{ object-fit: cover; width: 200px; height: 20px; }
.res-bd>.table-tr>.td>.lnk{ color: #3783FA; text-decoration: none;}
.res-bd>.table-tr>.td-nodes{ justify-content: flex-start; width: 160px; flex: 0 0 160px;}
.res-bd>.table-tr>.td-nodes>.txt{ text-align: left;}
.res-bd>.table-tr>.td-hosts{ width: 140px; flex: 0 0 140px; position: relative;}
.res-bd>.table-tr>.td-hosts>.txt{ flex: 0 1 auto; padding: 0;}
.res-bd>.table-tr>.td-hosts>.opt{ width: 28px; height: 28px; text-align: center; line-height: 28px; border: 1px solid #4285F2; user-select: none; cursor: pointer; right: -5px; position: absolute; display: none;}
.res-bd>.table-tr>.td-hosts>.opt::after{ position: absolute; content: ''; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 20px; height: 20px; background: url('../images/icon-link.png'); background-position: 50% 50% !important; background-size: cover !important;}
.res-bd>.table-tr>.td-hosts>.opt>.group{ display: none; position: absolute; top: 100%; left: -1px; width: 120px; border: 1px solid #4285F2; background: #FFF; z-index: 2;}
.res-bd>.table-tr>.td-hosts>.opt>.group>.item{ line-height: 30px; text-align: left; font-size: 12px; font-size: 14px; user-select: none; padding: 0 5px;}
.res-bd>.table-tr>.td-hosts>.opt>.group>.item:hover{ background: #eef6fc;}
.res-bd>.table-tr>.td-hosts>.opt>.group>.item>a{ color: #373a3c;}
.res-bd>.table-tr>.td-hosts>.opt>.group>.item:hover>a{ color: #1A58FF;}

/*td td-local*/
.res-bd>.table-tr>.td-local{ width: 150px; flex: 0 0 150px;}

/*td  td-ad*/
.res-bd>.table-tr>.td-ad{ width: 200px; flex: 0 0 200px;}
.res-bd>.table-tr>.td-ad>.txt{ text-align: center;}
.res-bd>.table-tr>.td-ad>.txt>a{ color: #007bff; text-decoration: none; font-size: 14px;}
.res-bd>.table-tr>.td-ad>.txt>a:hover{ color: #0056b3; text-decoration: underline;}

/* Table样式 - 完全复制原有div布局的外观 */
.ping-results-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    table-layout: fixed;

}

.ping-results-table thead tr {
    background: #E6F0FF;
    font-weight: 600;
    border-radius: 6px;
    display: table-row;
}

.ping-results-table thead th {
    padding: 0 10px;
    text-align: center;
    border: none;
    color: #333;
    font-weight: 600;
    background: #E6F0FF;
    height: 45px;
    line-height: 45px;
    position: relative;
    vertical-align: middle;
}

.ping-results-table thead th:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.ping-results-table thead th:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.ping-results-table tbody tr {
    min-height: 45px;
    position: relative;
    transition: background-color 0.2s ease;
}

.ping-results-table tbody tr:hover {
    background: #eef6fc !important;
}

.ping-results-table tbody tr::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #f0f0f0;
}

.ping-results-table tbody td {
    padding: 0 10px;
    border: none;
    text-align: center;
    color: #373a3c;
    vertical-align: middle;
    height: 45px;
    line-height: 45px;
    box-sizing: border-box;
    position: relative; /* 让 .opt 的绝对定位以单元格为参照 */
}

/* IP单元格使用flex布局 */
.ping-results-table .ip-cell {
    padding: 0 !important;
}

.ping-results-table .ip-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 45px;
    padding: 0 10px;
    position: relative;
}

.ping-results-table .ip-text {
    flex: 1;
    text-align: center;
    padding-right: 10px; /* 给工具按钮留出一些间距 */
    /* 完整显示IP，不省略，依赖列宽控制 */
}

/* 工具按钮固定在右侧 */
.ping-results-table .ip-content .opt {
    flex-shrink: 0; /* 防止被压缩 */
    position: relative; /* 改为相对定位，不再绝对定位 */
    right: auto;
    top: auto;
    transform: none;
    margin-left: auto; /* 自动推到最右侧 */
}

/* 运营商标签样式 */
.ping-results-table .lab {
    font-size: 12px;
    height: 20px;
    line-height: 18px;
    margin-right: 6px;
    padding: 0 10px;
    border-width: 1px;
    border-style: solid;
    border-top-left-radius: 6px;
    border-bottom-right-radius: 6px;
    display: inline-block;
}

/* IP单元格使用flex布局，让内容居中对齐 */
.ping-results-table td[id^="ip_"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;  /* IP和工具按钮之间的间距 */
    padding-right: 10px !important;  /* 覆盖内联样式，减少右边距 */
}

/* 操作菜单样式 */
.ping-results-table .opt {
    width: 22px;
    height: 22px;
    text-align: center;
    line-height: 22px;
    border: 1px solid #4285F2;
    user-select: none;
    cursor: pointer;
    position: relative;  /* 改为相对定位 */
    display: none;
    background: #FFF;
    z-index: 1000;
    border-radius: 3px; /* 圆角弱化 */
    flex-shrink: 0;  /* 防止被压缩 */
}

/* 纯CSS控制齿轮显示 - 避免JavaScript事件监听导致的卡顿 */
/* 当鼠标悬停在行上，或者悬停在齿轮自身（包括子菜单）时，显示齿轮 */
.ping-results-table tbody tr:hover .opt,
.ping-results-table .opt:hover {
    display: block !important;
}

/* 当IP还在loading时（包含sr-only的span），不显示齿轮，避免卡顿 */
.ping-results-table tbody tr:has([id^="ip_"] .sr-only):hover .opt {
    display: none !important;
}

/* 兼容不支持:has()的浏览器：直接在loading的行上禁用齿轮 */
.ping-results-table tbody tr[data-loading="true"]:hover .opt {
    display: none !important;
}

.ping-results-table .opt::after {
    position: absolute;
    content: '\F0EE';  /* Font Awesome gear icon (工具图标) */
    font-family: "remixicon";
    font-weight: 900;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
    /*color: #1296db;*/
    color: #373a3c;
}

/* Table中的group菜单样式 - 简化样式，去掉!important */
.ping-results-table .opt .group {
    display: none;
    position: absolute;
    top: 100%;
    left: -1px;
    width: 150px;                 /* 宽一点更易点击 */
    border: 1px solid #4285F2;
    background: #FFF;
    z-index: 1001;                /* 高于 .opt */
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    pointer-events: auto;         /* 确保可点击 */
    border-radius: 6px;           /* 圆角 */
    overflow: hidden;             /* 圆角裁切 */
}

.ping-results-table .opt .group .item {
    line-height: 32px;
    text-align: left;
    font-size: 14px;
    user-select: none;
    padding: 0 10px 0 28px;       /* 预留左侧图标位 */
    background: #FFF;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    position: relative;           /* 放置前置图标 */
}

.ping-results-table .opt .group .item:last-child {
    border-bottom: none;
}

.ping-results-table .opt .group .item:hover {
    background: #eaf4ff;          /* 更接近截图的浅蓝 */
}

.ping-results-table .opt .group .item a {
    /*color: #1A58FF;               !* 默认蓝色文字 *!*/
    color: #373a3c;
    text-decoration: none;
    display: block;
    width: 100%;
    height: 100%;
}
.ping-results-table .opt .group .item:hover a {
    color: #1A58FF;               /* 悬停保持蓝色 */
}

/* 菜单项左侧图标 */
.ping-results-table .opt .group .item::before {
    content: '\f035';  /* Font Awesome globe icon (网络图标) */
    /*font-family: "Font Awesome 7 Free";*/
    font-family: "remixicon";
    font-weight: 900;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    /*color: #1296db;*/
    /*color: #000000;*/
    color: #373a3c;
}

/* 最后一项"IP属地纠错"使用禁用风格与图标 */
.ping-results-table .opt .group .item:last-child a {
    /*color: #1A58FF;*/
    color: #373a3c;
}
.ping-results-table .opt .group .item:last-child::before {
    /*content: '\f06a';  !* Font Awesome circle-exclamation icon (感叹号图标) *!*/
    /*font-family: "Font Awesome 7 Free";*/

    content: '\ECA1';  /* Font Awesome gear icon (工具图标) */
    font-family: "remixicon";
    font-weight: 900;
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    /*color: #1A58FF;*/
    color: #373a3c;
}
.ping-results-table .opt .group .item:last-child:hover a {
    color: #1A58FF;
}

.ping-results-table .opt .group .item:hover a {
    color: #1A58FF;
}

.res-bd>.table-tr>.td-state{ width: 52px; flex: 0 0 52px;}
.res-bd>.table-tr>.td-timer{ width: 100px; flex: 0 0 100px;}
.res-bd>.table-tr>.td-redirect{ width: 140px; flex: 0 0 140px;}
.res-bd>.table-tr>.td-domain{ width: 200px; flex: 0 0 200px;}
.res-bd>.table-tr>.td-domain>.txt{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.res-bd>.table-tr>.td-record{ width: 200px; flex: 0 0 200px;}
.res-bd>.table-tr>.td-record>.rec{ line-height: 20px; font-size: 14px; padding: 10px 0;}

.res-bd>.table-th{ font-weight: 600; background: #E6F0FF; border-radius: 6px;}
.res-bd>.table-th:hover{ background: #E6F0FF !important;}
.res-bd>.table-th>.td{ color: #333;}
.res-bd>.table-th>.td-nodes{ justify-content: center;}
.res-bd>.table-th>.td-nodes>.txt{ text-align: center;}

.res-bd>.ex-header{ background: rgba(238, 246, 252, 0.4); padding: 10px; position: relative; font-size: 14px; line-height: 1.5;}
.res-bd>.ex-header>p{ padding: 0 0 15px;}
.res-bd>.ex-header>p:last-of-type{ padding: 0;}
.res-bd>.ex-header::after{ position: absolute; content: ''; left: 0; right: 0; bottom: 0; height: 1px; background: #f0f0f0;}

/* 路由最终 */
.rou-hd{ display: flex; justify-content: flex-start; align-items: center;} 
.rou-hd>.item{ margin: 0 10px 0 0; line-height: 60px; font-size: 16px; display: flex; justify-content: flex-start; align-items: center;}
.rou-hd>.item>.lab{ color: #17235A; position: relative; font-weight: 600;}
.rou-hd>.item>.lab::after{ position: relative; content: '：'; font-weight: 500;}
.rou-hd>.item>.txt{ color: #1A58FF;}
.rou-hd>.item-ad{ margin-left: auto; margin-right: 0;}

.dom-config{ padding: 28px 30px 0; background: #ecf0f5;}
.dom-config>.info{ border: 1px dotted rgb(0, 110, 255); padding: 15px 15px 15px 90px; position: relative;}
.dom-config>.info::before{ position: absolute; content: ''; left: 15px; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; background: rgb(255, 255, 255);}
.dom-config>.info::after{ position: absolute; content: ''; left: 15px; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; background: url('../images/icon-mark.png'); background-position: 50% 50% !important; background-size: cover !important;}
.dom-config>.info>.hd{ line-height: 30px; color: #333; font-weight: 600;}
.dom-config>.info>.bd{ display: flex; justify-content: flex-start; align-items: center;}
.dom-config>.info>.bd>.bd-item_chk{ margin: 0 15px 0 0; display: flex; justify-content: flex-start; align-items: center;}
.dom-config>.info>.bd>.bd-item_chk>.form-check-label{ line-height: 30px; color: #3C404E; font-size: 14px; padding: 0 0 0 8px; cursor: pointer; user-select: none;}
.dom-config>.info>.bd>.bd-item_chk>.form-check-input{ margin: 0; width: 18px; height: 18px; cursor: pointer;}
.dom-config>.link{ height: 60px; display: flex; justify-content: center; align-items: center;}
.dom-config>.link>.link-item{ margin: 0 10px; background: rgba(0, 110, 255, 0.7); border: 0; height: 32px; line-height: 32px; font-size: 14px; padding: 0 15px; border-radius: 0; color: #FFF;}

.dom-encrypt{ filter: blur(6px) !important; -webkit-filter: blur(6px) !important; user-select: none !important; pointer-events: none !important; transition: filter 0.3s ease !important;}

/* 首页主体 */
.home{ padding: 40px 0; }
/* 首页工具 */


/* 首页工具 */
.t-list{
    display: flex;
    flex-wrap: wrap;
    margin: -15px -10px 0;
}
.t-list>.item{
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    box-sizing: border-box;
    padding: 0 10px;
    margin: 15px 0 0;
}
.t-list>.item>.link{
    padding: 0;
    display: block;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0, 0, 0, 0.03);
    overflow: hidden;
    height: 100%;
}
.t-list>.item>.link:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}
.t-list>.item>.link>.hd{
    position: relative;
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.t-list>.item>.link>.hd::after{
    position: absolute;
    content: '';
    right: 20px;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #4361ee, #4cc9f0);
    border-radius: 50%;
    opacity: 0.1;
}
.t-list>.item>.link>.hd>.name{
    font-size: 18px;
    line-height: 70px;
    color: #2d3748;
    font-weight: 600;
    position: relative;
    z-index: 1;
}
.t-list>.item>.link>.hd>.exts{
    font-size: 11px;
    line-height: 24px;
    padding: 0 8px;
    border-radius: 12px;
    font-weight: 500;
}
.t-list>.item>.link>.hd>.exts-v4{
    background: rgba(70,128,255,.15);
    color: #4680ff;
    border: 1px solid rgba(70,128,255,0.2);
}
.t-list>.item>.link>.hd>.exts-v6{
    background: rgba(255, 186, 87, .15);
    color: #ff9600;
    border: 1px solid rgba(255, 186, 87, 0.2);
}
.t-list>.item>.link>.hd>.exts-free{
    background: rgb(255 135 135 / 15%);
    color: #ff4757;
    border: 1px solid rgba(255, 135, 135, 0.2);
}
.t-list>.item>.link>.bd{
    padding: 20px;
}
.t-list>.item>.link>.bd>p{
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 12px;
    position: relative;
    padding-left: 16px;
}
.t-list>.item>.link>.bd>p::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #4361ee;
    font-weight: bold;
}




/* 首页资讯 */
.a-list{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}
.a-list>.ch-item{
    flex: 0 0 50%;
    max-width: 50%;
    box-sizing: border-box;
    padding: 0 10px;
    margin: 20px 0 0;
}
.a-list>.ch-item>.box{
    padding: 0;
    display: block;
    background: #FFFFFF;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(0, 0, 0, 0.03);
    overflow: hidden;
    height: 100%;
}
.a-list>.ch-item>.box:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}
.a-list>.ch-item>.box>.hd{
    position: relative;
    height: 56px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.a-list>.ch-item>.box>.hd::after{
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    right: 0;
    height: 1px;
    background: rgba(0, 0, 0, 0.08);
}
.a-list>.ch-item>.box>.hd>.name{
    font-size: 17px;
    line-height: 56px;
    color: #2d3748;
    font-weight: 600;
}
.a-list>.ch-item>.box>.hd>.link{
    font-size: 12px;
    line-height: 28px;
    padding: 0 10px;
    color: #2b2f32;
    background: rgba(67, 97, 238, 0.1);
    border-radius: 14px;
    transition: all 0.2s ease;
    border: 1px solid rgba(67, 97, 238, 0.2);
}
.a-list>.ch-item>.box>.hd>.link:hover{
    color: #ffffff;
    background: #4361ee;
    transform: translateY(-1px);
}
.a-list>.ch-item>.box>.bd{
    padding: 20px;
}
.a-list>.ch-item>.box>.bd>p{
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 16px;
}
.a-list>.ch-item>.box>.bd>.item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 44px;
    line-height: 30px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    transition: background-color 0.2s ease;
}
.a-list>.ch-item>.box>.bd>.item:hover {
    background-color: rgba(67, 97, 238, 0.02);
    border-radius: 6px;
    padding: 7px 12px;
    margin: 0 -12px;
}
.a-list>.ch-item>.box>.bd>.item:last-child {
    border-bottom: none;
}
.a-list>.ch-item>.box>.bd>.item>a{
    color: #475569;
    width: 500px;
    height: 30px;
    font-size: 14px;
    line-height: 30px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s ease;
}
.a-list>.ch-item>.box>.bd>.item>a:hover{
    color: #4361ee;
}
.a-list>.ch-item>.box>.bd>.item>span{
    color: #94a3b8;
    font-size: 13px;
    flex-shrink: 0;
    margin-left: 15px;
}


/* 赞助商家 */
.f-list{ padding: 0 15px; display: block; background: #FFFFFF; border-radius: 12px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.1); margin: 20px 0 0;}
.f-list>.hd{ position: relative; height: 48px; display: flex; justify-content: space-between; align-items: center;}
.f-list>.hd::after{ position: absolute; content: ''; left: 0; bottom: 0; right: 0;  height: 1px; background: rgba(0, 0, 0, 0.08);}
.f-list>.hd>.name{ font-size: 16px; line-height: 48px; color: rgba(51, 51, 51, 0.9);}
.f-list>.bd{ padding: 0 0 10px;}
.f-list>.bd>.img-list{ display: flex; flex-wrap: wrap; margin: 0 -5px;}
.f-list>.bd>.img-list>.item{ flex: 0 0 12.5%; -ms-flex: 0 0 12.5%; max-width: 12.5%; box-sizing: border-box; padding: 0 5px; margin: 10px 0 0;}
.f-list>.bd>.img-list>.item>.box{ border: 1px solid #dedede; height: 58px; box-sizing: border-box; display: flex; justify-content: center; align-items: center;}
.f-list>.bd>.img-list>.item>.box>a{ display: block; width: 100%; height: 100%;}
.f-list>.bd>.img-list>.item>.box>a>img{ width: 100%; height: 100%; object-fit: contain;}
.f-list>.bd>.txt-list{ padding: 10px 0 0; display: flex; flex-wrap: wrap; color: #666;}
.f-list>.bd>.txt-list>.item{ margin: 0 10px 0 0; line-height: 30px;}
.f-list>.bd>.txt-list>.item>a{ color: #373a3c;}
.f-list>.bd>.txt-list>.item>a:hover{ color: #3783FA;}


.loading-indicator{ display: flex; justify-content: center; align-items: center; height: 100%; }
/* 图表弹窗 */
.region-box>.hd{ width: 100%; min-width: 180px; background: #4680ff; font-size: 14px; line-height: 40px; color: #FFF; text-align: center; border-top-left-radius: 12px; border-top-right-radius: 12px;}
.region-box>.bd{ padding: 10px; background: rgba(255, 255, 255, 0.1);}
.region-box>.bd>.item{ line-height: 28px; color: #373a3c; font-size: 14px;}
.region-box>.bd>.item>span{ font-size: 12px; height: 20px; line-height: 18px; margin: 0 6px 0 0; padding: 0 10px; border-width: 1px; border-style: solid; border-top-left-radius: 6px; border-bottom-right-radius: 6px;}
.region-box>.bd>.item-error,.region-box>.bd>.item-error>span{ color: #c00;}
.region-box>.bd>.item-telecom>span{
    /*background: #eaf7ff; */
    /*border-color: #88baff; */
    /*color: #3783FA;*/
    background: #3473f4;
    border-color: #3473f4;
    color: #fff;
}
.region-box>.bd>.item-unicom>span{
    /*background: #ffeded; */
    /*border-color: #ffb5c9; */
    /*color: #EE6772;*/
    background: #D40601CB;
    border-color: #D40601CB;
    color: #fff;
}
.region-box>.bd>.item-mobile>span{
    /*background: #e6ffec; */
    /*border-color: #64df85; */
    /*color: #63B060;*/
    background: #0085d0;
    border-color: #0085D0BD;
    color: #fff;
}
.region-box>.bd>.item-overseas>span{
    /*background: #ebebeb; */
    /*border-color: #cdcdcd; */
    /*color: #999999;*/

    background: #666666DF;
    border-color: #666666DF;
    color: #fff;
}






