:root{--bg:#0b0f17;--card:#141b28;--line:#233047;--txt:#e8eefc;--dim:#8fa0bd;--acc:#38d39f;--bad:#ff5d5d;--gold:#ffcc4d}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding:0 12px 32px;max-width:760px;margin:0 auto}
header{display:flex;align-items:center;justify-content:space-between;padding:14px 2px}
.logo{font-weight:700;letter-spacing:.02em}
.balance{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-variant-numeric:tabular-nums}
main{position:relative;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#080c14}
canvas{display:block;width:100%;height:auto}
.mult{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:clamp(38px,11vw,72px);font-weight:800;text-shadow:0 4px 24px #000;font-variant-numeric:tabular-nums}
.mult.crashed{color:var(--bad)}
.mult.out{color:var(--acc)}
.phase{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:var(--dim);font-size:14px}
.panel{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}
.row{display:flex;gap:8px;align-items:center}
input[type=number]{flex:1;min-width:0;background:#0b1220;border:1px solid var(--line);color:var(--txt);
  border-radius:12px;padding:12px;font-size:17px}
.chip{background:#1d2740;border:1px solid var(--line);color:var(--txt);border-radius:12px;padding:12px 14px}
.action{width:100%;margin-top:10px;padding:16px;border:0;border-radius:14px;background:var(--acc);color:#06231a;
  font-size:18px;font-weight:700}
.action.cash{background:var(--gold);color:#3a2a00}
.action[disabled]{opacity:.45}
.auto{margin-top:10px;color:var(--dim);font-size:14px}
.auto input[type=number]{flex:0 0 90px;padding:8px}
.msg{margin-top:8px;min-height:20px;color:var(--dim);font-size:14px}
.history,.players{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}
.title{color:var(--dim);font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{background:#0b1220;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:14px;font-variant-numeric:tabular-nums}
.chips .low{color:var(--bad)}.chips .mid{color:var(--txt)}.chips .high{color:var(--acc)}
.fair{margin-top:10px;color:var(--dim);font-size:12px;word-break:break-all}
.commit{display:block;opacity:.6;margin-top:4px}
.players ul{list-style:none;margin:0;padding:0}
.players li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:15px}
.players li:last-child{border:0}
.players .won{color:var(--acc)}

/* Шахта: уровень, награды, задания, топ дня, приглашение */
.mine{margin-top:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px}
.mine .title.mt{margin-top:16px}
.dim{color:var(--dim);font-size:13px}
.lvl-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bar{margin-top:6px;height:8px;background:#0b1220;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--acc);width:0}
.rewards{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.reward{flex:1 1 160px;display:flex;flex-direction:column;gap:6px;background:#0b1220;border:1px solid var(--line);
  border-radius:14px;padding:10px}
.reward b{font-size:15px}
.reward small{color:var(--dim)}
.reward button{border:0;border-radius:10px;padding:10px;background:var(--gold);color:#3a2a00;font-weight:700}
.reward button[disabled]{background:#1d2740;color:var(--dim);font-weight:400}
.quests{list-style:none;margin:0;padding:0}
.quests li{padding:8px 0;border-bottom:1px solid var(--line)}
.quests li:last-child{border:0}
.quests .q{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.quests .q .r{color:var(--gold);white-space:nowrap}
.quests .bar{margin-top:6px;height:6px}
.quests button{margin-top:6px;border:0;border-radius:10px;padding:6px 12px;background:var(--gold);color:#3a2a00;font-weight:700}
.quests .ok{color:var(--acc)}
.top{list-style:none;margin:0;padding:0;counter-reset:t}
.top li{counter-increment:t;display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:15px}
.top li:last-child{border:0}
.top li::before{content:counter(t) ". ";color:var(--dim);margin-right:6px}
.top li span:first-of-type{flex:1}
.top li.me{color:var(--acc)}
.invite{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}

/* Партнёрский кабинет и публичная статистика.
   Отдельных экранов у игры два, поэтому поля и таблицы «ключ — значение»
   вынесены в общие классы: иначе те же стили пришлось бы копировать. */
.fld{flex:1;min-width:0;background:#0b1220;border:1px solid var(--line);color:var(--txt);
  border-radius:12px;padding:12px;font-size:16px}
select.fld{appearance:none}
.panel .title.mt{margin-top:18px}
.rows{list-style:none;margin:8px 0 0;padding:0}
.rows li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.rows li:last-child{border:0}
.rows b{font-variant-numeric:tabular-nums;text-align:right}
header a.chip{text-decoration:none}
