/* color palette from <https://github.com/vuejs/theme> */
:root {
  --vt-c-white: #ffffff;
  --vt-c-white-soft: #f8f8f8;
  --vt-c-white-mute: #f2f2f2;

  --vt-c-black: #181818;
  --vt-c-black-soft: #222222;
  --vt-c-black-mute: #282828;

  --vt-c-indigo: #2c3e50;

  --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
  --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
  --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
  --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);

  --vt-c-text-light-1: var(--vt-c-indigo);
  --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
  --vt-c-text-dark-1: var(--vt-c-white);
  --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
}
/* semantic color variables for this project */
:root {
  --color-background: var(--vt-c-white);
  --color-background-soft: var(--vt-c-white-soft);
  --color-background-mute: var(--vt-c-white-mute);

  --color-border: var(--vt-c-divider-light-2);
  --color-border-hover: var(--vt-c-divider-light-1);

  --color-heading: var(--vt-c-text-light-1);
  --color-text: var(--vt-c-text-light-1);

  --section-gap: 160px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --color-background: var(--vt-c-black);
    --color-background-soft: var(--vt-c-black-soft);
    --color-background-mute: var(--vt-c-black-mute);

    --color-border: var(--vt-c-divider-dark-2);
    --color-border-hover: var(--vt-c-divider-dark-1);

    --color-heading: var(--vt-c-text-dark-1);
    --color-text: var(--vt-c-text-dark-2);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  font-weight: normal;
}
body {
  min-height: 100vh;
  color: var(--color-text);
  background: var(--color-background);
  transition:
    color 0.5s,
    background-color 0.5s;
  line-height: 1.6;
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    'Fira Sans',
    'Droid Sans',
    'Helvetica Neue',
    sans-serif;
  font-size: 15px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#app {
  max-width: 1280px;
  margin: 0 auto;
  font-weight: normal;
}
a,
.green {
  text-decoration: none;
  color: hsla(160, 100%, 37%, 1);
  transition: 0.4s;
  padding: 3px;
}
@media (hover: hover) {
  a:hover {
    background-color: hsla(160, 100%, 37%, 0.2);
  }
}
@media (min-width: 1024px) {
  body {
    display: flex;
    place-items: center;
  }

  #app {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.fx-sizing { box-sizing: border-box; }
.fx-cursor { cursor: pointer; }
.fx-cursor-not { cursor: not-allowed; }
.fx-overflow-hidden {overflow: hidden;}
.fx-overflow-y {overflow-y: auto;overflow-x:hidden}
.fx-overflow-hide {scrollbar-width: none;}
.fx-flex{
	display: flex;
}
.fx-flex-item{
	flex: 1;
}
.fx-box-pos{
	position: relative;
}
.fx-inline-block{
	display: inline-block;
}
.fx-row-nowrap { white-space:nowrap }
.fx-flex-between{
	display: flex;
	justify-content: space-between;
}
.fx-flex-end{
	display: flex;
	justify-content: flex-end;
}
.fx-flex-start{
	display: flex;
	justify-content: flex-start;
}
.fx-flex-center{
	display: flex;
	justify-content: center;
}
.fx-flex-direction {
    flex-direction: column;
}
.fx-align-start {
    align-items: flex-start;
}
.fx-align-end {
    align-items: flex-end;
}
.fx-row {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.fx-fill {
	flex: 1;
}
.fx-align-center{
	align-items: center;
}
.fx-footer{
	position: absolute;
	bottom: 0;
}
.fx-page-footer{
	position: fixed;
	bottom: 0;
	left: 0;
}
.fx-absolute-full{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
}
.fx-absolute-top{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
.fx-absolute-footer{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}
.fx-absolute{
	position: absolute;
}
.fx-text-word{
	text-align: justify;
	text-justify: newspaper;
	word-break: break-all;
}
.fx-link-edit:hover{
	color: var(--el-color-primary);
	transform: scale(1.5);
	cursor: pointer;
}
.fx-hover-box:hover{
	box-shadow: 0px 0px 4px  rgba(0, 0, 0, 0.1);
	transform: scale(1.05);
}
.fx-hover-sel-box:hover{
	box-shadow: 0px 0px 4px  rgba(0, 0, 0, 0.1);
	transform: scale(1.01);
	background-color: #e3f5fc;
}
.fx-hover-icon:hover{
	text-shadow: 0px 0px 4px  rgba(0, 0, 0, 0.1);
	color: var(--el-color-primary);
	transform: scale(1.1);
	cursor: pointer;
}
.fx-hover-box.po:hover{
	cursor: pointer;
}
.fx-text-link:hover{
	cursor: pointer;
	text-decoration: underline;
}
.fx-row-one{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.fx-row-line{
	white-space: nowrap;
}
.fx-row-1{
	word-break: break-all;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.fx-row-2{
	word-break: break-all;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.fx-row-3{
	word-break: break-all;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.fx-row-text{
	word-break: break-all;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.fx-row-text.row-3{
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}
.fx-row-text.row-4{
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}
.fx-row-text.row-5{
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
}
.fx-rotate-90 { transform: rotate(90deg); }
.fx-background-size{
	background-size: 100% 100%;
}
.fx-tpl-card{
	margin: var(--margin-y) var(--margin-x);
	box-shadow: 0px 0px 3px 1px var(--shadow--color) ;
	border-radius: 5px;
	margin: 10px;
}
.fx-not-select{
	-moz-user-select:none;/*火狐*/
    -webkit-user-select:none;/*webkit浏览器*/
    -ms-user-select:none;/*IE10*/
    -khtml-user-select:none;/*早期浏览器*/
    user-select:none;
}
.fx-avatar-min{
	width: 24px;
	height: 24px;
	margin-right: 5px;
}
.fx-card-title-line{
	position: sticky;
	padding-left: 10px;
	font-size: 17px;
	color: #333;
}
.fx-card-title-line::before{
	content: ' ';
	position: absolute;
	left: 0;
	width: 4px;
	top: 25%;
	bottom: 15%;
	background-color: #72a1ff;
	border-radius: 6px;
}
.fx-bot-btn{
	border-radius: 100%;
	background-color: var(--float-bg-color);
	display: flex;
	justify-content: center;
	align-items: center;
	width: var(--icon-box-size);
	height: var(--icon-box-size);
	line-height: var(--icon-box-size);
  z-index: 100;
}
.fx-bot-btn-top{
  z-index: 101;
}
.fx-bot-btn+.fx-bot-btn{
	margin-left: 10px;
}
.fx-img-grey{
	filter: grayscale(100%);
}
@keyframes fx-jelly {
  0%, 100% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.80);
  }
  50% {
    transform: scale(1.1);
  }
  75% {
    transform: scale(0.90);
  }
}
 *,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}.fixed{position:fixed;}.mt--50px{margin-top:-50px;}.mt-20px{margin-top:20px;}.hidden{display:none;}.max-w-50vw{max-width:50vw;}.flex{display:flex;}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}.border{border-width:1px;}.rounded-6px{border-radius:6px;}.bg-dark{--un-bg-opacity:1;background-color:rgb(34 34 34 / var(--un-bg-opacity)) /* #222222 */;}.px-10px{padding-left:10px;padding-right:10px;}.py-5px{padding-top:5px;padding-bottom:5px;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.color-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity)) /* #fff */;} 
.auth-container[data-v-d1ad8b6e] {
  padding: 20px;
  text-align: center;
  color:#000;
  background-color: #fff;
  height: 100vh;
  display: flex;
  left: 0;
  top:0;
  right: 0;
  bottom: 0;
  align-items: center;
  justify-content: center;
}
.loading[data-v-d1ad8b6e] {
  color: #666;
  font-size: 1.4em;
  font-weight: bold;
}
.error[data-v-d1ad8b6e] {
  color: red;
}
.loading-spinner[data-v-d1ad8b6e] {
  width: 100px;
  height: 100px;
  border: 6px solid rgba(0, 0, 0, 0.1);
  border-left-color: #000;
  border-radius: 50%;
  animation: spin-d1ad8b6e 1s linear infinite;
}
@keyframes spin-d1ad8b6e {
to {
    transform: rotate(360deg);
}
}

.auth-container[data-v-22e39fde] {
  padding: 20px;
  text-align: center;
}
.loading[data-v-22e39fde] {
  color: #666;
}
.error[data-v-22e39fde] {
  color: red;
}
.message-box[data-v-06517fb5] {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.1254901961);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}