:root{
  --bg:#f5f6f8; --card:#fff; --ink:#1a1a1a; --muted:#666; --line:#e2e5ea;
  --primary:#1f6feb; --danger:#c62828; --warn:#8a5a00; --ok:#1b7f3b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:17px;line-height:1.6;-webkit-text-size-adjust:100%}
.app{max-width:680px;margin:0 auto;padding:16px 14px 48px}
.head h1{font-size:20px;margin:6px 0 4px}
.head .sub{color:var(--muted);font-size:14px;margin:0 0 12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 14px 16px;margin:0 0 14px}
.card h2{font-size:16px;margin:0 0 10px}
.caps{list-style:none;margin:0;padding:0;font-size:15px}
.caps li{padding:5px 0;border-bottom:1px dashed var(--line)}
.caps li:last-child{border-bottom:none}
.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:13px;margin-left:6px}
.pill.ok{background:#e6f4ea;color:var(--ok)}
.pill.no{background:#fdecec;color:var(--danger)}
.pill.warn{background:#fff4e0;color:var(--warn)}
.timer{font-size:46px;font-weight:600;text-align:center;letter-spacing:2px;margin:6px 0 2px;
  font-variant-numeric:tabular-nums}
.status{text-align:center;color:var(--muted);margin:0 0 12px;font-size:15px}
.btns{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:520px){.btns{grid-template-columns:1fr 1fr 1fr}}
.big{appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:18px;padding:16px 12px;border-radius:12px;min-height:56px;font-weight:600}
.big:disabled{opacity:.45}
.big.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.big.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.hint{color:var(--muted);font-size:14px;margin:10px 0 0}
.list .item{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;background:#fcfcfd}
.list .meta{font-size:14px;color:var(--muted);word-break:break-all}
.list .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.list button,.list a.btn{appearance:none;font-size:15px;padding:10px 14px;border-radius:10px;
  border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:600}
.tag{display:inline-block;font-size:13px;padding:1px 8px;border-radius:999px;margin-right:6px}
.tag.ok{background:#e6f4ea;color:var(--ok)}
.tag.warn{background:#fff4e0;color:var(--warn)}
.tag.no{background:#fdecec;color:var(--danger)}
.notes{margin:0;padding-left:20px;font-size:15px;color:#333}
.notes li{margin:6px 0}
