#gamesHubOverlay .gh-orbs-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
#gamesHubOverlay .gh-game-orb { min-width: 0; border: 1px solid #42464b; border-radius: 8px; overflow: hidden; background: #202429; padding: 0 0 14px; gap: 6px; text-align: left; align-items: stretch; }
#gamesHubOverlay .gh-orb-circle { width: 100%; height: auto; aspect-ratio: 20/11; border-radius: 0; box-shadow: none; margin: 0 0 6px; transform: none; }
.gh-orb-circle img { width: 100%; height: 100%; object-fit: cover; }
#gamesHubOverlay :is(.gh-orb-label,.gh-orb-desc,.gh-orb-best) { padding-inline: 12px; overflow-wrap: anywhere; }
#gamesHubOverlay .gh-orb-label { font-size: 16px; }
#gamesHubOverlay .gh-orb-desc { font-size: 12px; }
#gameCanvasOverlay { background: #10171d; }
#gameCanvas { min-height: 0; width: 100%; max-width: 680px; align-self: center; }
#gcmWorlds { display: flex; justify-content: center; gap: 12px; padding: 8px 12px; flex-shrink: 0; background: #202429; flex-wrap: wrap; }
#gcmWorlds[hidden] { display: none; }
#gcmWorlds label { display: flex; align-items: center; gap: 8px; color: #dce5e8; font-size: 12px; }
#gcmWorlds select { min-height: 40px; max-width: 170px; background: #111b22; color: white; border: 1px solid #55656c; border-radius: 6px; padding: 6px 10px; font: inherit; }
#gameCanvasOverlay button { touch-action: manipulation; }
#gamesHubOverlay button:focus-visible, #gameCanvasOverlay :is(button,select):focus-visible { outline: 2px solid #f6cb58; outline-offset: -3px; }
@media(min-width: 900px) { #gamesHubOverlay .gh-orbs-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }

#gcmSetup { width: min(520px, calc(100% - 24px)); max-height: calc(100dvh - 32px); margin: auto; padding: 20px; border: 1px solid #4b5660; border-radius: 8px; color: #f2f5f5; background: #1b242b; overflow-y: auto; }
#gcmSetup::backdrop { background: rgba(9,15,21,.88); }
.gcm-setup-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.gcm-setup-heading h2 { margin: 0; font: 700 24px system-ui; letter-spacing: 0; }
.gcm-setup-heading button { width: 44px; height: 44px; border: 1px solid #52616c; background: #27343e; border-radius: 6px; color: white; font-size: 22px; cursor: pointer; }
#gcmSetupPreview { display: block; width: 100%; aspect-ratio: 20/9; object-fit: cover; border-radius: 6px; margin-bottom: 18px; }
#gcmSetupOptions fieldset { display: flex; flex-wrap: wrap; gap: 8px; border: 0; padding: 0; margin: 0 0 18px; }
#gcmSetupOptions legend { color: #b7c9ce; font: 600 13px system-ui; padding: 0 0 10px; }
#gcmSetupOptions label { flex: 1 0 calc(50% - 8px); position: relative; cursor: pointer; }
#gcmSetupOptions input { position: absolute; opacity: 0; }
#gcmSetupOptions span { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px; background: #26353e; border: 1px solid #536672; border-radius: 6px; font: 600 14px system-ui; }
#gcmSetupOptions input:checked + span { background: #254c48; border-color: #74dcc1; color: #b7ffe7; }
#gcmSetupOptions input:focus-visible + span { outline: 2px solid #f4ce70; outline-offset: 2px; }
#gcmStart { display: block; width: 100%; min-height: 48px; border: 0; border-radius: 6px; background: #f2ca67; color: #14222b; font: 700 16px system-ui; cursor: pointer; }
#gcmSetup button:focus-visible { outline: 2px solid white; outline-offset: 2px; }

#gameCanvasOverlay :is(.gcm-header,.gcm-dpad,.gcm-road-ctrl) { background: #172a2d; border-color: #385151; }
#gameCanvasOverlay :is(.gcm-dp-btn,.gcm-road-btn) { background: #294348; color: #ecf9ee; border: 1px solid #537474; border-radius: 8px; box-shadow: 0 3px 0 #102023; }
#gameCanvasOverlay :is(.gcm-dp-btn,.gcm-road-btn):active { background: #417565; box-shadow: none; }
#gamesHubOverlay .gh-game-orb { background: #243537; border-color: #435d5c; }
