:root{
  --bg:#0b0e13; --surface:#141a22; --surface-2:#1b2330; --line:#222c3a;
  --text:#e6edf3; --muted:#7d8da3; --pos:#2bd576; --pos-dim:#16331f;
  --star:#ffd23f; --fire:#ff6a3d; --accent:#39d0ff;
  --r:14px; --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--bg);color:var(--text);font:15px/1.4 -apple-system,Segoe UI,Roboto,sans-serif;
  padding-bottom:64px;-webkit-tap-highlight-color:transparent}
#view{padding:12px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:12px;margin:0 0 10px;display:grid;gap:8px}
.card .head{display:flex;gap:10px;align-items:flex-start}
.card .info{flex:1;min-width:0;display:grid;gap:6px}
.thumb{width:64px;height:64px;flex:none;border-radius:10px;object-fit:cover;
  background:var(--surface-2);border:1px solid var(--line)}
.thumb.tap{cursor:pointer} .thumb.tap:active{transform:scale(.97)}
.thumb-fb{display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1}
.card .top{display:flex;align-items:baseline;gap:8px}
.card .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .num{font-family:var(--mono);font-size:20px;color:var(--accent);margin-left:auto}
.card .meta{color:var(--muted);font-size:13px;display:flex;gap:8px;flex-wrap:wrap}
.stars{color:var(--star)} .fire{color:var(--fire)}
.calc{font-family:var(--mono);font-size:14px}
.up{display:flex;align-items:center;gap:8px}
.up .bar{height:8px;border-radius:6px;background:var(--pos-dim);flex:1;overflow:hidden}
.up .bar>i{display:block;height:100%;background:var(--pos)}
.up .val{color:var(--pos);font-family:var(--mono);font-weight:600;white-space:nowrap}
.buy{appearance:none;border:0;border-radius:10px;background:var(--pos);color:#04130a;
  font-weight:700;padding:10px;width:100%;font-size:15px;cursor:pointer}
.buy:active{transform:scale(.98)}

#tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--surface-2);
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
#tabs button{flex:1;background:0;border:0;color:var(--muted);padding:14px;font-size:14px;cursor:pointer}
#tabs button.active{color:var(--accent)}

.empty{color:var(--muted);text-align:center;padding:40px 0}
select,input{background:var(--surface-2);color:var(--text);border:1px solid var(--line);
  border-radius:10px;padding:10px;font-size:15px;width:100%}
label{color:var(--muted);font-size:13px}
.row{display:grid;gap:6px;margin-bottom:12px}
.floorgrid{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-family:var(--mono)}
.floorgrid .k{color:var(--muted)} .floorgrid .v{text-align:right}
