#kb-garage{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;justify-content:center;
  pointer-events:none;transform:translateY(135%);transition:transform .55s cubic-bezier(.16,.84,.26,1)}
#kb-garage.on{transform:translateY(0)}
#kb-garage .kbg-wrap{position:relative;width:100%;max-width:540px;margin:0 12px;pointer-events:auto;
  filter:drop-shadow(0 -8px 26px rgba(0,0,0,.5))}
#kbg-cv{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;
  touch-action:none;cursor:grab;border-radius:14px 14px 0 0}
#kbg-cv:active{cursor:grabbing}
#kb-garage .kbg-bubble{position:absolute;left:5%;top:0;transform:translateY(-100%);
  font:700 12px/1.3 ui-monospace,Menlo,Consolas,monospace;color:#20242e;background:#f6f1df;
  border:3px solid #20242e;border-radius:10px;padding:8px 11px;max-width:74%;
  box-shadow:0 4px 0 rgba(0,0,0,.4);opacity:0;transition:opacity .3s;pointer-events:none}
#kb-garage .kbg-bubble.on{opacity:1}
#kb-garage .kbg-bubble:after{content:'';position:absolute;left:28px;bottom:-12px;width:0;height:0;
  border:9px solid transparent;border-top-color:#20242e;border-bottom:0}
#kb-garage .kbg-close{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:8px;
  background:rgba(0,0,0,.45);color:#fff;font:700 16px/1 system-ui;cursor:pointer;pointer-events:auto;opacity:.8}
#kb-garage .kbg-close:hover{opacity:1}
@media (max-width:480px){#kb-garage .kbg-bubble{font-size:10px;max-width:82%}}

/* confirm dialog (balance loss, etc.) */
.cfm-ovl{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(6,10,20,.72);backdrop-filter:blur(4px);animation:cfmFade .25s ease}
@keyframes cfmFade{from{opacity:0}to{opacity:1}}
.cfm-box{width:100%;max-width:420px;background:#111a2c;border:1px solid rgba(140,180,240,.16);
  border-radius:18px;padding:26px 24px 22px;box-shadow:0 24px 70px rgba(0,0,0,.55);text-align:center;
  animation:cfmPop .28s cubic-bezier(.2,.8,.2,1)}
@keyframes cfmPop{from{transform:translateY(12px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.cfm-ic{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font:800 28px/1 system-ui;color:#ffd36a;background:rgba(255,196,84,.12);
  border:1px solid rgba(255,196,84,.35)}
.cfm-h{margin:0 0 8px;font-size:19px;font-weight:800;color:#eef4ff}
.cfm-msg{margin:0 0 20px;font-size:14.5px;line-height:1.5;color:#b9c6df}
.cfm-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cfm-btns .btn{height:48px;width:100%}
