/* ============================================================
   TagArcade — hub.css (the neon room, on top of kit/arcade.css)
   ============================================================ */
#room{position:fixed;inset:0;display:block;touch-action:none;z-index:1;}

/* bottom bar */
#hub-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(52px + env(safe-area-inset-bottom));
  padding:0 14px env(safe-area-inset-bottom);display:flex;align-items:center;gap:12px;
  background:linear-gradient(0deg,#03050c,rgba(3,5,12,0));pointer-events:none;}
#hub-bar .hb-btn{pointer-events:auto;width:40px;height:40px;display:grid;place-items:center;font-size:19px;
  color:var(--dim);background:rgba(8,12,24,.7);border:2px solid var(--edge-soft);border-radius:0;}
#hub-bar .hb-btn:active{color:#fff;border-color:var(--blue);}
#hub-bar .hb-title{flex:1;text-align:center;font-family:var(--f-ui);font-size:17px;letter-spacing:3px;
  color:var(--faint);}
#hub-bar .hb-title b{color:var(--sky);}
/* the wallet, always in view (Director 2026-09-25: "couldn't see how many coins I had") */
#hub-bar .hb-coins{display:block;margin-top:2px;font-size:13px;letter-spacing:1.5px;color:#ffd23c;text-shadow:0 0 8px rgba(255,210,60,.45)}
/* Spanish phase 1 (Director 2026-10-04): the language SIGN under the title - both codes, the active one lit.
   Tap / ✕ / remote OK flips it. The visible pill is small; ::before widens the hit area to a 44px-tall target. */
#hub-bar .hb-sub{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:2px}
#hub-bar .hb-sub .hb-coins{margin-top:0}
#hub-bar .hb-lang{position:relative;pointer-events:auto;display:inline-flex;gap:0;padding:0;margin:0;cursor:pointer;
  font-family:var(--f-ui);font-size:13px;letter-spacing:1.5px;line-height:1;background:rgba(8,12,24,.7);
  border:1px solid var(--edge-soft);color:var(--faint)}
#hub-bar .hb-lang::before{content:'';position:absolute;left:-8px;right:-8px;top:-14px;bottom:-14px}
#hub-bar .hb-lang i{font-style:normal;padding:2px 5px}
#hub-bar .hb-lang i.on{color:#04070f;background:var(--sky)}

/* boot overlay */
#boot{position:fixed;inset:0;z-index:1000;background:#02030a;display:flex;align-items:center;justify-content:center;
  transition:opacity .5s;}
#boot.gone{opacity:0;pointer-events:none;}
#boot .boot-inner{text-align:center;}
#boot .boot-coin{font-size:44px;color:var(--warn);animation:coinSpin 1s ease-in-out infinite;text-shadow:0 0 20px var(--warn);}
#boot .boot-t{margin-top:14px;font-family:var(--f-pixel);font-size:13px;color:var(--sky);letter-spacing:2px;
  animation:blink 1s step-end infinite;}
@keyframes coinSpin{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.15)}}
@keyframes blink{50%{opacity:.25}}

/* modal (settings / credits) */
#modal{position:fixed;inset:0;z-index:1300;display:none;align-items:center;justify-content:center;background:rgba(2,4,10,.84);}
#modal.on{display:flex;}
#modal .modal-card{width:min(400px,90vw);max-height:84vh;overflow-y:auto;padding:20px 18px;}
#modal .modal-card h2{font-family:var(--f-pixel);font-size:16px;color:#fff;margin-bottom:16px;text-shadow:0 0 14px var(--blue);}
#modal .modal-card h3{font-family:var(--f-ui);font-size:19px;color:var(--sky);margin:14px 0 6px;letter-spacing:1px;}
#modal .modal-card p,#modal .modal-card li{font-size:16px;color:var(--dim);line-height:1.5;}
#modal .modal-card a{color:var(--cyan);}
#modal .modal-card ul{padding-left:18px;margin:4px 0;}
#modal .modal-card .btn{width:100%;margin-top:16px;}
