/* RowFlux v7 app 壳 — 深色、单手、水上强光可读(大字高对比) */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --bg:#0b1220; --card:#131c2e; --line:#22304a;
  --fg:#e8eef7; --dim:#8fa1bb; --accent:#ffd54a; --good:#5dd97c;
}
html,body{height:100%}
body{font-family:-apple-system,"PingFang SC",sans-serif;background:var(--bg);color:var(--fg);
  display:flex;flex-direction:column;overscroll-behavior:none}
#views{flex:1;overflow-y:auto;padding:14px 14px calc(70px + env(safe-area-inset-bottom))}
.view{display:none}.view.active{display:block}
.pagetitle{font-size:20px;margin:4px 0 14px}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.cardtitle{font-size:14px;color:var(--dim);margin-bottom:10px}
.hint{font-size:13px;color:var(--dim);line-height:1.6;margin:8px 0}
.empty{text-align:center;color:var(--dim);padding:40px 16px}

.seg{display:flex;gap:8px}
.seg-btn{flex:1;padding:12px;border-radius:10px;border:1px solid var(--line);
  background:transparent;color:var(--dim);font-size:15px}
.seg-btn.active{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:600}

.calib-status{font-size:22px;font-weight:600;margin:6px 0;color:var(--dim)}

.btn-primary,.btn-secondary{width:100%;padding:15px;border-radius:12px;font-size:16px;font-weight:600;border:none}
.btn-primary{background:var(--accent);color:#1a1607}
.btn-secondary{background:transparent;color:var(--fg);border:1px solid var(--line)}
button:disabled{opacity:.4}
.btn-big{padding:20px;font-size:20px}
.rowctrl{margin-top:16px}

.statusbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.pill{font-size:12px;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:4px 10px}
.clock{margin-left:auto;font-size:16px;font-variant-numeric:tabular-nums}

.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.metric{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.metric-hero{grid-column:1/-1;padding:20px}
.m-label{font-size:12px;color:var(--dim);letter-spacing:.06em}
.m-value{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:4px}
.metric-hero .m-value{font-size:64px}

.sumgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.s-value{font-size:22px;font-weight:700;margin-top:2px}

#tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tab{flex:1;padding:14px 0;background:none;border:none;color:var(--dim);font-size:14px}
.tab.active{color:var(--accent);font-weight:600}

/* 回放控件(demo) */
.replay-card{margin-top:16px;border-style:dashed}
.replay-sel{width:100%;padding:12px;border-radius:10px;background:var(--bg);color:var(--fg);
  border:1px solid var(--line);font-size:15px;margin-bottom:10px}
.replay-btns{display:flex;gap:10px}
.replay-btns .btn-secondary{flex:1}
