/* ============================================================
   LAWDU 原型外框样式（与 dapp 快照搭配使用）
   只负责：审核条 / 手机框 / 接口面板 / 目录页
   页面内部样式来自 assets/dapp/*.css（dapp 构建产物，自动挑选）
   ============================================================ */
:root{
  --bg:#0a0a0a; --card:#121212; --line:#282828;
  --g1:#FD9717; --g2:#FFCA48; --gold:linear-gradient(90deg,#FD9717,#FFCA48);
  --txt:#fff; --muted:#9d9da3; --muted2:#6d6d73; --green:#22c55e; --red:#ef4444;
  /* dapp 的 rpx 基准（1vw = 420px/100）；快照内 calc(var(--app-vw)*N) 依赖它 */
  --app-vw:4.2px;
}
body.proto{margin:0;background:var(--bg);color:var(--txt);
  font:13px/1.6 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Roboto,sans-serif}

/* --- 顶部审核条 --- */
.review{position:sticky;top:0;z-index:9999;display:flex;gap:10px;align-items:center;justify-content:space-between;
  background:#151515;border-bottom:1px solid var(--line);padding:8px 12px;font-size:12px;color:var(--muted)}
.review a{color:var(--g2);text-decoration:none}
.review .rv-name{font-weight:600;color:#eee}
.review .rv-route code{color:var(--muted2)}

.stage{max-width:1000px;margin:0 auto;padding:16px 12px 60px;display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.phone{width:420px;flex:none;background:#000;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  height:812px;position:relative;
  /* 内容超出时在手机框内滚动，底部栏 sticky 常驻（见 .proto-pinned） */
  overflow-y:auto;overflow-x:hidden;transform:translateZ(0);will-change:transform}
.phone>*{max-width:100%}
/* 从快照里提出来、常驻手机框底部的 TabBar（替掉 dapp 的 position:fixed） */
.phone .proto-pinned{position:sticky !important;bottom:0 !important;left:0;right:0;z-index:999 !important}

/* --- 接口面板 --- */
.apibox{flex:1;min-width:340px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.apibox h3{margin:0 0 8px;font-size:14px}
.apibox h3.navh{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.apibox h3 .cnt{color:var(--g2);font-size:12px;margin-left:6px}
.apibox .hint{font-size:11px;color:var(--muted2);line-height:1.6;margin:0 0 10px}
.apibox .empty{font-size:12px;color:var(--muted2)}
table.api{width:100%;border-collapse:collapse;font-size:12px}
table.api th{text-align:left;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
table.api td{padding:8px;border-bottom:1px dashed #202020;vertical-align:top}
table.api code{color:#eee;font-size:11px;word-break:break-all}
table.api .src{color:var(--muted2);font-size:10px;margin-top:3px}
table.api .trig{color:#7cc0ff;font-size:10px;margin-top:3px}
table.api .ln{font-size:10px;color:var(--muted);margin-top:3px;line-height:1.7}
table.api .ln.ret code{color:#4ade80;background:rgba(34,197,94,.08);border-radius:4px;padding:0 4px;margin-right:3px}
table.api .ln code{color:var(--g2);background:#0e0e0e;border-radius:4px;padding:0 4px}
/* 本屏可跳转 */
.navwrap{display:flex;flex-wrap:wrap;gap:6px}
.navchip{font-size:11px;font-family:ui-monospace,Menlo,monospace;color:var(--g2);background:#0e0e0e;
  border:1px solid var(--line);border-radius:6px;padding:4px 8px;text-decoration:none}
.navchip:hover{border-color:var(--g1)}
.navchip.dead{color:var(--muted2);text-decoration:line-through}
.emptynote{max-width:1000px;margin:12px auto 0;padding:8px 12px;font-size:12px;color:#fbbf24;
  background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);border-radius:8px}
.m{display:inline-block;font-size:10px;font-weight:700;border-radius:4px;padding:1px 6px;margin-right:2px}
.m.get{background:rgba(74,168,255,.15);color:#7cc0ff}
.m.post{background:rgba(34,197,94,.15);color:#4ade80}
.m.put,.m.delete{background:rgba(239,68,68,.15);color:#f87171}
.foot{text-align:center;font-size:11px;color:var(--muted2);padding:10px 0 40px}

/* --- 目录页 / 接口总览 --- */
body.idx{padding:22px}
body.idx h1{font-size:20px;margin:0 0 8px}
body.idx .top{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:16px}
body.idx .top code{color:var(--g2)}
.grp{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}
.grp h3{margin:0 0 10px;font-size:13px;color:var(--g2)}
.items{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.it{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;background:#0e0e0e;border:1px solid var(--line);
  border-radius:8px;padding:10px;color:#eee;text-decoration:none}
.it:hover{border-color:var(--g1)}
.it .nm{font-size:13px;font-weight:600}
.it .rt{font-size:10px;color:var(--muted2);font-family:ui-monospace,Menlo,monospace}
.it .note2{font-size:10px;color:var(--muted)}
.it .napi{margin-left:auto;font-size:10px;color:var(--g2);background:rgba(253,151,23,.12);
  border-radius:6px;padding:1px 6px;white-space:nowrap}
.it .napi.zero{color:var(--muted2);background:#1a1a1a}
.apilist{display:flex;flex-direction:column;gap:4px}
.apiline{display:flex;gap:8px;align-items:center;font-size:12px;padding:4px 0;border-bottom:1px dashed #1e1e1e}
.apiline code{flex:1;color:#ddd;font-size:11px;word-break:break-all}
.apiline .fn{color:var(--muted2);font-size:10px}
@media (max-width:900px){.items{grid-template-columns:1fr}.phone{width:100%;height:auto;min-height:600px}}

/* 已按要求移除的目标页 */
.navchip.removed{color:#f87171;border-color:rgba(239,68,68,.35);text-decoration:line-through;cursor:not-allowed}
/* 需求变更说明面板（充值页等） */
.reqbox{flex:1;min-width:340px;background:var(--card);border:1px solid rgba(253,151,23,.35);border-radius:12px;padding:14px}
.reqbox h3{margin:0 0 8px;font-size:14px;color:var(--g2)}
.reqbox h3.navh{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.reqbox .hint{font-size:11px;color:var(--muted2);line-height:1.6;margin:0 0 10px}
table.req{width:100%;border-collapse:collapse;font-size:12px}
table.req th{text-align:left;vertical-align:top;width:110px;color:var(--g2);font-weight:600;padding:7px 8px 7px 0;
  border-bottom:1px dashed #202020;white-space:nowrap}
table.req td{padding:7px 0;border-bottom:1px dashed #202020;color:#ddd;line-height:1.75}
table.req code{color:#eee;background:#0e0e0e;border-radius:4px;padding:0 4px;font-size:11px}
