/* ===== мастер настройки: шапка, шаги, липкий низ ===== */

.wiz{
  min-height:100dvh;
  display:flex;flex-direction:column;
  max-width:560px;margin:0 auto;
}

.wiz-head{
  padding:calc(18px + env(safe-area-inset-top)) 16px 4px;
}
.wiz-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.wiz-sub{
  margin:8px 0 0;font-size:15px;line-height:1.4;color:var(--muted);
  min-height:42px;
}

/* точки-шаги: активная вытягивается в пилюлю, пройденные заливаются */
.dots{display:flex;gap:7px;align-items:center;padding:10px 0 14px}
.dot{
  height:44px;flex:0 0 auto;display:flex;align-items:center;
  padding:0;background:none;
}
.dot i{
  display:block;width:9px;height:9px;border-radius:5px;
  background:var(--track);box-shadow:var(--sh-in);
  transition:width .28s var(--spring),background .22s ease;
}
.dot.done i{background:rgba(var(--pc),.45);box-shadow:none}
.dot.active i{
  width:30px;
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.35);
}

.wiz-body{flex:1;padding:0 16px 8px}
.step.in{animation:stepIn .32s var(--press)}
@keyframes stepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- шаг: игроки ---------- */
.players{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.players:empty{margin:0}
.pl{
  display:flex;align-items:center;gap:12px;min-height:72px;
  padding:8px 10px 8px 8px;border-radius:20px;
  background:linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:var(--sh-2),var(--hl);
  font-size:17px;
}
.pl .av{
  width:56px;height:56px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(180deg,rgba(var(--pc),.24),rgba(var(--pc),.13));
  box-shadow:var(--sh-in);
  font-size:28px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:transform .14s var(--press);
}
.pl .av:active{transform:scale(.9)}
.pl .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl .x{
  width:48px;height:48px;border-radius:14px;color:var(--muted);
  font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .16s ease,transform .12s var(--press);
}
.pl .x:active{background:var(--track);box-shadow:var(--sh-in);transform:scale(.94)}

.add{display:grid;grid-template-columns:1fr 72px;gap:10px}
.add button{
  min-height:54px;border-radius:16px;font-size:28px;line-height:1;color:var(--muted);
  background:linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:var(--sh-2),var(--hl);
  transition:transform .13s var(--press),box-shadow .13s var(--press),color .16s ease;
}
.add button:active{transform:translateY(2px) scale(.97);box-shadow:var(--sh-1);color:var(--ink)}

/* ---------- шаг: где играем / варианты счётчика ---------- */
.pool-cards{display:flex;flex-direction:column;gap:11px}
.pool{
  display:flex;align-items:center;gap:14px;text-align:left;
  padding:16px 18px;border-radius:20px;min-height:88px;
  background:linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:var(--sh-2),var(--hl);
  transition:transform .16s var(--press),box-shadow .18s var(--press),background .22s ease;
}
.pool:active{transform:translateY(2px) scale(.99);box-shadow:var(--sh-1)}
.pool .strip{
  font-size:23px;line-height:1.15;letter-spacing:2px;
  width:74px;flex:0 0 auto;word-break:break-all;
}
.pool .txt{flex:1;min-width:0}
.pool .nm{font-size:18px;font-weight:550;letter-spacing:-.01em}
.pool .meta{font-size:13px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.pool .tick{
  width:28px;height:28px;border-radius:50%;flex:0 0 auto;
  background:var(--track);box-shadow:var(--sh-in);
  color:#fff;font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,box-shadow .2s ease;
}
.pool.active{
  background:linear-gradient(180deg,rgba(var(--pc),.16),rgba(var(--pc),.08));
  box-shadow:0 0 0 2px rgba(var(--pc),.55),var(--sh-2);
}
.pool.active .tick{
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.3);
}
.pool-cards.small .pool{min-height:72px;padding:12px 16px}
.pool-cards.small .pool .strip{width:34px;font-size:25px}

/* ---------- шаг: находки и редкости ---------- */
.cnt-line{
  font-size:14px;color:var(--muted);margin:14px 2px 10px;
  font-variant-numeric:tabular-nums;transform-origin:left center;
}
.cnt-line.pulse{color:#A64B2A}

.checklist{display:flex;flex-direction:column;gap:9px}
.item{
  display:flex;align-items:center;gap:13px;
  padding:10px 12px;min-height:72px;border-radius:18px;cursor:pointer;
  background:linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:var(--sh-2),var(--hl);
  transition:transform .14s var(--press),box-shadow .18s var(--press),background .22s ease;
}
.item:active{transform:translateY(2px) scale(.99);box-shadow:var(--sh-1)}
.item .cb{
  width:30px;height:30px;border-radius:50%;flex:0 0 auto;
  background:var(--track);box-shadow:var(--sh-in);
  color:#fff;font-size:16px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,box-shadow .2s ease;
}
.item.checked{
  background:linear-gradient(180deg,rgba(var(--pc),.13),rgba(var(--pc),.07));
  box-shadow:0 0 0 2px rgba(var(--pc),.45),var(--sh-1);
}
.item.checked .cb{
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  box-shadow:0 1px 3px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.3);
}
.item .em{font-size:27px;line-height:1;width:36px;text-align:center;flex:0 0 auto}
.item .lb{flex:1;font-size:16px}
.item .tag{font-size:13px;color:var(--muted);white-space:nowrap}
.item .pr{font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.item .pen{
  width:50px;height:50px;border-radius:15px;flex:0 0 auto;
  color:var(--muted);font-size:17px;
  display:flex;align-items:center;justify-content:center;
  transition:background .16s ease,transform .12s var(--press);
}
.item .pen:active{background:var(--track);box-shadow:var(--sh-in);transform:scale(.94)}
.item.pinned{
  background:linear-gradient(180deg,rgba(var(--pc),.12),rgba(var(--pc),.06));
  cursor:default;
}
.item.pinned:active{transform:none;box-shadow:var(--sh-2),var(--hl)}

.item.edit{display:grid;grid-template-columns:64px 1fr 78px 50px;gap:9px;cursor:default;padding:9px}
.item.edit.center{grid-template-columns:64px 1fr 50px}
.item.edit:active{transform:none;box-shadow:var(--sh-2),var(--hl)}
.item.edit input,.erow input{min-height:52px;padding:10px 12px}
.item.edit .em-in,.erow .em-in{text-align:center;font-size:22px;padding:10px 4px}
.item.edit .done{
  min-height:52px;border-radius:15px;font-size:19px;color:#fff;
  background:linear-gradient(180deg,var(--accent-2),var(--accent));
  box-shadow:var(--sh-1),inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .12s var(--press);
}
.item.edit .done:active{transform:translateY(2px) scale(.97)}

.erow{display:grid;grid-template-columns:64px 1fr 78px;gap:9px;margin-top:12px;align-items:center}
.erow .em-in{
  display:flex;align-items:center;justify-content:center;min-height:52px;
  border-radius:14px;background:var(--track);box-shadow:var(--sh-in);font-size:22px;
}

/* ---------- липкий низ мастера ---------- */
.wiz-foot{
  position:sticky;bottom:0;z-index:5;
  padding:12px 16px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,transparent,var(--bg) 32%);
}
.wiz-btns{display:grid;grid-template-columns:1fr;gap:11px}
.wiz-btns.two{grid-template-columns:104px 1fr}
.wiz-foot .btn{min-height:68px;font-size:19px}
.wiz-foot .btn.ghost{font-size:17px;padding:0 12px}
