/* 共用樣式。手機優先，深淺色雙主題。 */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#f4f6f5; --fg:#16211f; --dim:#5b6b68; --card:#fff; --line:#e2e8e6;
  --brand:#0d7a6b; --brand-fg:#fff; --ok:#2d7d46; --warn:#d9a300; --err:#c0392b;
  --shadow:0 1px 3px rgba(0,0,0,.08);
}
@media(prefers-color-scheme:dark){
  :root{
    --bg:#101615; --fg:#e8eeec; --dim:#93a5a2; --card:#1a2322; --line:#26302e;
    --brand:#12a58f; --brand-fg:#04211d; --ok:#68d192; --warn:#e8c05a; --err:#f0897a;
    --shadow:none;
  }
}
body{
  font-family:system-ui,-apple-system,"Noto Sans TC",sans-serif;
  background:var(--bg); color:var(--fg); line-height:1.7;
  min-height:100dvh; max-width:620px; margin:0 auto;
  padding:24px 16px calc(32px + env(safe-area-inset-bottom));
}
h1{font-size:23px;font-weight:800;line-height:1.35}
h2{font-size:18px;font-weight:800;margin-bottom:10px}
.lead{font-size:14px;color:var(--dim);margin-top:4px}
.card{background:var(--card);border-radius:16px;padding:20px;box-shadow:var(--shadow);margin-top:14px}
.card.ok{border-top:6px solid var(--ok)}
.card.warn{border-top:6px solid var(--warn)}
.card.err{border-top:6px solid var(--err)}
.card.brand{border-top:6px solid var(--brand)}
.badge{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.5px;
  padding:5px 12px;border-radius:999px;background:var(--line);color:var(--dim);margin-bottom:12px}
.badge.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.badge.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.badge.err{background:color-mix(in srgb,var(--err) 18%,transparent);color:var(--err)}
.badge.brand{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}
.pid{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-weight:800;
  font-size:27px;letter-spacing:1px;word-break:break-all;line-height:1.3}
.name{font-size:19px;font-weight:800;margin-top:8px;word-break:break-word}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--dim);
  word-break:break-all;margin-top:8px}
.row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
button,.btn{flex:1;min-width:120px;display:block;text-align:center;text-decoration:none;
  font-family:inherit;font-size:16px;font-weight:800;padding:15px 12px;border-radius:13px;
  border:1.5px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;line-height:1.3}
button.primary,.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-fg)}
button.danger{border-color:var(--err);color:var(--err)}
button:disabled{opacity:.45;cursor:not-allowed}
button.huge{font-size:19px;padding:26px 12px}
input{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:19px;letter-spacing:1px;
  padding:15px 14px;border:1.5px solid var(--line);border-radius:12px;
  background:var(--card);color:var(--fg);text-align:center}
label{display:block;font-size:13px;font-weight:800;color:var(--dim);margin:0 0 8px}
.hint{font-size:13px;line-height:1.75;color:var(--dim);margin-top:10px}
ul.list{list-style:none;max-height:52vh;overflow-y:auto;margin-top:10px}
ul.list li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--line)}
ul.list li:last-child{border-bottom:0}
ul.list .l{flex:1;min-width:0}
ul.list .c1{font-family:ui-monospace,Menlo,monospace;font-size:14px;font-weight:700;word-break:break-all}
ul.list .c2{font-size:12px;color:var(--dim);margin-top:2px;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
ul.list .t{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;flex-shrink:0}
.count{display:flex;align-items:baseline;gap:10px}
.count b{font-size:42px;font-weight:800;color:var(--brand);line-height:1}
.count span{font-size:14px;color:var(--dim)}
.wait{text-align:center;padding:16px 0}
.wave{width:74px;height:74px;margin:0 auto 14px;border-radius:50%;
  border:4px solid var(--brand);animation:pulse 1.3s ease-out infinite}
@keyframes pulse{0%{transform:scale(.82);opacity:1}100%{transform:scale(1.22);opacity:0}}
.hide{display:none}
nav.back{margin-bottom:14px}
nav.back a{color:var(--dim);text-decoration:none;font-size:14px;font-weight:700}
.foot{margin-top:26px;font-size:12px;color:var(--dim);line-height:1.8}
