/* ==========================================================================
   ZaraVPN — iplookup.css
   出口 IP 查询页：结果面板 / 字段网格 / 解读卡 / 对照表 / 状态胶囊
   颜色、字体、圆角、投影一律引用 base.css 的 :root 令牌。
   ========================================================================== */

/* ============================ 查询结果面板 ============================ */
.ip-tool{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding-block:18px;
  padding-inline:20px;
  border-radius:var(--r-lg);
}

.ip-tool-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 14px;
  padding-bottom:14px;
  border-bottom:1px dashed var(--line);
}
.ip-tool-bar .btn{flex:0 0 auto}

.ip-state{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  min-height:30px;
  padding:4px 12px;
  border-radius:var(--r-pill);
  border:1px solid var(--line);
  background:var(--panel-2);
  font-family:var(--font-mono);
  font-size:11.5px;
  letter-spacing:.06em;
  color:var(--ink-2);
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ip-state .dot{flex:0 0 auto}
.ip-state[data-state="ok"]{
  background:var(--sage-08);
  border-color:var(--sage-30);
  color:var(--forest);
}
.ip-state[data-state="error"]{
  background:var(--panel-2);
  border-color:var(--line-strong);
  color:var(--error);
}

/* 四格字段：1px 缝隙透出分隔线 */
.ip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin-block:16px;
  margin-inline:0;
  padding:0;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:var(--r-md);
  overflow:hidden;
}
.ip-cell{
  min-width:0;
  padding-block:14px;
  padding-inline:16px;
  background:var(--panel);
}
.ip-cell dt{
  margin-bottom:6px;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.14em;
  color:var(--ink-2);
}
.ip-cell dd{
  margin:0;
  font-size:16px;
  line-height:1.5;
  color:var(--ink);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.ip-mono{
  font-family:var(--font-mono);
  font-size:17px;
  letter-spacing:.01em;
}

.ip-foot{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 14px;
}
.ip-note{
  margin:0;
  min-width:0;
  font-size:12.5px;
  line-height:1.6;
  color:var(--ink-2);
  overflow-wrap:anywhere;
}

.ip-fallback{
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-left:3px solid var(--warn);
  border-radius:var(--r-sm);
  background:var(--panel-2);
  font-size:13.5px;
  line-height:1.7;
  color:var(--ink-2);
}

.ip-hint{
  margin:12px 0 0;
  font-size:12.5px;
  line-height:1.7;
  color:var(--ink-2);
}
.ip-hint a,
.callout a{
  color:var(--indigo);
  text-decoration:underline;
  text-underline-offset:2px;
}
.ip-hint a:hover,
.callout a:hover{color:var(--indigo-dark)}

/* ============================ 字段解读卡 ============================ */
.ip-read{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.ip-read-item{
  min-width:0;
  padding-block:18px;
  padding-inline:20px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  box-shadow:var(--sh-panel);
}
.ip-read-item h3{
  margin-bottom:8px;
  font-size:16px;
}
.ip-read-item h3::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:8px;
  border-radius:50%;
  background:var(--sage);
  vertical-align:middle;
}
.ip-read-item p{
  margin:0;
  font-size:14.5px;
  line-height:1.75;
  color:var(--ink-2);
}

/* ============================ 对照表与子标题 ============================ */
.ip-table{min-width:560px}

.ip-sub{
  margin:26px 0 14px;
  font-size:17px;
}

/* ============================ 自适应 ============================ */
@media (max-width:900px){
  .ip-read{grid-template-columns:1fr}
}
@media (max-width:768px){
  .ip-grid{grid-template-columns:1fr}
  .ip-tool{padding-inline:16px}
}
@media (max-width:640px){
  .ip-tool{padding-block:14px;padding-inline:14px}
  .ip-cell dd{font-size:15px}
  .ip-mono{font-size:15.5px}
  .ip-read-item{padding-inline:16px}
  .ip-table{min-width:480px}
}