#author_name{
  width: 160px;
  font-size: large;
  margin: auto 0 auto 8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color: #333;
}
.project-title{
color: #333;
line-height: 68px;
height: 68px;
text-align: center;
font-size:x-large;
}
#project_slt{
    background-repeat:no-repeat;
    background-position-x: center;
    background-position-y: center;
    background-size: 100%;
    height: 360px;
    border-radius: 10px;

    display:flex;
    align-items: center;
    justify-content: center;
}
.green-flag-box{
    height: 88px;
    width: 88px;

    background-color: #FFF;
    border-radius:5px;
    color: #333;
    cursor: pointer;
    opacity: 0.9;
}
.green-flag{
    height: 48px;
    width: 48px;
    margin: 10px 0 5px 20px;
}
.scratch-player-bottom{
margin: 18px 0;
display: flex;
justify-content: center;
}

.share-iconbox {
position: relative;
display: inline-block;
margin-right: 18px;
}
.weixin-bar{
display: none;
width: 132px;
height: 132px;
border:20px solid #fff;
position: absolute;
left: -46px;
bottom: 110%;
z-index: 9999;
box-shadow: 0 0 4px rgba(0,0,0,.1)
}
.weixin-bar img{
width: 100%;
height: 100%;
}
.share-iconbox:hover .weixin-bar{
display: block;
}

/*虚拟键盘------------------------------*/
/*.key {*/
/*width: 6rem;*/
/*height: 6rem;*/
/*position: absolute;*/
/*}*/
/*.up {*/
/*  left: 9rem;*/
/*  bottom: 16rem;*/
/*  background: url(/img/icon/up.png) no-repeat center/contain;*/
/*}*/
/*.down {*/
/*  left: 9rem;*/
/*  bottom: 2rem;*/
/*  background: url(/img/icon/down.png) no-repeat center/contain;*/
/*}*/
/*.left {*/
/*left: 2rem;*/
/*bottom: 9rem;*/
/*background: url(/img/icon/left.png) no-repeat center/contain;*/
/*}*/
/*.right {*/
/*left: 16rem;*/
/*bottom: 9rem;*/
/*background: url(/img/icon/right.png) no-repeat center/contain;*/
/*}*/
/*.up .active{*/
/*background: url(/img/icon/upactive.png) no-repeat center/contain;*/
/*}*/
/*.down .active{*/
/*background: url(/img/icon/downactive.png) no-repeat center/contain;*/
/*}*/
/*.left .active{*/
/*background: url(/img/icon/leftactive.png) no-repeat center/contain;*/
/*}*/
/*.right .active{*/
/*background: url(/img/icon/rightactive.png) no-repeat center/contain;*/
/*}*/

/*.space {*/
/*width: 8rem;*/
/*height: 8rem;*/
/*position: absolute;*/
/*right: 2rem;*/
/*bottom: 8rem;*/
/*background: url(/img/icon/space.png) no-repeat center/contain;*/
/*}*/
/*.space .active{*/
/*background: url(/img/icon/spaceactive.png) no-repeat center/contain;*/
/*}*/

/*播放部分------------------------------*/
#container_play{
  height: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: black;
  font-size: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  overflow: hidden;
}
  #wrapper {
    display: block;
    width: 100vw;
    height: 75vw;
    position: relative;
  }
  #monitors {
    position: absolute;
    top: 0;
    left: 0;
  }
  @media (min-aspect-ratio: 480/360) {
    #wrapper.bak {
      height: 100vh;
      width: 133.33333333333334vh;
    }
    #wrapper {
      height: 100%;
      width: 133.33333333333334vh;

      display:flex;
      align-items: center;
      justify-content: center;
    }
  }
  #stage {
    width: 100%;
    height: 100%;
  }

  #loading-progress1 {
    color: #0ff;
    position: fixed;

    bottom: 0;
    left: 0;
    font-size: 16px;
  }
  #loading-progress {
  position: absolute;
  left: 0;
  right: 0;
  top:200px;
  background-color: rgba(33, 33, 33, 0.7);
  text-align: center;
  line-height: 58px;
}
  #fullscreen-btn {
    -webkit-appearance: none;
    border: none;
    background: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"%3E%3Cpath d="M14 28h-4v10h10v-4h-6v-6zm-4-8h4v-6h6v-4H10v10zm24 14h-6v4h10V28h-4v6zm-6-24v4h6v6h4V10H28z" fill="%23fff"/%3E%3C/svg%3E');
    background-color: rgba(0, 0, 0, 0.5);
    border-bottom-left-radius: 10px;
    z-index: 100;
  }
  .fullscreen #fullscreen-btn {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"%3E%3Cpath d="M10 32h6v6h4V28H10v4zm6-16h-6v4h10V10h-4v6zm12 22h4v-6h6v-4H28v10zm4-22v-6h-4v10h10v-4h-6z" fill="%23fff"/%3E%3C/svg%3E');
  }
  
  #maximize-btn {
    -webkit-appearance: none;
    border: none;
    background: none;
    position: fixed;
    top: 0;
    right: 35px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"%3E%3Cpath d="M 6,10 H 42 V 38 H 6 Z M 10,14 V 34 H 38 V 14 Z" fill="%23fff"/%3E%3C/svg%3E');
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 100;
    border-bottom-left-radius: 5px;
    transition: all 0.3s ease;
  }
  
  #maximize-btn:hover, #fullscreen-btn:hover {
    background-color: rgba(0, 0, 0, 0.8);
    transform: scale(1.1);
  }
  
  .maximized #stage,
  .maximized #wrapper,
  .maximized #container_play {
    width: 95vw !important;
    height: 71.25vw !important;
    max-height: 90vh !important;
    max-width: 120vh !important;
    margin: 0 auto !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 1000 !important;
    background-color: #000 !important;
  }
  
  /* 确保监视器在最大化模式下正确显示 */
  .maximized #monitors {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1010 !important;
    pointer-events: none !important;
    transform: scale(1) !important;
  }
  
  .maximized .monitor {
    pointer-events: auto !important;
    transform: scale(1.2) !important;
    transform-origin: left top !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
  }
  
  @media (max-aspect-ratio: 4/3) {
    .maximized #stage,
    .maximized #wrapper,
    .maximized #container_play {
      width: 120vh !important;
      height: 90vh !important;
    }
  }
  
  @media (max-width: 768px) {
    .maximized #stage,
    .maximized #wrapper,
    .maximized #container_play {
      width: 100vw !important;
      height: 75vw !important;
      max-height: 80vh !important;
    }
    .maximized .monitor {
      transform: scale(1) !important;
    }
  }
  
  .maximized {
    overflow: hidden !important;
  }
  
  .maximized #container_play {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .maximized #stage {
    object-fit: contain !important;
  }
  
  .maximized #maximize-btn {
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"%3E%3Cpath d="M 6,14 H 22 V 26 H 6 Z M 26,14 H 42 V 26 H 26 Z M 6,30 H 22 V 42 H 6 Z M 26,30 H 42 V 42 H 26 Z" fill="%23fff"/%3E%3C/svg%3E');
  }

  .monitor {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.25rem;
    font-size: 0.75rem;
    overflow: hidden;
    padding: 3px;
    color: white;
    white-space: pre;
  }
  .monitor-label {
    margin: 0 5px;
    font-weight: bold;
  }
  .monitor-value {
    display: inline-block;
    vertical-align: top;
    min-width: 34px;
    text-align: center;
    border-radius: 0.25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: text;
    transform: translateZ(0);
  }
  .default .monitor-value, .slider .monitor-value {
    background-color: rgba(0, 0, 0, 0.5);
    margin: 0 5px;
    padding: 1px 3px;
  }
  .large {
    background-color: rgba(0, 0, 0, 0.6);
    padding: 0.1rem 0.25rem;
    min-width: 3rem;
  }
  .large .monitor-label {
    display: none;
  }
  .large .monitor-value {
    font-size: 1rem;
    width: 100%;
  }
  .list {
    padding: 0;
    overflow: auto;
    overflow-x: hidden;
  }
  .list .monitor-label {
    text-align: center;
    padding: 3px;
    width: 100%;
    display: block;
    margin: 0;
    box-sizing: border-box;
    white-space: pre-wrap;
  }
  .list .monitor-value {
    display: block;
  }
  .slider input {
    display: block;
    width: 100%;
    transform: translateZ(0);
  }
  #asking-box {
    display: none;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(33, 33, 33, 0.7);
  }
  .asking #asking-box {
    display: block;
  }
  #question {
    display: block;
    margin: 0 10px;
    margin-top: 10px;
    font-size: 12px;
    color: white;
  }
  #answer {
    border: none;
    background: none;
    width: 100%;
    font: inherit;
    font-size: 16px;
    color: white;
    padding: 10px;
    box-sizing: border-box;
  }
  #answer:focus {
    outline: none;
  }

  #fullscreen-btn:hover::after {
    content: "全屏";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    top: 35px;
    right: 0;
  }
  
  #maximize-btn:hover::after {
    content: "最大化";
    position: absolute;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    top: 35px;
    right: 0;
  }
  
  .maximized #maximize-btn:hover::after {
    content: "恢复大小";
  }

  /* 确保询问框在最大化模式下正确显示 */
  .maximized #asking-box {
    z-index: 1020 !important; /* 比监视器更高的层级 */
    transform: scale(1.2) !important;
    transform-origin: center !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    padding: 20px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
  }
  
  .maximized #question {
    color: white !important;
    font-size: 16px !important;
    margin-bottom: 10px !important;
  }
  
  .maximized #answer {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: black !important;
    font-size: 16px !important;
    padding: 8px !important;
    border-radius: 5px !important;
    border: none !important;
    width: 100% !important;
  }

/* 针对平板设备的额外优化 */
@media (max-width: 1024px) {
  #head_box {
    padding: 0 10px;
  }
  
  .project-title {
    font-size: large;
    line-height: 50px;
    height: 50px;
  }
  
  .scratch-player-bottom {
    flex-wrap: wrap;
    justify-content: center;
  }
  
  .scratch-player-bottom button {
    margin-bottom: 10px;
  }
  
  #project_slt {
    height: 300px;
  }
}

/* 针对小型平板和大型手机的优化 */
@media (max-width: 768px) {
  #project_slt {
    height: 250px;
  }
  
  .layui-container {
    padding: 0 5px;
  }
  
  #wrapper {
    width: 100% !important;
    height: auto !important;
  }
  
  #stage {
    width: 100% !important;
    height: auto !important;
  }
}

/* 强制横屏模式 */
@media (orientation: portrait) {
  body.force-landscape {
    transform: rotate(90deg);
    transform-origin: left top;
    width: 100vh;
    height: 100vw;
    overflow-x: hidden;
    position: absolute;
    top: 100%;
    left: 0;
  }
  
  body.force-landscape #maximize-overlay {
    transform: rotate(-90deg);
    transform-origin: left top;
    width: 100vh;
    height: 100vw;
    position: fixed;
    top: 100%;
    left: 0;
  }
  
  body.force-landscape .maximized #container_play {
    width: 95vh !important;
    height: 71.25vh !important;
    max-width: 120vw !important;
    max-height: 90vw !important;
  }
}

/* 强制横屏模式下的控制元素调整 */
body.force-landscape .maximized #fullscreen-btn,
body.force-landscape .maximized #maximize-btn {
  transform: rotate(-90deg);
  right: auto;
  top: auto;
}

body.force-landscape .maximized #fullscreen-btn {
  bottom: 30px;
  left: 30px;
}

body.force-landscape .maximized #maximize-btn {
  bottom: 70px;
  left: 30px;
}

/* 添加横屏指示器，提示用户最好横屏使用 */
.landscape-indicator {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  z-index: 2000;
  font-size: 18px;
}

.landscape-indicator.show {
  display: block;
}

.landscape-indicator-icon {
  display: block;
  width: 80px;
  height: 80px;
  margin: 10px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.48 2.52c3.27 1.55 5.61 4.72 5.97 8.48h1.5C23.44 4.84 18.29 0 12 0l-.66.03 3.81 3.81 1.33-1.32zm-6.25-.77c-.59-.59-1.54-.59-2.12 0L1.75 8.11c-.59.59-.59 1.54 0 2.12l12.02 12.02c.59.59 1.54.59 2.12 0l6.36-6.36c.59-.59.59-1.54 0-2.12L10.23 1.75zm4.6 19.44L2.81 9.17l6.36-6.36 12.02 12.02-6.36 6.36zm-7.31.29C4.25 19.94 1.91 16.76 1.55 13H.05C.56 19.16 5.71 24 12 24l.66-.03-3.81-3.81-1.33 1.32z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  animation: rotate 2s infinite ease-in-out;
}

@keyframes rotate {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(90deg); }
  75% { transform: rotate(90deg); }
  100% { transform: rotate(0deg); }
}

/* 优化强制横屏模式下监视器初始位置 */
body.force-landscape .maximized .monitor {
  position: absolute !important; /* 确保所有监视器都使用绝对定位 */
  margin: 0 !important;
  transform: scale(1.2) !important; /* 移除translate，将由JavaScript动态设置位置 */
  transform-origin: center center !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
  border: 2px solid rgba(100, 200, 255, 0.5) !important;
  box-shadow: 0 0 15px rgba(0, 150, 255, 0.5) !important;
  border-radius: 8px !important;
  padding: 8px !important;
  z-index: 1100 !important;
  color: white !important;
  font-weight: bold !important;
  min-width: 80px !important;
  transition: all 0.3s ease !important; /* 添加过渡效果使位置变化更平滑 */
}

/* 确保监视器容器占满整个区域 */
body.force-landscape .maximized #monitors {
  transform: none !important; /* 移除旋转，由JavaScript处理位置 */
  transform-origin: center center !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 1010 !important;
  pointer-events: none !important;
}

body.force-landscape .maximized .monitor-label {
  color: #4fc3f7 !important;
  font-size: 110% !important;
  margin-bottom: 5px !important;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8) !important;
}

body.force-landscape .maximized .monitor-value {
  color: #fff !important;
  background-color: rgba(0, 0, 0, 0.6) !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  font-size: 115% !important;
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3) !important;
  text-shadow: 0 0 3px rgba(0, 150, 255, 0.7) !important;
}

body.force-landscape .maximized .large .monitor-value {
  font-size: 130% !important;
  font-weight: bold !important;
  padding: 10px !important;
  min-width: 100px !important;
  text-align: center !important;
}

body.force-landscape .maximized .list {
  max-height: 70% !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(100, 200, 255, 0.5) rgba(0, 0, 0, 0.2) !important;
}

body.force-landscape .maximized .list .monitor-value {
  max-height: 200px !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
  border: 1px solid rgba(100, 200, 255, 0.3) !important;
}

@media (max-height: 500px) {
  body.force-landscape .maximized .monitor {
    transform: scale(1) translate(10%, 10%) !important;
    padding: 4px !important;
  }
  
  body.force-landscape .maximized .monitor-label {
    font-size: 100% !important;
    margin-bottom: 2px !important;
  }
  
  body.force-landscape .maximized .monitor-value {
    font-size: 100% !important;
    padding: 2px 4px !important;
  }
}

/* 强制横屏模式下的询问框调整 */
body.force-landscape .maximized #asking-box {
  transform: rotate(-90deg);
  transform-origin: center center;
  z-index: 1200 !important;
  background-color: rgba(0, 0, 0, 0.8) !important;
  border-radius: 10px !important;
  padding: 15px !important;
  border: 2px solid rgba(100, 200, 255, 0.5) !important;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.6) !important;
}
