@charset "UTF-8";
/*
* 设计系统色板 —— Industry
* 方形、细边框、蓝图角标。
*/
/* 警示色：表单报错、点数不足等 */
/* 旧变量别名，保证未改版页面继续编译并同步换色 */
/*
* 字体
* 不引入外部资源：默认使用系统字体栈。
* 若日后自托管 Barlow，把 woff2 放到 /static/www/font/ 下并打开下面的 @font-face 即可，
* 其余样式无需改动。
*/
/*
@font-face{
    font-family:'Barlow';
    src:url('/static/www/font/barlow-400.woff2') format('woff2');
    font-weight:400;
    font-display:swap;
}
@font-face{
    font-family:'Barlow';
    src:url('/static/www/font/barlow-600.woff2') format('woff2');
    font-weight:600;
    font-display:swap;
}
@font-face{
    font-family:'Barlow Condensed';
    src:url('/static/www/font/barlow-condensed-600.woff2') format('woff2');
    font-weight:600;
    font-display:swap;
}
*/
/* 内容区最大宽度 */
/*
* 清除浮动
* 调用方法：@extend %clearfix;
*/
/*
* 小标题（栏目眉题）
* 调用方法：@include kicker; 或 @include kicker(12px);
* 例：01 · 快速查询 · LOOKUP
*/
/*
* 等宽数字，用于 IP、延迟、点数等数值
* 调用方法：@include tnum;
*/
/*
* 大号压缩字，用于 IP / 评分 / 点数
* 调用方法：@include display(48px);
*/
/*
* 单行省略
* 调用方法：@extend %ellipsis;
*/
.mod-lookup .card-ip .ip, .mod-pin .item .n, .mod-catalog .cat .list .t {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*
* 响应式宏
* 调用方法：@include respond-to(small) { ... }
*/
/* ── 01 快速查询 ── */
.mod-lookup {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 64px;
  align-items: start;
  padding: 56px 0 40px;
}
.mod-lookup .modes {
  margin-bottom: 20px;
}
.mod-lookup .hr {
  margin: 12px 0 20px;
}
.mod-lookup .query {
  display: flex;
  gap: 10px;
  max-width: 640px;
}
.mod-lookup .query .input {
  flex: 1;
}
.mod-lookup .hint {
  display: flex;
  gap: 16px;
  margin-top: 14px;
  font-size: 12px;
  color: rgba(29, 31, 32, 0.55);
}
.mod-lookup .recent {
  margin-top: 28px;
}
.mod-lookup .recent .kicker-row {
  margin-bottom: 6px;
}
.mod-lookup .recent .cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
}
.mod-lookup .recent .ch {
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(29, 31, 32, 0.16);
  font-size: 12px;
  font-weight: 500;
  color: #416180;
}
.mod-lookup .side {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-self: stretch;
  margin-top: 6px;
}
.mod-lookup .card-ip > .hd {
  display: flex;
  border-bottom: 1px solid rgba(29, 31, 32, 0.16);
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mod-lookup .card-ip > .hd .t {
  flex: 1;
  padding: 8px 20px;
}
.mod-lookup .card-ip > .hd .m {
  padding: 8px 16px;
  border-left: 1px solid rgba(29, 31, 32, 0.16);
  color: rgba(29, 31, 32, 0.7);
}
.mod-lookup .card-ip .ip {
  padding: 20px 20px 8px;
  font-family: "Barlow Condensed", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(28px, 3.4vw, 48px);
  line-height: 1;
  letter-spacing: 0.01em;
  font-feature-settings: "tnum" 1;
}
.mod-lookup .card-ip .table td {
  padding: 9px 20px;
}
.mod-lookup .card-ip .table td:first-child {
  width: 120px;
  color: rgba(29, 31, 32, 0.6);
}
.mod-lookup .card-ip .ft {
  display: flex;
  gap: 6px;
  padding: 12px 20px;
  border-top: 1px solid rgba(29, 31, 32, 0.16);
}
.mod-lookup .ad-slot {
  flex: 1;
  min-height: 160px;
}

/* ── 常用 / 自定义 ── */
.mod-pin {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding-bottom: 40px;
}
.mod-pin > .blueprint {
  padding: 20px 22px 14px;
}
.mod-pin .hd {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.mod-pin .hd h2 {
  font-size: 22px;
  line-height: 24px;
}
.mod-pin .hd .en {
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(29, 31, 32, 0.5);
}
.mod-pin .hd .add {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #416180;
}
.mod-pin .cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
}
.mod-pin .item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(29, 31, 32, 0.08);
  font-size: 14px;
}
.mod-pin .item .t {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  flex: 1;
}
.mod-pin .item .v {
  white-space: nowrap;
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-size: 12px;
  color: rgba(29, 31, 32, 0.5);
  font-feature-settings: "tnum" 1;
}
.mod-pin .item .del {
  padding: 0 2px;
  font-size: 12px;
  color: rgba(29, 31, 32, 0.4);
}
.mod-pin .item .del:hover {
  color: #5980a6;
}

/* ── 热门 ── */
.mod-hot {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-bottom: 32px;
}
.mod-hot .kicker {
  margin-right: 8px;
}
.mod-hot .tag {
  padding: 5px 12px;
  font-size: 13px;
}

/* ── 02 最近检测 / 04 资讯动态 共用列 ── */
.mod-feed,
.mod-news {
  padding: 8px 0 40px;
}
.mod-feed .cols,
.mod-news .cols {
  display: grid;
  gap: 32px;
}
.mod-feed .ch,
.mod-news .ch {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(29, 31, 32, 0.16);
}
.mod-feed .ch a,
.mod-news .ch a {
  font-family: "Barlow Condensed", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 18px;
  letter-spacing: 0.02em;
}
.mod-feed .ch span,
.mod-news .ch span {
  font-size: 11px;
  color: rgba(29, 31, 32, 0.5);
}
.mod-feed .rows a,
.mod-news .rows a {
  font-size: 13px;
}
.mod-feed .rows a .v,
.mod-news .rows a .v {
  color: rgba(29, 31, 32, 0.7);
}
.mod-feed .rows a .v.warn,
.mod-news .rows a .v.warn {
  color: #416180;
}

.mod-feed .cols {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mod-news .cols {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mod-feed .kicker-row,
.mod-news .kicker-row {
  margin-bottom: 12px;
}

.mod-feed .hr {
  margin-bottom: 24px;
}

.mod-news .hr {
  margin-bottom: 20px;
}

/* ── 03 站长专区 ── */
.mod-webmaster {
  padding: 8px 0 40px;
}
.mod-webmaster .kicker-row {
  margin-bottom: 12px;
}
.mod-webmaster .hr {
  margin-bottom: 24px;
}
.mod-webmaster .cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.mod-webmaster .card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  color: #1d1f20;
}
.mod-webmaster .card:hover {
  border-color: #5980a6;
}
.mod-webmaster .card .en {
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #416180;
}
.mod-webmaster .card h2 {
  font-size: 22px;
  line-height: 24px;
}
.mod-webmaster .card p {
  margin: 0;
  font-size: 13px;
  line-height: 20px;
  color: rgba(29, 31, 32, 0.7);
}

/* ── 05 工具目录 ── */
.mod-catalog {
  padding: 8px 0 56px;
}
.mod-catalog .kicker-row {
  margin-bottom: 12px;
}
.mod-catalog .hr {
  margin-bottom: 32px;
}
.mod-catalog .cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 32px;
}
.mod-catalog .cat {
  padding: 20px 22px 12px;
}
.mod-catalog .cat > .hd {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 12px;
}
.mod-catalog .cat > .hd h2 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 22px;
  line-height: 24px;
}
.mod-catalog .cat > .hd .no {
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: #416180;
}
.mod-catalog .cat > .hd .en {
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(29, 31, 32, 0.5);
}
.mod-catalog .cat .list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
}
.mod-catalog .cat .list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(29, 31, 32, 0.08);
  font-size: 14px;
  line-height: 20px;
  overflow: hidden;
}
.mod-catalog .cat .list .cost {
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-size: 11px;
  color: #416180;
  white-space: nowrap;
  font-feature-settings: "tnum" 1;
}
.mod-catalog .cat .all {
  display: inline-block;
  margin-top: 12px;
  font-family: "Barlow", ui-sans-serif, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft Yahei", Arial, sans-serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  letter-spacing: 0.08em;
  color: #416180;
}

@media screen and (max-width: 799px) {
  .mod-lookup {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 24px 0;
  }
  .mod-lookup .query {
    flex-wrap: wrap;
  }
  .mod-lookup .query .input {
    flex: 1 1 100%;
  }
  .mod-lookup .query .btn {
    flex: 1;
  }
  .mod-lookup .hint {
    flex-wrap: wrap;
    gap: 8px;
  }
  .mod-lookup .side {
    margin-top: 0;
  }
  .mod-lookup .card-ip .ip {
    font-size: 34px;
  }
  .mod-lookup .ad-slot {
    min-height: 120px;
  }
  .mod-pin {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-bottom: 24px;
  }
  .mod-pin .cols {
    grid-template-columns: 1fr;
  }
  .mod-hot {
    padding-bottom: 24px;
    gap: 8px;
  }
  .mod-feed,
  .mod-news,
  .mod-webmaster,
  .mod-catalog {
    padding: 8px 0 24px;
  }
  .mod-feed .cols,
  .mod-news .cols,
  .mod-webmaster .cols,
  .mod-catalog .cols {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .mod-catalog .cat .list {
    grid-template-columns: 1fr;
  }
}