* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
li {
  list-style: none;
}
@font-face {
  font-family: electronicFont;
  src: url(../font/DS-DIGIT.TTF);
}
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  /*  背景图定位 / 背景图尺寸  cover 完全铺满容器  contain 完整显示在容器内 */
  background: url(../images/bg.png) no-repeat #000;
  background-size: cover;
  /* 行高是字体1.15倍 */
  line-height: 1.15;
}

header {
  flex-shrink: 0;
}

main {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.navbar {
  flex-shrink: 0;
}

.system-setting-panel {
  flex-shrink: 0;
}

.mainbox {
  flex: 1;
  overflow: hidden;
  display: flex;
}

.mainbox .column {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.panel {
  flex: 1;
  overflow: hidden;
  margin-bottom: 0.1875rem;
}
header {
  position: relative;
  height: 2rem;
  background: url(../images/head_bg.png) no-repeat top center;
  background-size: 100% 100%;
  padding-bottom: 0.3rem;
}
header h1 {
  font-size: 0.475rem;
  color: #fff;
  text-align: center;
  line-height: 1rem;
  margin-bottom: 5px;
}
header .showTime {
  position: absolute;
  top: 0;
  right: 0.375rem;
  line-height: 0.9375rem;
  font-size: 0.25rem;
  color: rgba(255, 255, 255, 0.7);
}

/* 隐藏原来的底部数据修改面板 */
.data-editor {
  display: none !important;
}

/* 导航栏样式 */
.navbar {
  position: relative;
  width: 100%;
  height: 0.6rem;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(25, 186, 139, 0.17);
  margin: 0 auto;
  max-width: 1200px;
  z-index: 1000;
}

/* 系统设置面板样式 */
.system-setting-panel {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0.5rem;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(25, 186, 139, 0.17);
  border-radius: 4px;
  overflow: hidden;
  display: none;
  z-index: 999;
}

.system-setting-panel.show {
  display: block;
}

.system-setting-panel .panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.2rem 0.5rem;
  background: rgba(25, 186, 139, 0.1);
  border-bottom: 1px solid rgba(25, 186, 139, 0.17);
}

.system-setting-panel .panel-header h3 {
  margin: 0;
  color: #fff;
  font-size: 0.25rem;
  font-weight: normal;
}

.system-setting-panel .close-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 0.3rem;
  cursor: pointer;
  padding: 0;
  width: 0.4rem;
  height: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.system-setting-panel .close-btn:hover {
  background: rgba(255, 255, 255, 0.1);
}

.system-setting-panel .panel-content {
  padding: 0.3rem;
}

.system-setting-panel .tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem;
  margin-bottom: 0.3rem;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid rgba(25, 186, 139, 0.17);
}

.system-setting-panel .tab-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(25, 186, 139, 0.17);
  color: rgba(255, 255, 255, 0.7);
  padding: 0.1rem 0.3rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.2rem;
  transition: all 0.3s ease;
}

.system-setting-panel .tab-btn:hover {
  background: rgba(25, 186, 139, 0.3);
  color: #fff;
}

.system-setting-panel .tab-btn.active {
  background: rgba(25, 186, 139, 0.5);
  color: #fff;
  border-color: rgba(25, 186, 139, 0.5);
}

.system-setting-panel .tab-content {
  min-height: 2rem;
}

.system-setting-panel .tab-pane {
  display: none;
}

.system-setting-panel .tab-pane.active {
  display: block;
}

.system-setting-panel .data-item {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.system-setting-panel .data-item label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.2rem;
  min-width: 1.2rem;
}

.system-setting-panel .data-item input {
  flex: 1;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(25, 186, 139, 0.17);
  color: #fff;
  padding: 0.1rem 0.2rem;
  border-radius: 4px;
  font-size: 0.2rem;
  outline: none;
  transition: all 0.3s ease;
}

.system-setting-panel .data-item input:focus {
  border-color: rgba(25, 186, 139, 0.5);
  box-shadow: 0 0 0 2px rgba(25, 186, 139, 0.2);
}

.system-setting-panel .update-btn {
  background: rgba(25, 186, 139, 0.5);
  border: 1px solid rgba(25, 186, 139, 0.5);
  color: #fff;
  padding: 0.15rem 0.4rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.2rem;
  margin-top: 0.2rem;
  transition: all 0.3s ease;
}

.system-setting-panel .update-btn:hover {
  background: rgba(25, 186, 139, 0.7);
  border-color: rgba(25, 186, 139, 0.7);
}

.navbar ul {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
  padding: 0 1rem;
}

.nav-item {
  margin: 0 8px;
  position: relative;
}

.nav-item a {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.225rem;
  padding: 0.1rem 0.4rem;
  border-radius: 4px;
  transition: all 0.3s ease;
}

.nav-item a:hover {
  color: #fff;
  background: rgba(25, 186, 139, 0.3);
}

.nav-item.active a {
  color: #fff;
  background: rgba(25, 186, 139, 0.5);
  border: 1px solid rgba(25, 186, 139, 0.8);
}

/* 导航栏边框装饰 */
.navbar {
  position: relative;
}

.navbar::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #02a6b5;
  border-left: 2px solid #02a6b5;
}

.navbar::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #02a6b5;
  border-right: 2px solid #02a6b5;
}

.navbar .nav-bottom-left {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #02a6b5;
  border-left: 2px solid #02a6b5;
}

.navbar .nav-bottom-right {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #02a6b5;
  border-right: 2px solid #02a6b5;
}
.mainbox {
  min-width: 1024px;
  max-width: 1920px;
  padding: 0.125rem 0.125rem 0;
  display: flex;
}
.mainbox .column {
  flex: 3;
}
.mainbox .column:nth-child(2) {
  flex: 5;
  margin: 0 0.125rem 0.1875rem;
  overflow: hidden;
}
.panel {
  position: relative;
  height: 3.875rem;
  border: 1px solid rgba(25, 186, 139, 0.17);
  background: rgba(255, 255, 255, 0.04) url(../images/line\(1\).png);
  padding: 0 0.1875rem 0.5rem;
  margin-bottom: 0.1875rem;
}
.panel::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #02a6b5;
  border-left: 2px solid #02a6b5;
}
.panel::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #02a6b5;
  border-right: 2px solid #02a6b5;
}
.panel .panel-footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.panel .panel-footer::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #02a6b5;
  border-left: 2px solid #02a6b5;
}
.panel .panel-footer::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #02a6b5;
  border-right: 2px solid #02a6b5;
}
.panel h2 {
  height: 0.6rem;
  line-height: 0.6rem;
  text-align: center;
  color: #fff;
  font-size: 0.25rem;
  font-weight: 400;
}
.panel h2 a {
  margin: 0 0.1875rem;
  color: #fff;
  text-decoration: underline;
}
.panel .chart {
  height: 3rem;
}
.no {
  background: rgba(101, 132, 226, 0.1);
  padding: 0.1875rem;
}
.no .no-hd {
  position: relative;
  border: 1px solid rgba(25, 186, 139, 0.17);
}
.no .no-hd::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 10px;
  border-top: 2px solid #02a6b5;
  border-left: 2px solid #02a6b5;
  top: 0;
  left: 0;
}
.no .no-hd::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 10px;
  border-bottom: 2px solid #02a6b5;
  border-right: 2px solid #02a6b5;
  right: 0;
  bottom: 0;
}
.no .no-hd ul {
  display: flex;
}
.no .no-hd ul li {
  position: relative;
  flex: 1;
  text-align: center;
  height: 1rem;
  line-height: 1rem;
  font-size: 0.875rem;
  color: #ffeb7b;
  padding: 0.05rem 0;
  font-family: electronicFont;
  font-weight: bold;
  animation: bounce 1s ease-in-out infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}

.no .no-hd ul li:nth-child(2) {
  animation-delay: 0.2s;
}
.no .no-hd ul li:first-child::after {
  content: "";
  position: absolute;
  height: 50%;
  width: 1px;
  background: rgba(255, 255, 255, 0.2);
  right: 0;
  top: 25%;
}
.no .no-bd ul {
  display: flex;
}
.no .no-bd ul li {
  flex: 1;
  height: 0.5rem;
  line-height: 0.5rem;
  text-align: center;
  font-size: 0.225rem;
  color: rgba(255, 255, 255, 0.7);
  padding-top: 0.125rem;
}
.map {
  position: relative;
  height: 10.125rem;
}
.map .chart {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  height: 10.125rem;
  width: 100%;
}
.map .map1,
.map .map2,
.map .map3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6.475rem;
  height: 6.475rem;
  background: url(../images/map.png) no-repeat;
  background-size: 100% 100%;
  opacity: 0.3;
}
.map .map2 {
  width: 8.0375rem;
  height: 8.0375rem;
  background-image: url(../images/lbx.png);
  opacity: 0.6;
  animation: rotate 15s linear infinite;
  z-index: 2;
}
.map .map3 {
  width: 7.075rem;
  height: 7.075rem;
  background-image: url(../images/jt.png);
  animation: rotate1 10s linear infinite;
}
@keyframes rotate {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes rotate1 {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 42px !important;
  }
}
@media screen and (min-width: 1920) {
  html {
    font-size: 80px !important;
  }
}

/* 数据修改面板样式 */
.data-editor {
  background: rgba(0, 0, 0, 0.8);
  border-top: 1px solid rgba(25, 186, 139, 0.17);
  padding: 1rem;
  margin-top: 1rem;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.toggle-btn {
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
}

.toggle-btn span {
  display: block;
  width: 20px;
  height: 2px;
  background-color: rgba(25, 186, 139, 0.8);
  margin: 2px 0;
  transition: all 0.3s ease;
}

.panel-content {
  transition: all 0.3s ease;
  overflow: hidden;
  max-height: 2000px;
}

.panel-content.collapsed {
  max-height: 0;
  padding: 0;
  margin: 0;
}
.editor-container {
  max-width: 1200px;
  margin: 0 auto;
}
.editor-container h3 {
  color: #fff;
  text-align: center;
  margin-bottom: 1rem;
  font-size: 1.2rem;
}
.editor-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
  justify-content: center;
}
.tab-btn {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border: 1px solid rgba(25, 186, 139, 0.17);
  padding: 0.5rem 1rem;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.tab-btn:hover {
  background: rgba(25, 186, 139, 0.3);
}
.tab-btn.active {
  background: rgba(25, 186, 139, 0.5);
  border-color: rgba(25, 186, 139, 0.8);
}
.tab-content {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(25, 186, 139, 0.17);
  border-radius: 4px;
  padding: 1rem;
}
.tab-pane {
  display: none;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.tab-pane.active {
  display: grid;
}
.data-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.data-item label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
}
.data-item input {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(25, 186, 139, 0.17);
  color: #fff;
  padding: 0.5rem;
  border-radius: 4px;
  outline: none;
  transition: all 0.3s ease;
}
.data-item input:focus {
  border-color: rgba(25, 186, 139, 0.8);
  background: rgba(255, 255, 255, 0.15);
}
.update-btn {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #02a6b5, #1089E7);
  color: #fff;
  border: none;
  padding: 0.8rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  transition: all 0.3s ease;
  margin-top: 1rem;
}
.update-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(2, 166, 181, 0.3);
}
.update-btn:active {
  transform: translateY(0);
}
