/* ── LEVEL UP OVERLAY ── */
.levelup-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(28,25,23,0.78);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity var(--dur-med) var(--ease-out);
}
.levelup-overlay.on{opacity:1;pointer-events:auto}
.levelup-card{
  background:var(--s1);
  border:1px solid var(--bd2);
  border-radius:var(--r-lg);
  padding:var(--sp-7) var(--sp-6);
  text-align:center;
  box-shadow:0 24px 64px rgba(0,0,0,0.4);
  transform:scale(0.85);
  transition:transform var(--dur-med) var(--ease-out);
}
.levelup-overlay.on .levelup-card{transform:scale(1)}
.levelup-label{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold)}
.levelup-level{font-family:var(--font-display);font-size:56px;font-weight:600;color:var(--tp);letter-spacing:-0.02em;margin-top:var(--sp-3);margin-bottom:var(--sp-2)}
.levelup-sub{font-size:13px;color:var(--ts)}

/* ── LOADING STATE (buttons mid-request) ── */
.is-loading{opacity:0.55;pointer-events:none}

/* ── TOAST ── */
@keyframes ta{
  0%{opacity:0;transform:translateX(-50%) translateY(8px)}
  10%,80%{opacity:1;transform:translateX(-50%) translateY(0)}
  100%{opacity:0}
}
.toast{
  position:fixed;bottom:calc(88px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);
  background:var(--tp);
  color:#F6EFE0;
  border-radius:var(--r-sm);
  padding:10px 20px;font-size:12px;font-weight:500;
  letter-spacing:0.02em;
  box-shadow:var(--shadow-md);
  animation:ta 3.1s ease forwards;
  pointer-events:none;z-index:999;
  white-space:nowrap;
}
@media (min-width:768px){.toast{bottom:24px}}
