:root{
  --bg:#0b1220; --surface:#121b2b; --surface-2:#18243a; --line:#243149;
  --text:#eef2f8; --muted:#93a2bb; --accent:#3c7bf2; --accent-2:#f2a33c;
  --good:#3fbf83; --bad:#e4605a; --radius:14px;
  --safe-b: env(safe-area-inset-bottom, 0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{
  background:var(--bg);color:var(--text);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding-bottom:calc(68px + var(--safe-b));overscroll-behavior-y:contain;
}
.boot{padding:40vh 0;text-align:center;color:var(--muted)}
header{
  position:sticky;top:0;z-index:20;background:rgba(11,18,32,.93);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
header h1{font-size:17px;font-weight:700;letter-spacing:.01em}
header .who{font-size:12px;color:var(--muted)}
main{padding:16px;max-width:760px;margin:0 auto}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px}
.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px;font-weight:600}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .k{color:var(--muted);font-size:14px}
.row .v{font-weight:700;font-variant-numeric:tabular-nums}
.stat{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.stat div{background:var(--surface-2);border-radius:10px;padding:12px}
.stat .n{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat .l{font-size:12px;color:var(--muted);margin-top:2px}
.packet{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);
  border-left:3px solid var(--accent);border-radius:var(--radius);padding:14px;margin-bottom:10px;color:inherit;font:inherit;cursor:pointer}
.packet .q{font-weight:600;margin-bottom:6px}
.packet .m{font-size:13px;color:var(--muted)}
.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.pill.fire{background:rgba(228,96,90,.16);color:#ff9d99}
.pill.cool{background:rgba(242,163,60,.14);color:var(--accent-2)}
.pill.good{background:rgba(63,191,131,.16);color:var(--good)}
.opt{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px;background:var(--surface-2)}
.opt.rec{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.opt h3{font-size:16px;margin-bottom:6px}
.opt p{font-size:14px;color:#cdd7e8;margin-bottom:8px}
.opt .meta{font-size:12px;color:var(--muted)}
button,.btn{font:inherit;font-weight:700;border:0;border-radius:12px;padding:14px 16px;width:100%;
  background:var(--accent);color:#fff;cursor:pointer;margin-top:8px}
button.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}
button:disabled{opacity:.5}
input,textarea{width:100%;font:inherit;background:var(--surface-2);border:1px solid var(--line);
  color:var(--text);border-radius:12px;padding:14px;margin-bottom:10px}
nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;background:rgba(18,27,43,.97);
  backdrop-filter:blur(12px);border-top:1px solid var(--line);padding-bottom:var(--safe-b)}
nav button{flex:1;background:none;border-radius:0;margin:0;padding:12px 4px 10px;color:var(--muted);font-size:11px;font-weight:600}
nav button.on{color:var(--accent)}
nav button span{display:block;font-size:19px;line-height:1.1;margin-bottom:2px}
.err{background:rgba(228,96,90,.14);border:1px solid rgba(228,96,90,.4);color:#ff9d99;
  padding:12px;border-radius:12px;margin-bottom:12px;font-size:14px}
.ok{background:rgba(63,191,131,.14);border:1px solid rgba(63,191,131,.4);color:#86e0b4;
  padding:12px;border-radius:12px;margin-bottom:12px;font-size:14px}
.muted{color:var(--muted);font-size:14px}
.memo{border-left:2px solid var(--line);padding:10px 0 10px 12px;margin-bottom:12px}
.memo .who{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);font-weight:700}
.memo .pos{font-weight:600;margin:4px 0}
.memo .body{font-size:14px;color:#cdd7e8}
.login{max-width:380px;margin:12vh auto;padding:0 20px}
.login h1{font-size:24px;margin-bottom:6px}
.login p{color:var(--muted);margin-bottom:22px;font-size:14px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--good);margin-right:6px}
.dot.off{background:var(--muted)}
