.game-course-dock[hidden], .game-course-return[hidden] { display:none !important; }
.game-course-dock { position:fixed; right:24px; bottom:calc(20px + env(safe-area-inset-bottom, 0px)); z-index:90; }
.game-course-dock .game-course-button, .game-course-return button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:9px 17px; border:1px solid #CFA8F4; border-radius:99px; background:#FFFFFF; color:#5B3D99; font-size:15px; font-weight:500; line-height:1.4; font-family:inherit; cursor:pointer; white-space:nowrap; }
.game-course-button { box-shadow:0 4px 18px #2A1A4F14; }
.game-course-exit { display:none; }
.game-course-dock .game-course-button svg { display:block; flex:none; width:18px; height:18px; filter:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.game-course-button:hover, .game-course-return button:hover { background:#FBF4EE; }
.game-course-button:focus-visible, .game-course-return button:focus-visible { outline:3px solid #5B3D99; outline-offset:3px; }
#heroSnake.sn-fs { flex-direction:column; }
#heroSnake.sn-fs > .sn-game { width:100%; }
#heroSnake.sn-fs > .game-course-dock { position:relative; right:auto; bottom:auto; flex:none; display:flex; justify-content:flex-end; padding:6px 16px calc(6px + env(safe-area-inset-bottom, 0px)); background:#FFFFFF; border-top:1px solid #CFA8F44d; z-index:4; }
#heroSnake.sn-fs > .game-course-dock .game-course-button { box-shadow:none; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) { background:#03050b; display:flex; flex-direction:column; padding:12px 16px 0; height:100dvh; overflow:auto; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) > .sf-game { flex:1 1 auto; min-height:0; width:100%; max-width:1100px; display:flex; flex-direction:column; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) .sf-stage { flex:1 1 auto; min-height:180px; height:auto; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) > .game-course-dock { position:relative; right:auto; bottom:auto; display:flex; flex:none; justify-content:space-between; gap:16px; padding:6px 0 calc(6px + env(safe-area-inset-bottom, 0px)); }
#heroRocket:is(:fullscreen, .game-page-fullscreen) .game-course-exit { display:inline-flex; align-items:center; border:0; background:transparent; color:#edf5ff; font-size:14px; padding:8px 12px; min-height:44px; }
.game-course-return { max-width:1080px; margin:0 auto 30px; padding:14px 18px; border:1px solid #CFA8F4; border-radius:18px; background:#FFFFFF; color:#40404C; font-size:15px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.game-course-return button { flex:none; }
#ielts-courses .f-title:focus { outline:none; }
@media (max-width:600px) {
  .game-course-dock { right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); }
  .game-course-dock .game-course-button { font-size:14px; padding:8px 14px; }
  .game-course-return { margin:0 16px 24px; padding:12px; gap:10px; font-size:13px; }
  .game-course-return button { font-size:13px; padding:8px 12px; }
}

/* Same page-covering fullscreen as Snake, including phones without element Fullscreen API. */
html.game-fullscreen-open, html.game-fullscreen-open body { overflow:hidden !important; overscroll-behavior:none; }
#heroRocket.game-page-fullscreen { position:fixed; inset:0; z-index:10000; width:100%; height:100vh; height:100dvh; max-width:none; margin:0; padding:env(safe-area-inset-top, 0px) 10px 0; border:0; border-radius:0; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) > .game-course-dock { width:100%; max-width:1100px; margin:0 auto; }
#heroRocket:is(:fullscreen, .game-page-fullscreen) .sf-credits { display:none; }
@media (max-width:760px) {
  #heroRocket.game-page-fullscreen .sf-header { padding:8px 10px 2px; font-size:15px; }
  #heroRocket.game-page-fullscreen .sf-tools { gap:6px; }
  #heroRocket.game-page-fullscreen .sf-tools button { padding:4px 8px; min-height:40px; font-size:13px; }
  #heroRocket.game-page-fullscreen .sf-status { padding:5px 10px 0; font-size:13px; }
  #heroRocket.game-page-fullscreen .sf-progress { padding:5px 10px 0; font-size:11px; }
  #heroRocket.game-page-fullscreen .sf-task { min-height:76px; padding:8px 10px 0; }
  #heroRocket.game-page-fullscreen .sf-prompt { font-size:24px; }
  #heroRocket.game-page-fullscreen .sf-hint { font-size:13px; }
  #heroRocket.game-page-fullscreen .sf-feedback { padding:5px 10px; font-size:12px; }
  #heroRocket.game-page-fullscreen .sf-stage { min-height:120px; }
}
@media (max-height:500px) and (orientation:landscape) {
  #heroRocket.game-page-fullscreen .sf-progress, #heroRocket.game-page-fullscreen .sf-feedback { display:none; }
  #heroRocket.game-page-fullscreen .sf-header { padding-top:4px; }
  #heroRocket.game-page-fullscreen .sf-task { min-height:48px; padding-top:2px; }
  #heroRocket.game-page-fullscreen .sf-prompt { font-size:20px; margin-bottom:0; }
  #heroRocket.game-page-fullscreen .sf-hint { font-size:12px; }
}

/* Shared footer: same controls, order and touch targets in every game. */
body:has(#features) .mg-root .mg-tools .mg-pause {background:var(--am-violet,#5B3D99);color:#fff;border-color:var(--am-violet,#5B3D99)}
:is(#heroSnake.sn-fs, .game-page-fullscreen) > .game-course-dock {
  position:relative;right:auto;bottom:auto;display:flex;flex:none;justify-content:space-between;
  align-items:center;gap:12px;width:100%;padding:6px 12px calc(6px + env(safe-area-inset-bottom, 0px));
}
:is(#heroSnake.sn-fs, .game-page-fullscreen) .game-course-exit {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;
  border:0;background:transparent;color:var(--am-violet,#5B3D99);font:inherit;font-size:14px;cursor:pointer;
}
#heroRocket.game-page-fullscreen .game-course-exit {color:#edf5ff}
.game-course-exit:focus-visible {outline:3px solid var(--am-violet,#5B3D99);outline-offset:2px;border-radius:99px}
#heroSnake.sn-fs .sn-fsexit {display:none!important}
#heroMatch.game-page-fullscreen {
  position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;
  width:100%;max-width:none;height:100vh;height:100dvh;margin:0;
  padding:env(safe-area-inset-top,0px) 10px 0;background:var(--am-cream,#FBF4EE);overflow:hidden;
}
#heroMatch.game-page-fullscreen > .mg-game {
  flex:1 1 auto;min-height:0;width:100%;max-width:900px!important;margin:0 auto;
  overflow:auto;overscroll-behavior:contain;border-radius:0 0 20px 20px;
}
#heroMatch.game-page-fullscreen .mg-header {
  position:sticky;top:0;z-index:5;background:var(--am-white,#fff);padding:10px 12px;
}
#heroMatch.game-page-fullscreen > .game-course-dock {max-width:900px;margin:0 auto}
#heroMatch.game-page-fullscreen .mg-boardwrap {padding-bottom:14px}
@media(max-width:760px){
  #heroMatch .mg-title {white-space:nowrap;font-size:14px}
  #heroMatch .mg-header {gap:8px;padding-left:10px;padding-right:10px}
  #heroMatch .mg-tools {gap:4px;flex-wrap:nowrap}
  #heroMatch .mg-tools button {padding:6px 8px;font-size:13px}
  #heroMatch.game-page-fullscreen .mg-hint {min-height:0;padding:10px 14px;line-height:1.5;font-size:14px}
  #heroMatch.game-page-fullscreen .mg-status {font-size:13px;gap:6px;padding:8px 14px 0}
  #heroMatch.game-page-fullscreen .mg-levels {padding:6px 12px}
}
