/* gm.css: the Game Master lock, sign-in and panel (js/gm.js, docs/admin-mode-plan.md).
   The lock and the Sandbox chip hide during a live round (js/gm.js placeLock), so nothing sits on the HUD or the art. */
#gmLock{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));z-index:45;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:rgba(250,250,250,.55);cursor:pointer}
#gmLock::before{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(14,15,11,.55);border:1px solid rgba(255,255,255,.14)}
#gmLock svg{position:relative}
#gmLock:hover,#gmLock:focus-visible{color:#fafafa}
#gmLock.on{color:#5dba63}
#gmLock.sb{color:#ff5b1f}
/* in the lobby bar: a narrow slot after the version tag (the tag opens the panel too, so the tap area is tag plus lock) */
#gmLock.inbar{position:relative;top:auto;right:auto;width:28px;height:44px;margin-left:-4px;z-index:auto;order:100}
#gmLock.inbar::before{inset:8px 0}
#verTag.gmsb{color:#ff5b1f}
#gmChip{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:calc(max(8px,env(safe-area-inset-right,0px)) + 46px);z-index:45;
  padding:5px 8px;border:1px solid #ff5b1f;background:#1a1b15;color:#ff5b1f;font:700 11px var(--font-mono,monospace);letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
#gmLock[hidden],#gmChip[hidden]{display:none}

.gmveil{z-index:60}
.gmpanel{width:min(calc(100vw - 32px),420px);max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;box-sizing:border-box}
.gmpanel .h1{margin:0 0 6px}
.gmsub{margin:4px 0 10px;font-size:13px;line-height:1.4;opacity:.85}
.gmfield{display:block;margin:0 0 10px;font:600 11px var(--font-mono,monospace);letter-spacing:.8px;text-transform:uppercase}
.gmfield input,.gmfield select{display:block;width:100%;box-sizing:border-box;margin-top:4px;min-height:44px;padding:8px 10px;font:500 16px system-ui,sans-serif;
  background:#0e0f0b;color:#fafafa;border:1px solid #3a3b33;border-radius:0}
.gmpanel .go,.gmpanel .alt{width:100%;margin-top:8px;min-height:44px}
.gmlink{display:inline;background:none;border:0;padding:6px 0;color:#5dba63;cursor:pointer;font-size:12px;text-decoration:underline;min-height:0}
.gmmsg{margin:6px 0 10px;padding:8px 10px;font-size:13px;line-height:1.4;border-left:3px solid}
.gmmsg.good{border-color:#5dba63;background:rgba(93,186,99,.12)}
.gmmsg.bad{border-color:#ff5b1f;background:rgba(255,91,31,.12)}
.gmbox{margin-top:14px;padding-top:10px;border-top:1px solid #2a2b24}
.gmtabs{display:flex;gap:4px;margin:4px 0 10px}
.gmtabs button{flex:1 1 0;min-width:0;min-height:44px;padding:6px 2px;background:#0e0f0b;color:#fafafa;border:1px solid #3a3b33;font:700 11px var(--font-mono,monospace);letter-spacing:.3px;text-transform:uppercase;cursor:pointer;overflow:hidden;text-overflow:ellipsis}
.gmtabs button[aria-selected="true"]{background:#5dba63;color:#0e0f0b;border-color:#5dba63}
.gmgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin:0 0 8px}
.gmgrid button{min-height:44px;background:#0e0f0b;color:#fafafa;border:1px solid #3a3b33;font:700 13px var(--font-mono,monospace);cursor:pointer}
.gmgrid button[aria-pressed="true"]{background:#5dba63;color:#0e0f0b;border-color:#5dba63}
.gmgrid button:disabled{opacity:.35;cursor:default}
.gmrow{display:flex;gap:8px}
.gmrow .alt{flex:1}
.gmh{margin:14px 0 6px;font:700 11px var(--font-mono,monospace);letter-spacing:1px;text-transform:uppercase;opacity:.8}
.gmlist{display:flex;flex-direction:column;gap:6px;font-size:13px}
.gmlist small{display:block;opacity:.7;font-size:11px;margin-top:2px}
.gmmono{font-family:var(--font-mono,monospace);font-size:12px;word-break:break-all}
.gmtoggle{display:flex;align-items:center;gap:8px;min-height:36px;font:500 13px var(--font-mono,monospace)}
.gmtoggle input{width:20px;height:20px}
.gmcfg{padding:8px 0;border-bottom:1px solid #2a2b24}
.gmcfg .alt{margin-top:6px;min-height:36px}
.gmlive{color:#5dba63;font:700 11px var(--font-mono,monospace);text-transform:uppercase}
.gmoff{color:#ff5b1f;font:700 11px var(--font-mono,monospace);text-transform:uppercase}
.gmfoot{margin:14px 0 0;font-size:12px;opacity:.8}

/* dev stats: one thin line under the lobby bar on the left, clear of the zoom buttons on the right; ignores taps.
   js/gm.js hides it during live play and while any card is open. */
#gmStats{position:fixed;left:max(6px,env(safe-area-inset-left,0px));top:calc(64px + env(safe-area-inset-top,0px));z-index:29;pointer-events:none;
  max-width:calc(100vw - 76px);box-sizing:border-box;padding:2px 6px;background:rgba(0,0,0,.55);color:#cfe9d1;font:500 11px/1.3 var(--font-mono,monospace);white-space:normal}
#gmStats[hidden]{display:none}
