:root {
  --z-theme-color: #122;
  --z-theme-light-color: #233;
  --z-theme-dark-color: #011;
  --z-theme-reversal-color: #edd;
  --z-light-color: #edefee;
  --z-dark-color: #0d0e00;
  --z-bg-1: rgba(208, 208, 208, .2);
  --z-bg-2: rgba(168, 168, 168, .2);
  --z-bg-3: rgba(128, 128, 128, .2);
  --z-bg-4: rgba(88, 88, 88, .4);
  --z-bg-5: rgba(48, 48, 48, .4);
  --z-bg-6: rgba(8, 8, 8, .4);
  --z-page-color: #fdfeff;
  --z-note-color: gray;
  --z-active-color: #f94;
  --z-blue-color: #38e;
  --z-red-color: #c35;
  --z-green-color: #3cc;
  --z-gray-color: #345;
  --z-label-color: #555;
  --z-text-color: #333;
  --z-placeholder-color: #bbb;
  --z-disabled-color: #f1f2f3;
  --z-over-index: 2000;
  --z-max-index: 2222;
}

.dark:root {
  --z-bg-1: rgba(8, 8, 8, .2);
  --z-bg-2: rgba(48, 48, 48, .2);
  --z-bg-3: rgba(88, 88, 88, .2);
  --z-bg-4: rgba(128, 128, 128, .4);
  --z-bg-5: rgba(168, 168, 168, .4);
  --z-bg-6: rgba(208, 208, 208, .4);
  --z-page-color: #1d1e1f;
  --z-note-color: gray;
  --z-active-color: #d72;
  --z-blue-color: #16c;
  --z-red-color: #d44;
  --z-green-color: #2db;
  --z-label-color: #aaa;
  --z-text-color: #ccc;
  --z-placeholder-color: #444;
  --z-disabled-color: #252627;
}

@font-face {
  font-family: ICONFONT;
  font-display: swap;
  src: url('https://zzone.cc/lib/icons.woff') format('woff');
}

* {
  font-family: ICONFONT, Consolas, 微软雅黑, "Courier New", -apple-system, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  /*iOS pop up*/
  -webkit-touch-callout: none;
  /*transition splash screen*/
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  /*Scroll bar style*/
  scrollbar-color: var(--z-note-color) var(--z-bg-1);
}

html, body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 100% !important;
  font-size: 14px;
  word-wrap: break-word;
  word-break: break-all;
  color: var(--z-text-color);
}

html #app {
  position: relative;
  width: 100%;
  min-width: 320px;
  min-height: 320px;
  height: 100%;
  overflow: hidden !important;
  background: var(--z-theme-color);
}

html:after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--z-blue-color);
  opacity: 0;
  background-image: linear-gradient(
                  45deg, var(--z-bg-1) 25%, transparent 25%,
                  transparent 50%,
                  var(--z-bg-1) 50%, var(--z-bg-1) 75%, transparent 75%,
                  transparent);
  background-size: 40px 40px;
  animation: progress-bar-stripes .2s linear infinite;
  z-index: calc(var(--z-max-index) - 1);
  transition: all .2s ease-in-out;
}

html[data-progress=true]:after {
  opacity: 1;
}

@keyframes progress-bar-stripes {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 40px 0;
  }
}
