/* ─── TOAST ─── */
#toast-root{
  position:fixed;
  bottom:calc(92px + env(safe-area-inset-bottom));
  left:50%;transform:translateX(-50%);
  z-index:9999;display:flex;flex-direction:column;gap:8px;
  align-items:center;pointer-events:none;
}
.toast{
  background:rgba(28,27,24,.9);color:#fff;
  padding:10px 20px;border-radius:100px;
  font-size:13px;font-weight:500;white-space:nowrap;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  animation:tIn .2s cubic-bezier(0.34,1.3,0.64,1),tOut .22s ease 2.3s forwards;
}
.toast-confirm{
  pointer-events:auto;display:flex;align-items:center;gap:10px;
  padding:8px 9px 8px 16px;animation:tIn .2s cubic-bezier(0.34,1.3,0.64,1) both;
}
.toast-actions{display:flex;align-items:center;gap:4px}
.toast-btn{
  border:none;border-radius:100px;padding:7px 11px;font-size:12px;font-weight:700;
  font-family:inherit;line-height:1;cursor:pointer;touch-action:manipulation;
  transition:opacity .12s,transform .18s cubic-bezier(0.34,1.5,0.64,1);
}
.toast-btn:active{transform:scale(.92)}
.toast-cancel{background:transparent;color:rgba(255,255,255,.72)}
.toast-ok{background:#fff;color:var(--t1)}
@media(hover:hover){.toast-btn:hover{opacity:.82}}
@keyframes tIn{from{opacity:0;transform:translateY(10px) scale(.93)}to{opacity:1;transform:none}}
@keyframes tOut{to{opacity:0;transform:translateY(5px)}}
