/* Klever Controller — connect pill, balance chip, signing modal.
   Loaded by every /games/<id>.html alongside klever-controller.js. */

.kc-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(124,58,237,.18);border:1px solid rgba(124,58,237,.42);
  color:var(--text,#e2e8f0);
  padding:5px 12px;border-radius:99px;cursor:pointer;
  transition:all .18s;user-select:none;
}
.kc-pill:hover{ border-color:var(--gold,#f59e0b); background:rgba(124,58,237,.32); }
.kc-pill .kc-dot{ width:7px;height:7px;border-radius:50%;background:var(--muted,#94a3b8); }
.kc-pill.kc-connected{ border-color:rgba(34,197,94,.55); background:rgba(34,197,94,.12); }
.kc-pill.kc-connected .kc-dot{ background:var(--success,#22c55e); box-shadow:0 0 6px var(--success,#22c55e); }
.kc-pill .kc-addr{ color:var(--gold,#f59e0b); font-weight:700; }
.kc-pill.kc-busy{ opacity:.6; cursor:wait; }

.kc-bal{
  display:inline-flex;align-items:center;gap:5px;
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.08em;
  background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.32);
  color:var(--g,#c9a84c);
  padding:4px 10px;border-radius:99px;
}

.kc-disc{ cursor:pointer;color:var(--cr,#e03333);font-size:.7rem;line-height:1;padding:0 4px;border-radius:50%;transition:background .15s; }
.kc-disc:hover{ background:rgba(224,51,51,.18); }

.kc-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(24px);
  background:rgba(20,14,28,.97);border:1px solid rgba(201,168,76,.45);border-radius:8px;
  color:var(--br,#f5e6c0);
  padding:10px 18px;font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.07em;
  opacity:0;transition:transform .25s,opacity .25s;
  z-index:1100;pointer-events:none;max-width:88vw;text-align:center;
}
.kc-toast.kc-on{ opacity:1; transform:translateX(-50%) translateY(0); }
.kc-toast.kc-ok{ border-color:rgba(34,197,94,.55); color:var(--nt,#22c55e); }
.kc-toast.kc-err{ border-color:rgba(224,51,51,.55); color:var(--cr,#e03333); }

.kc-sign-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.86);
  display:none;align-items:center;justify-content:center;
  z-index:1200;backdrop-filter:blur(6px);
}
.kc-sign-modal.kc-on{ display:flex; }
.kc-sign-box{
  background:var(--p,#140e1c);border:1px solid rgba(124,58,237,.5);border-radius:12px;
  padding:24px;max-width:420px;width:92%;text-align:center;
  box-shadow:0 0 50px rgba(124,58,237,.2);
}
.kc-sign-title{ font-family:'Cinzel Decorative','Cinzel',serif;font-size:1.1rem;color:var(--gold,#f59e0b);margin-bottom:9px;letter-spacing:.08em; }
.kc-sign-body{ font-size:.78rem;color:var(--md,#a08060);line-height:1.6;margin-bottom:14px; }
.kc-sign-row{ display:flex;justify-content:space-between;font-family:'Cinzel',serif;font-size:.7rem;padding:5px 0;border-bottom:1px dashed rgba(201,168,76,.18); }
.kc-sign-row:last-child{ border-bottom:none; }
.kc-sign-row span:first-child{ color:var(--dm,#4a3a2a);text-transform:uppercase;letter-spacing:.1em; }
.kc-sign-row span:last-child{ color:var(--g,#c9a84c);font-weight:700; }
.kc-sign-actions{ display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap; }

/* ── VIP pill (added 2026-05-09) ── */
.vip-pill{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;background:rgba(20,30,40,.7);border:1px solid #2a3540;font-family:Rajdhani,sans-serif;font-size:13px;color:#cfd8dc;margin-left:8px}
.vip-pill .vip-glyph{font-size:16px}
.vip-pill .vip-name{font-weight:700;letter-spacing:.5px}
.vip-pill .vip-level{opacity:.85}
.vip-pill .vip-spent{opacity:.7;font-size:12px}
