:root{--navy:#003751;--blue:#005b80;--sky:#74c0eb;--pale:#f2f9fd;--line:#d5e4ee;--muted:#646464;--text:#212121;
--bg:#ffffff;--card:#f2f9fd;--green:#2e9e5b;--yellow:#c98f00;--red:#df3131;--gray:#a7b3bb;
--g-bg:#e5f5ec;--y-bg:#fdf4dc;--r-bg:#fce6e6}
@media (prefers-color-scheme: dark){:root{--bg:#0f1a20;--card:#17262f;--line:#2a3d48;--text:#e8eef2;--muted:#9fb0ba;
--g-bg:#173a27;--y-bg:#3a3014;--r-bg:#3d1c1c}}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--text);
padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--navy);color:#fff}
.top .muted{color:#cfe3ef}
.brand{font-weight:600}
main{padding:12px 16px;max-width:640px;margin:0 auto}
.muted{color:var(--muted);font-size:14px}
h2{font-size:17px;margin:18px 0 8px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{background:var(--card);border-radius:12px;padding:10px 12px}
.tile b{display:block;font-size:24px;font-weight:600}
.light{display:flex;gap:10px;align-items:center;border-radius:12px;padding:10px 12px;margin-top:12px}
.light.green{background:var(--g-bg)}.light.yellow{background:var(--y-bg)}.light.red{background:var(--r-bg)}.light.gray{background:var(--card)}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}
.dot.green{background:var(--green)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.dot.gray{background:var(--gray)}
ul.plain{list-style:none;padding:0;margin:6px 0 0}
ul.plain li{padding:8px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}
.card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
.bar{height:22px;border-radius:6px;background:var(--blue);min-width:2px}
.bar.prev{height:6px;background:var(--gray);margin-top:3px}
.bar.hot{background:var(--red)}
.step{margin:10px 0}
.step .row{display:flex;justify-content:space-between;font-size:14px}
.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bg);border-top:1px solid var(--line);
padding-bottom:env(safe-area-inset-bottom)}
.tabs button{flex:1;border:0;background:none;padding:12px 4px;font:inherit;font-size:14px;color:var(--muted)}
.tabs button.on{color:var(--blue);font-weight:600}
button.link{border:1px solid var(--line);background:none;border-radius:8px;padding:8px 12px;font:inherit;color:var(--text)}
