.thFadeInOnLoad {
  opacity: 1;
  transition: opacity .256s linear;
}

.thFadeInOnLoad.v-enter-from {
  opacity: 0;
}

@keyframes th-spinner-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes th-transition-appear {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  border: 0;
  margin: 0;
  padding: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: thicon;
  src: url(/static/font/thicon.3a1943e9.eot);
  src: url(/static/font/thicon.3a1943e9.eot#iefix) format("embedded-opentype"), url(/static/font/thicon.70f6fc3d.woff2) format("woff2"), url(/static/font/thicon.42255cfd.woff) format("woff"), url(/static/font/thicon.54bd5949.ttf) format("truetype"), url(/static/svg/thicon.408a3c2a.svg) format("svg");
}

[class^="thicon-"], [class*=" thicon-"] {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-family: thicon !important;
}

.thicon-custom-atom:before {
  content: "";
}

.thicon-fa7-modded-arrow-in:before {
  content: "";
}

.thicon-fa7-modded-arrow-out:before {
  content: "";
}

.thicon-fa7-modded-mouse-left:before {
  content: "";
}

.thicon-fa7-modded-mouse-outline:before {
  content: "";
}

.thicon-fa7-modded-mouse-right:before {
  content: "";
}

.thicon-fa7-solid--add:before {
  content: "";
}

.thicon-fa7-solid--address-card:before {
  content: "";
}

.thicon-fa7-solid--angle-double-down:before {
  content: "";
}

.thicon-fa7-solid--angle-double-left:before {
  content: "";
}

.thicon-fa7-solid--angle-double-right:before {
  content: "";
}

.thicon-fa7-solid--angle-double-up:before {
  content: "";
}

.thicon-fa7-solid--angle-down:before {
  content: "";
}

.thicon-fa7-solid--angle-left:before {
  content: "";
}

.thicon-fa7-solid--angle-right:before {
  content: "";
}

.thicon-fa7-solid--angle-up:before {
  content: "";
}

.thicon-fa7-solid--arrow-down-long:before {
  content: "";
}

.thicon-fa7-solid--arrow-right-arrow-left:before {
  content: "";
}

.thicon-fa7-solid--arrow-rotate-back:before {
  content: "";
}

.thicon-fa7-solid--arrow-up-long:before {
  content: "";
}

.thicon-fa7-solid--arrow-up-right-from-square:before {
  content: "";
}

.thicon-fa7-solid--arrow-up-short-wide:before {
  content: "";
}

.thicon-fa7-solid--arrow-up-wide-short:before {
  content: "";
}

.thicon-fa7-solid--arrows-h:before {
  content: "";
}

.thicon-fa7-solid--arrows-rotate:before {
  content: "";
}

.thicon-fa7-solid--arrows:before {
  content: "";
}

.thicon-fa7-solid--at:before {
  content: "";
}

.thicon-fa7-solid--bell:before {
  content: "";
}

.thicon-fa7-solid--book:before {
  content: "";
}

.thicon-fa7-solid--box-archive:before {
  content: "";
}

.thicon-fa7-solid--building:before {
  content: "";
}

.thicon-fa7-solid--calendar-alt:before {
  content: "";
}

.thicon-fa7-solid--calendar:before {
  content: "";
}

.thicon-fa7-solid--caret-down:before {
  content: "";
}

.thicon-fa7-solid--caret-left:before {
  content: "";
}

.thicon-fa7-solid--caret-right:before {
  content: "";
}

.thicon-fa7-solid--caret-up:before {
  content: "";
}

.thicon-fa7-solid--chart-area:before {
  content: "";
}

.thicon-fa7-solid--chart-bar:before {
  content: "";
}

.thicon-fa7-solid--chart-column:before {
  content: "";
}

.thicon-fa7-solid--chart-diagram:before {
  content: "";
}

.thicon-fa7-solid--chart-gantt:before {
  content: "";
}

.thicon-fa7-solid--chart-line:before {
  content: "";
}

.thicon-fa7-solid--chart-pie:before {
  content: "";
}

.thicon-fa7-solid--chart-simple:before {
  content: "";
}

.thicon-fa7-solid--check:before {
  content: "";
}

.thicon-fa7-solid--chevron-down:before {
  content: "";
}

.thicon-fa7-solid--chevron-left:before {
  content: "";
}

.thicon-fa7-solid--chevron-right:before {
  content: "";
}

.thicon-fa7-solid--chevron-up:before {
  content: "";
}

.thicon-fa7-solid--circle-info:before {
  content: "";
}

.thicon-fa7-solid--circle-question:before {
  content: "";
}

.thicon-fa7-solid--clipboard:before {
  content: "";
}

.thicon-fa7-solid--cloud-arrow-down:before {
  content: "";
}

.thicon-fa7-solid--cloud-arrow-up:before {
  content: "";
}

.thicon-fa7-solid--code-fork:before {
  content: "";
}

.thicon-fa7-solid--cog:before {
  content: "";
}

.thicon-fa7-solid--columns:before {
  content: "";
}

.thicon-fa7-solid--comment:before {
  content: "";
}

.thicon-fa7-solid--compress:before {
  content: "";
}

.thicon-fa7-solid--computer-mouse:before {
  content: "";
}

.thicon-fa7-solid--diagram-project:before {
  content: "";
}

.thicon-fa7-solid--earth:before {
  content: "";
}

.thicon-fa7-solid--edit:before {
  content: "";
}

.thicon-fa7-solid--envelope:before {
  content: "";
}

.thicon-fa7-solid--exclamation-triangle:before {
  content: "";
}

.thicon-fa7-solid--expand:before {
  content: "";
}

.thicon-fa7-solid--eye:before {
  content: "";
}

.thicon-fa7-solid--file:before {
  content: "";
}

.thicon-fa7-solid--filter:before {
  content: "";
}

.thicon-fa7-solid--flag:before {
  content: "";
}

.thicon-fa7-solid--folder-open:before {
  content: "";
}

.thicon-fa7-solid--gear:before {
  content: "";
}

.thicon-fa7-solid--hashtag:before {
  content: "";
}

.thicon-fa7-solid--home-lg:before {
  content: "";
}

.thicon-fa7-solid--key:before {
  content: "";
}

.thicon-fa7-solid--lightbulb:before {
  content: "";
}

.thicon-fa7-solid--link:before {
  content: "";
}

.thicon-fa7-solid--list-1-2:before {
  content: "";
}

.thicon-fa7-solid--list-dots:before {
  content: "";
}

.thicon-fa7-solid--list:before {
  content: "";
}

.thicon-fa7-solid--lock-open:before {
  content: "";
}

.thicon-fa7-solid--lock:before {
  content: "";
}

.thicon-fa7-solid--magnifying-glass:before {
  content: "";
}

.thicon-fa7-solid--map:before {
  content: "";
}

.thicon-fa7-solid--mouse:before {
  content: "";
}

.thicon-fa7-solid--newspaper:before {
  content: "";
}

.thicon-fa7-solid--robot:before {
  content: "";
}

.thicon-fa7-solid--shield:before {
  content: "";
}

.thicon-fa7-solid--sort-alpha-asc:before {
  content: "";
}

.thicon-fa7-solid--sort-alpha-desc:before {
  content: "";
}

.thicon-fa7-solid--sort-numeric-asc:before {
  content: "";
}

.thicon-fa7-solid--sort-numeric-desc:before {
  content: "";
}

.thicon-fa7-solid--spinner:before {
  content: "";
}

.thicon-fa7-solid--tag:before {
  content: "";
}

.thicon-fa7-solid--tags:before {
  content: "";
}

.thicon-fa7-solid--thumbtack:before {
  content: "";
}

.thicon-fa7-solid--trash-alt:before {
  content: "";
}

.thicon-fa7-solid--user-group:before {
  content: "";
}

.thicon-fa7-solid--user:before {
  content: "";
}

.thicon-fa7-solid--users-line:before {
  content: "";
}

.thicon-fa7-solid--xmark:before {
  content: "";
}

.thicon-home:before {
  content: "";
}

var {
  font-variant: normal;
  text-transform: none;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-width: 1em;
  font-style: normal;
  font-weight: normal;
  line-height: 1em;
  display: inline-block;
  font-family: thicon !important;
}

html, body {
  width: 100%;
  height: 100%;
}

html, body, input, textarea, select, button {
  font-family: sans-serif;
  font-size: 16px;
  line-height: normal;
}

.thAppTop {
  background: #f7f6f6;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
}

.thAppLayer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.thAppLayerMenu {
  z-index: 3000;
  width: 0;
}

.thAppLayerMenu .thAppLayerMenuContent {
  box-sizing: border-box;
  background: #be5900;
  border-right: 1px solid #00000026;
  width: 48px;
  height: 100%;
  transition: transform .128s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate3d(-100%, 0, 0);
  box-shadow: 4px 0 4px #0000001a;
}

.thAppLayerMenu.open .thAppLayerMenuContent {
  transform: translate3d(0, 0, 0);
}

.thAppLayerMain {
  scrollbar-width: normal;
  scrollbar-color: #00000026 #fff3;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  overflow: scroll;
}

.thAppLayerMain.menuopen {
  left: 48px;
}

.thAppLayerMain.submenuopen {
  left: 248px;
}

.thAppLayerMain.chatopen {
  right: 300px;
}

.thAppLayerMain::-webkit-scrollbar {
  width: 16px;
  height: 12px;
}

.thAppLayerMain::-webkit-scrollbar-track {
  background: #615351;
  border-radius: 4px;
}

.thAppLayerMain::-webkit-scrollbar-thumb {
  background: red;
  border: 2px solid #615351;
  border-radius: 4px;
}

.thAppLayerMain::-webkit-scrollbar-thumb:hover {
  background: #00f;
}

.thAppLayerMain::-webkit-scrollbar-thumb:active {
  background: green;
}

.thAppLayerSubmenu {
  z-index: 2000;
  width: 0;
}

.thAppLayerSubmenu .thAppLayerSubmenuContent {
  box-sizing: border-box;
  background: #edebe9;
  border-right: 1px solid #00000026;
  width: 248px;
  height: 100%;
  padding-left: 48px;
  transition: transform .128s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  overflow: auto;
  transform: translate3d(-100%, 0, 0);
  box-shadow: 4px 0 4px #0000001a;
}

.thAppLayerSubmenu.open .thAppLayerSubmenuContent {
  transform: translate3d(0, 0, 0);
}

.thAppLayerChat {
  z-index: 1000;
  width: 0;
  left: auto;
  right: 0;
}

.thAppLayerChat .thAppLayerChatContent {
  background: #edebe9;
  border-right: 1px solid #00000026;
  width: 300px;
  height: 100%;
  transition: transform .128s ease-out;
  position: absolute;
  top: 0;
  right: 0;
  overflow: auto;
  transform: translate3d(100%, 0, 0);
  box-shadow: -4px 0 4px #0000001a;
}

.thAppLayerChat.open .thAppLayerChatContent {
  transform: translate3d(0, 0, 0);
}

.thAppLayerDialog {
  z-index: 4000;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: auto;
}

.thLayerToolbar {
  pointer-events: none;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.thLayerToolbarBar {
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
  border: 1px solid #a54d00;
  border-radius: 24px;
  justify-content: space-between;
  align-items: center;
  transition: opacity .128s linear;
  display: flex;
  overflow: hidden;
  box-shadow: 0 2px 2px #0000001a;
}

.thLayerToolbarBar.hidden {
  opacity: 0;
  pointer-events: none;
}

.thLayerToolbarItem {
  pointer-events: all;
  color: #333;
  background: #f7f6f6;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  display: flex;
}

.thLayerToolbarItem.thLayerToolbarClickable {
  color: #fff;
  background: #be5900;
}

.thLayerToolbarItem.thLayerToolbarClickable:hover, .thLayerToolbarItem.thLayerToolbarClickable:active {
  cursor: pointer;
  background: #c56a19;
}

.thLayerToolbarItem:first-child {
  padding-left: 24px;
}

.thLayerToolbarItem:last-child {
  padding-right: 24px;
}

.thLayerToolbarItem:not(:last-child):not(:only-child) {
  border-right: 1px solid #5f2d00;
}

.thPage {
  flex-direction: column;
  align-items: stretch;
  min-height: 100%;
  display: flex;
  position: relative;
}

.thPageFullSize {
  min-height: 100%;
}

.thPageCenterBox {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.thPageTitle {
  padding: 24px 16px 16px;
  font-size: 24px;
  font-weight: bold;
}

.thPageMenu {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.thPageMenu .thPageMenuSubtitle {
  color: #666;
  text-transform: uppercase;
  margin: 8px 0 0;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
}

.thPageMenu .thPageMenuItem {
  color: #333;
  padding: 4px 8px;
  text-decoration: none;
  display: flex;
}

.thPageMenu .thPageMenuItem > var {
  width: 1.5em;
}

.thPageMenu .thPageMenuItem.dim {
  opacity: .5;
}

.thPageMenu .thPageMenuItem:hover {
  cursor: pointer;
  opacity: 1;
  background-color: #fefdfc;
}

.thAppLayerDialog {
  opacity: 1;
  transition: opacity 64ms linear;
}

.thAppLayerDialog.thAppLayerObscure {
  -webkit-backdrop-filter: saturate(50%);
  backdrop-filter: saturate(50%);
  background: #0006;
}

.thAppLayerDialog.v-enter-from, .thAppLayerDialog.v-leave-to {
  opacity: 0;
}

.thAppLayerDialog.v-enter-from .thDialogContainer, .thAppLayerDialog.v-leave-to .thDialogContainer {
  transform: scale(.95);
}

.thAppLayerDialog.v-leave-to {
  pointer-events: none;
}

.thDialogBoxHolder {
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100%;
  padding: 24px;
  display: flex;
}

.thDialogContainer {
  transition: transform 64ms linear;
  position: relative;
}

.thDialogBoxCloseButton {
  box-sizing: border-box;
  color: #666;
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 14.4px;
  display: flex;
  position: absolute;
  top: -6px;
  right: 8px;
  box-shadow: 0 2px 2px #0000001a;
}

.thDialogBoxCloseButton:hover {
  cursor: pointer;
  background: #fefdfc;
}

.thDialogBox {
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 8px #0000001a;
}

.thDialogBox.thDialogContent {
  flex-direction: column;
  align-items: stretch;
  min-width: 400px;
  min-height: 100px;
  padding: 16px;
  display: flex;
}

.thDialogContextMenu {
  flex-direction: column;
  align-items: stretch;
  min-width: 200px;
  padding: 8px 0;
  display: flex;
}

.thDialogContextMenu .thDialogContextLink {
  padding: 8px 12px;
  display: flex;
}

.thDialogContextMenu .thDialogContextLink small {
  text-transform: uppercase;
  color: #666;
  font-size: 10px;
  display: block;
}

.thDialogContextMenu > hr {
  border: none;
  border-top: 1px solid #00000026;
  margin: 8px 0;
}

.thDialogContextLink {
  align-items: center;
  gap: 8px;
  min-width: 150px;
  font-size: 16px;
  display: flex;
}

.thDialogContextLink > var:first-child {
  text-align: center;
  width: 1em;
  font-size: 20px;
}

.thDialogContextLink:not(.disabled):hover {
  cursor: pointer;
  background: #fefdfc;
}

.thDialogContextInfo {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 8px;
  display: flex;
}

.thDialogContextInfo > h4 {
  font-weight: bold;
}

.thDialogContextInfo > h5 {
  text-transform: uppercase;
  color: #666;
  margin-top: 16px;
  font-size: 12px;
  font-weight: bold;
}

.thDialogInfoGrid {
  grid-template-columns: max-content 1fr;
  gap: 8px;
  display: grid;
}

.thDialogInfoGrid > h5 {
  color: #666;
}

.thDialogBody {
  flex: 1;
}

.thDialogBody.thDialogBodyCenter {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  display: flex;
}

.thDialogContentButtons {
  flex-direction: row-reverse;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  display: flex;
}

.thDialogContentButton {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #be5900;
  background: none;
  border: none;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-weight: bold;
  display: flex;
}

.thDialogContentButton:disabled, .thDialogContentButton.disabled {
  opacity: .5;
  pointer-events: none;
}

.thDialogContentButton:not(.disabled):hover, .thDialogContentButton:not(.disabled):active {
  cursor: pointer;
  color: #5f2d00;
}

.thDialogBodyExample {
  color: #666;
  font-style: italic;
}

.thDialogViewArrow {
  color: #666;
  font-size: 24px;
}

.thDialogKeyList {
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 8px;
  display: grid;
}

.thDialogKeyList > div {
  text-align: center;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.thDialogKeyList > div > var {
  color: #666;
  font-size: 16px;
}

.thDialogKeyList > p {
  font-size: 12px;
}

.thAppLayerMenuContent {
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  display: flex;
}

.thMenuIcon {
  text-align: center;
  width: 40px;
  height: 40px;
  filter: box-shadow(0 2px 2px #0000001a);
  color: #f9eee6;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  text-decoration: none;
  transition: background-color .128s linear, opacity .128s linear;
  display: flex;
  position: relative;
}

.thMenuIcon.disabled {
  opacity: .25;
  pointer-events: none;
}

.thMenuIcon:not(.disabled):not(.thMenuIconCurrent):hover {
  cursor: pointer;
  background: #f9eee633;
}

.thMenuIcon:not(.disabled).thMenuIconCurrent {
  color: #be5900;
  background: #f9eee6;
}

.thMenuSpacer {
  flex: 1;
}

.thSubmenuContent {
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  display: flex;
}

.thSubmenuHeader {
  justify-content: space-between;
  align-items: center;
  padding: 8px;
  font-weight: bold;
  display: flex;
}

.thSubmenuHeader > :first-child {
  flex: 1;
}

.thSubmenuHeader > var {
  text-align: center;
  border-radius: 100%;
  width: 1em;
  margin-right: 4px;
  padding: 4px;
  font-size: 16px;
}

.thSubmenuHeader > var:hover, .thSubmenuHeader > var:active {
  cursor: pointer;
  background-color: #f7f6f6;
}

.thSubmenuHeader > var.active {
  color: #be5900;
}

.thSubmenuSubheader {
  color: #666;
  text-transform: uppercase;
  padding: 0 8px;
  font-size: 10px;
}

.thViewListSubmenuItem {
  color: #333;
  cursor: default;
  align-items: center;
  padding: 4px 8px;
  font-size: 12px;
  text-decoration: none;
  display: flex;
  position: relative;
}

.thViewListSubmenuItem.dim {
  opacity: .5;
}

.thViewListSubmenuItem > var {
  text-align: center;
  width: 1em;
  margin-right: 8px;
  font-size: 16px;
}

.thViewListSubmenuItem > div {
  flex: 1;
  padding: 0;
  display: block;
}

.thViewListSubmenuItem > div .thSearchHighlight em {
  color: #be5900;
  text-decoration: underline;
  -webkit-text-decoration-style: currentColor;
  text-decoration-style: currentColor;
}

.thViewListSubmenuItem .thViewListSubmenuItemCurrent {
  pointer-events: none;
}

.thViewListSubmenuItem:hover:not(.thViewListSubmenuItemCurrent), .thViewListSubmenuItem:focus {
  cursor: pointer;
  opacity: 1;
  background-color: #ffffff73;
  outline: none;
}

.thViewListSubmenuItemCurrent {
  background: #f7f6f6;
}

.thSubmenuSearchInput {
  padding: 4px 8px;
}

.thSubmenuSearchInput input {
  font-size: 16px;
}

.thSubmenuSearchNoResults {
  color: #666;
  padding: 8px;
  font-size: 12px;
}

.thTextSection, .thPageHeader {
  padding: 16px;
  font-size: 16px;
}

.thTextSection h1 {
  margin-bottom: 8px;
  font-size: 32px;
  font-weight: bold;
}

.thTextSection h2 {
  margin-bottom: 8px;
  font-size: 24px;
  font-weight: bold;
}

.thTextSection h3 {
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: bold;
}

.thTextSection h4 {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
}

.thTextSection b {
  font-weight: bold;
}

.thTextSection i {
  font-style: italic;
}

.thTextSection u {
  text-decoration: underline;
}

.thTextSection s {
  text-decoration: line-through;
}

.thTextSection sup {
  vertical-align: super;
}

.thTextSection sub {
  vertical-align: sub;
}

.thTextSection small {
  font-size: 80%;
}

.thTextSection big {
  font-size: 120%;
}

.thTextSection p {
  margin-bottom: 8px;
}

.thTextSection ul {
  padding-left: 20px;
  list-style-type: disc;
}

.thTextSection ol {
  padding-left: 20px;
  list-style-type: decimal;
}

.thTextSection li {
  margin-bottom: .5em;
}

.thPageHeader {
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  display: flex;
}

.thPageHeader > h2 {
  font-size: 24px;
  font-weight: bold;
}

.thPageHeaderButton {
  color: #666;
  border: 1px solid #00000026;
  border-radius: 1em;
  align-items: center;
  gap: 4px;
  padding: 4px;
  font-size: 16px;
  font-weight: normal;
  transition: background-color .128s linear, color .128s linear;
  display: flex;
  box-shadow: 0 2px 2px #0000001a;
}

.thPageHeaderButton:hover {
  cursor: pointer;
  color: #333;
  background: #fefdfc;
}

.thPageButton {
  text-align: center;
  color: #333;
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 4px;
  padding: 8px;
  font-size: 16px;
  text-decoration: none;
  transition: background-color .128s linear, color .128s linear;
  box-shadow: 0 2px 2px #0000001a;
}

.thPageButton:disabled, .thPageButton.disabled {
  opacity: .5;
  pointer-events: none;
}

.thPageButton:not(disabled):not(.disabled):hover {
  cursor: pointer;
  background: #fefdfc;
  text-decoration: none;
}

.thPageButton h3 {
  font-weight: bold;
}

.thVerticalForm {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  display: flex;
}

.thFormInput {
  border: 1px solid #00000026;
  border-radius: 4px;
  padding: 16px;
}

.thFormText {
  font-weight: normal;
}

.thEditableField {
  resize: none;
  background: none;
  border: 1px solid #0000;
}

.thEditableField:focus {
  resize: vertical;
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 4px;
  box-shadow: 0 2px 2px #0000001a;
}

.thFormBox {
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 4px;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 16px;
  display: flex;
  box-shadow: 0 2px 2px #0000001a;
}

.thFormEntryBox {
  border-radius: 4px;
  flex-direction: column;
  align-items: stretch;
  transition: background-color 64ms linear, opacity 64ms linear;
  display: flex;
  position: relative;
}

.thFormEntryBox.disabled {
  opacity: .5;
  pointer-events: none;
}

.thFormEntryBox.focused {
  background: #f7f6f680;
}

.thFormEntryBox .thFormEntryInput {
  box-sizing: content-box;
  resize: none;
  background: none;
  border: none;
  outline: none;
  padding: 12px;
  transition: background-color 64ms linear, border-color 64ms linear;
}

.thFormEntryBox .thFormEntryInput:focus {
  outline: none;
}

.thFormEntryBox textarea.thFormEntryInput {
  line-height: 1.2;
  -webkit-mask: linear-gradient(#0000 0% 4px, #000 8px calc(100% - 4px), #0000 100%);
  mask: linear-gradient(#0000 0% 4px, #000 8px calc(100% - 4px), #0000 100%);
}

.thFormEntryBox .thFormEntryBorder {
  box-sizing: border-box;
  pointer-events: none;
  grid-template-columns: 4px max-content 1fr;
  width: 100%;
  height: 100%;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.thFormEntryBox .thFormEntryBorder > div {
  border: 1px solid #00000026;
  border-radius: 4px;
  transition: border-color 64ms linear;
}

.thFormEntryBox .thFormEntryBorder > div:first-child {
  border-right: none;
  border-radius: 4px 0 0 4px;
}

.thFormEntryBox .thFormEntryBorder > div:last-child {
  border-left: none;
  border-radius: 0 4px 4px 0;
}

.thFormEntryBox .thFormEntryBorder > div:nth-child(2) {
  border-left: none;
  border-right: none;
  border-radius: 0;
  padding: 0 4px;
}

.thFormEntryBox .thFormEntryBorder .thFormLabel {
  opacity: 0;
}

.thFormEntryBox .thFormEntryBorder.showlabel > :nth-child(2) {
  transition: border-top-color linear;
  border-top-color: #0000 !important;
}

.thFormEntryBox .thFormEntryBorder.showlabel > :nth-child(2) .thFormLabel {
  opacity: 1;
}

.thFormEntryBox .thFormEntryBorder .thFormLabel {
  color: #666;
  font-size: 12px;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  transition: color 64ms linear;
  display: block;
  position: relative;
  transform: translate3d(0, -50%, 0);
}

.thFormEntryBox .thFormEntryBorder .thFormErrorIcon {
  color: #be0000;
  margin-left: 4px;
}

.thFormEntryBox .thFormEntryInput:focus + .thFormEntryBorder > div {
  border-color: #be5900;
}

.thFormEntryBox .thFormEntryInput:focus + .thFormEntryBorder .thFormLabel {
  color: #be5900;
}

.thFormEntryBox.thFormInputSubtle .thFormEntryInput {
  padding: 4px;
}

.thFormEntryBox.thFormInputSubtle .thFormEntryBorder {
  opacity: 0;
  transition: opacity .128s linear;
}

.thFormEntryBox.thFormInputSubtle:not(.disabled):hover .thFormEntryBorder, .thFormEntryBox.thFormInputSubtle:not(.disabled) .thFormEntryInput:focus + .thFormEntryBorder {
  opacity: 1;
}

.thFormEntryBox .thFormEntryIcon, .thFormEntryBox .thFormEntryClearIcon {
  text-align: center;
  color: #666;
  pointer-events: none;
  align-items: center;
  width: 1.5em;
  transition: color 64ms linear, opacity 64ms linear;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
}

.thFormEntryBox .thFormEntryIcon {
  left: 0;
}

.thFormEntryBox .thFormEntryClearIcon {
  opacity: 1;
  pointer-events: auto;
  right: 0;
}

.thFormEntryBox .thFormEntryInput:placeholder-shown ~ .thFormEntryClearIcon {
  opacity: 0;
  pointer-events: none;
}

.thFormEntryBox:not(.disabled):not(:disabled) .thFormEntryClearIcon:hover {
  cursor: pointer;
  color: #be5900;
}

.thFormEntryBox.micro .thFormEntryInput {
  padding: 4px;
}

.thFormEntryBox.hasicon .thFormEntryInput {
  padding-left: 1.5em;
}

.thFormEntryBox.hasclear .thFormEntryInput {
  padding-right: 1.5em;
}

.thFormEntryBox .thFormEntryBoxTools {
  pointer-events: none;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.thFormEntryBox .thFormEntryBoxTools .thFormEntryBoxToolButton {
  pointer-events: auto;
  cursor: pointer;
  color: #fff;
  background: #be5900;
  border-radius: 100%;
  padding: 4px;
  transition: color 64ms linear;
  box-shadow: 0 2px 2px #0000001a;
}

.thFormEntryBox .thFormEntryBoxTools .thFormEntryBoxToolButton:hover {
  background: #c56a19;
}

.thFormEntryMicroError {
  pointer-events: none;
  box-sizing: border-box;
  color: #fff;
  white-space: nowrap;
  transform-origin: top;
  background: #be0000;
  border-radius: 4px;
  padding: 0 8px;
  font-size: 12px;
  transition: opacity 64ms linear, transform 64ms linear;
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  box-shadow: 0 2px 2px #0000001a;
}

.thFormEntryMicroError:after {
  content: "";
  box-sizing: border-box;
  background: linear-gradient(135deg, #be0000 0% 55%, #0000 55% 100%);
  width: 6px;
  height: 6px;
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translate3d(-50%, 0, 0)rotateZ(45deg);
}

.thFormEntryMicroError.v-enter-from {
  opacity: 0;
  transform: translate3d(-50%, -8px, 0)scale(.8);
}

.thFormEntryMicroError.v-leave-to {
  opacity: 0;
}

.thFormButtonContent {
  color: #fff;
  background: #be5900;
  border: none;
  border-radius: 4px;
  padding: 8px 12px;
  transition: background-color 64ms linear, color 64ms linear;
  box-shadow: 0 2px 2px #0000001a;
  outline: none !important;
}

.thFormButton {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  transition: background-color 64ms linear, color 64ms linear;
  position: relative;
}

.thFormButton:focus {
  outline: none;
}

.thFormButton:not(.disabled):not(:disabled):hover, .thFormButton:focus {
  cursor: pointer;
}

.thFormButton:not(.disabled):not(:disabled):hover .thFormButtonContent, .thFormButton:focus .thFormButtonContent {
  background: #c56a19;
}

.thFormButton:disabled, .thFormButton.disabled {
  pointer-events: none;
}

.thFormButton:disabled .thFormButtonContent, .thFormButton.disabled .thFormButtonContent {
  opacity: .5;
}

.thFormButton .thFormButtonStateIcon {
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  width: 18px;
  height: 18px;
  font-size: 16.2px;
  transition: opacity .128s linear, transform .128s linear;
  display: flex;
  position: absolute;
  bottom: -9px;
  left: calc(50% - 9px);
  box-shadow: 0 2px 2px #0000001a;
}

.thFormButton .thFormButtonStateIcon.success {
  color: #00be00;
}

.thFormButton .thFormButtonStateIcon.error {
  color: #be0000;
}

.thFormButton .thFormButtonStateIcon.v-enter-from, .thFormButton .thFormButtonStateIcon.v-leave-to {
  opacity: 0;
  transform: scale(.5);
}

.thFormButton .thFormButtonStateIcon > var.spinner {
  color: #666;
  animation: .512s steps(8, end) infinite th-spinner-spin;
}

.thSpinner {
  color: #666;
  opacity: 0;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  font-size: 36px;
  animation: .256s linear .256s forwards th-transition-appear;
  display: flex;
}

.thSpinner > var {
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
  animation: .512s steps(8, end) infinite th-spinner-spin;
  display: flex;
}

.thSpinner.thSpinnerFull {
  flex: 1;
  width: 100%;
  height: 100%;
}

.thFrameCenterTitle {
  margin: 16px 8px;
}

.thFrameCenterTitle input {
  font-size: 24px;
  font-weight: bold;
}

.thFrameCenterTitle .thFormEntryInput {
  padding: 12px 8px !important;
}

.thMainContent {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.thTabBar {
  border-bottom: 1px solid #00000026;
  gap: 8px;
  padding: 0 12px;
  display: flex;
}

.thTabBarTab {
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
  border-radius: 4px 4px 0 0;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 8px 24px;
  transition: color 64ms linear;
  display: flex;
  position: relative;
}

.thTabBarTab > var {
  font-size: 24px;
}

.thTabBarTab:not(.thTabBarTabCurrent):hover {
  cursor: pointer;
  background: #edebe9;
}

.thTabBarTab:after {
  content: "";
  opacity: 0;
  background: #be5900;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  width: 100%;
  height: 4px;
  transition: opacity 64ms linear, transform 64ms linear;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
}

.thTabBarTab.thTabBarTabCurrent {
  color: #be5900;
}

.thTabBarTab.thTabBarTabCurrent:after {
  opacity: 1;
  transform: scale(1);
}

.thContentBox {
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.thContentBoxFull {
  flex: 1;
  display: flex;
  position: relative;
  overflow: hidden;
}

.thContentSectionGrid {
  gap: 16px;
  display: grid;
}

.thContentSectionGrid.thContentSectionGrid1 {
  grid-template-columns: 1fr;
}

.thContentSectionGrid.thContentSectionGrid2 {
  grid-template-columns: 1fr 1fr;
}

.thContentSectionGrid.thContentSectionGrid2then1 {
  grid-template-columns: 3fr 1fr;
}

.thContentSectionGrid.thContentSectionGrid3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.thContentSectionGrid .thContentSectionCellSpan3 {
  grid-column: span 3;
}

.thContentSectionCell {
  background: #f9eee6;
  border: 1px solid #be5900;
  border-radius: 4px;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding-bottom: 8px;
  display: flex;
  overflow: hidden;
  box-shadow: 0 2px 2px #0000001a;
}

.thContentSectionCell > * {
  margin: 0 8px;
}

.thContentSectionCell > h4 {
  color: #5f2d00;
  text-transform: uppercase;
  margin: 0;
  padding: 8px 8px 4px;
  font-size: 12px;
  font-weight: bold;
}

.thContentSectionTimelineChart {
  grid-row: span 2;
  min-height: 600px;
}

.thContentSectionTimelineGrid {
  grid-template-columns: 2fr 1fr;
}

.thContentScrollableGrid {
  scrollbar-width: normal;
  scrollbar-color: #00000026 #fff3;
  max-height: 300px;
  overflow: auto;
}

.thContentScrollableGrid::-webkit-scrollbar {
  width: 16px;
  height: 12px;
}

.thContentScrollableGrid::-webkit-scrollbar-track {
  background: #615351;
  border-radius: 4px;
}

.thContentScrollableGrid::-webkit-scrollbar-thumb {
  background: red;
  border: 2px solid #615351;
  border-radius: 4px;
}

.thContentScrollableGrid::-webkit-scrollbar-thumb:hover {
  background: #00f;
}

.thContentScrollableGrid::-webkit-scrollbar-thumb:active {
  background: green;
}

.thContentInternalGrid {
  gap: 0 8px;
  font-size: 12px;
  display: grid;
}

.thContentInternalGrid.thContentInternalGrid1 {
  grid-template-columns: 1fr;
}

.thContentInternalGrid.thContentInternalGrid2 {
  grid-template-columns: 1fr 1fr;
}

.thContentInternalGrid .thContentInternalHeader {
  font-weight: bold;
}

.thContentVarsGrid {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.thContentSectionSourceMedium {
  min-height: 100px;
}

.thContentSectionSourceChannels, .thContentSectionSourceLatest {
  min-height: 200px;
}

.thContentSectionFields {
  gap: 8px;
  display: flex;
}

.thContentSectionFields .thContentSectionAddField {
  cursor: pointer;
  color: #666;
  text-transform: uppercase;
  border: 1px solid #00000026;
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  padding: 4px;
  font-size: 12px;
  display: flex;
}

.thContentSectionFields .thContentSectionAddField > span {
  display: inline-block;
  position: relative;
  top: .075em;
}

.thContentSectionFields .thContentSectionAddField > var {
  display: inline-block;
}

.thContentSectionFields .thContentSectionAddField:hover, .thContentSectionFields .thContentSectionAddField:active {
  border-color: #be5900;
}

.thSubmenuFilterMenu {
  filter: drop-shadow(0 2px 2px #0000001a);
  z-index: 2001;
  scrollbar-width: normal;
  scrollbar-color: #00000026 #fff3;
  transform-origin: 0 0;
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 4px;
  width: 400px;
  min-height: 50px;
  transition: opacity 64ms linear, transform 64ms linear;
  position: absolute;
  top: 8px;
  left: calc(100% + 8px);
}

.thSubmenuFilterMenu::-webkit-scrollbar {
  width: 16px;
  height: 12px;
}

.thSubmenuFilterMenu::-webkit-scrollbar-track {
  background: #615351;
  border-radius: 4px;
}

.thSubmenuFilterMenu::-webkit-scrollbar-thumb {
  background: red;
  border: 2px solid #615351;
  border-radius: 4px;
}

.thSubmenuFilterMenu::-webkit-scrollbar-thumb:hover {
  background: #00f;
}

.thSubmenuFilterMenu::-webkit-scrollbar-thumb:active {
  background: green;
}

.thSubmenuFilterMenu:after {
  content: "";
  border: inherit;
  background: linear-gradient(45deg, #f7f6f6 0% 60%, #0000 60.1% 100%);
  border-top: none;
  border-right: none;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 8px;
  left: -8.8px;
  transform: rotate(45deg);
}

.thSubmenuFilterMenu.v-enter-from, .thSubmenuFilterMenu.v-leave-to {
  opacity: 0;
  transform: scale(.8);
}

.thSubmenuFilterMenuContent {
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  top: 0;
  left: 0;
  overflow: auto;
}

.thSubmenuClose {
  color: #333;
  background-color: #edebe9;
  border: 1px solid #00000026;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  padding: 4px;
  font-size: 12px;
  transition: background-color 64ms linear;
  display: flex;
  position: absolute;
  top: -4px;
  right: 8px;
  box-shadow: 0 2px 2px #0000001a;
}

.thSubmenuClose:hover {
  cursor: pointer;
  background-color: #f7f6f6;
}

.thSubmenuFilterMenuForm {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  display: flex;
}

.thSubmenuFilterMenuForm > label {
  font-weight: bold;
}

.thSubmenuFilterMenuForm > input {
  padding: 4px;
}

.thFormContent input {
  border: 1px solid #00000026;
  border-radius: 4px;
  padding: 4px;
}

.thFormFrameScrollableContent {
  width: 100%;
  height: 200px;
  overflow: auto;
}

.thContentTable {
  border-collapse: collapse;
  width: 100%;
}

.thContentTable th, .thContentTable td {
  padding: 4px 8px;
}

.thContentTable th:first-child, .thContentTable td:first-child {
  padding-left: 12px;
}

.thContentTable th:last-child, .thContentTable td:last-child {
  padding-right: 12px;
}

.thContentTable thead {
  position: sticky;
  top: 0;
}

.thContentTable thead tr {
  background: #f9eee6;
}

.thContentTable thead th {
  text-align: left;
  text-transform: uppercase;
  color: #666;
  padding-top: 12px;
  font-size: 12px;
}

.thContentTable thead .thContentTableHeaderBorder {
  background: #00000026;
  height: 1px;
  padding: 0;
}

.thContentTable.thContentTableClickable tbody tr {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

.thContentTable.thContentTableClickable tbody tr:hover {
  background: #fcf7f2;
}

.thDraggableArea {
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}

.thDraggableArea.dragging, .thDraggableArea:active {
  cursor: grabbing;
}

.thDraggableAreaContent {
  position: relative;
}

.viewchart {
  margin: 12px;
  padding-bottom: 24px;
  position: absolute;
}

.viewchart.shrinkX {
  transition: width 0s linear .256s;
}

.viewchart.shrinkY {
  transition: height 0s linear .256s;
}

.viewchart.shrinkX.shrinkY {
  transition: width 0s linear .256s, height 0s linear .256s;
}

.viewbox {
  box-sizing: border-box;
  -webkit-user-select: none;
  user-select: none;
  text-align: center;
  cursor: pointer;
  background-color: #fefdfc;
  border: 1px solid #00000026;
  border-radius: 4px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4px;
  font-size: 16px;
  transition: transform .256s ease-out, box-shadow 64ms linear;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  box-shadow: 0 2px 2px #0000001a;
}

.viewbox.action {
  color: #be5900;
  background-color: #f7f6f680;
  border-color: #0003;
}

.viewbox.action > var {
  color: #be5900;
}

.viewbox > var {
  color: #666;
  width: 1em;
  height: 1em;
  font-size: 24px;
}

.viewbox:hover {
  box-shadow: 0 2px 2px #0000001a, 0 0 8px 4px #00339f53;
}

.viewbox.linking {
  box-shadow: 0 2px 2px #0000001a, 0 0 8px 4px #be590080;
}

.viewbox.selected {
  box-shadow: 0 2px 2px #0000001a, 0 0 8px 4px #004bec80;
}

.viewbox_title {
  line-height: 1em;
  overflow: hidden;
  max-height: 3em !important;
}

.message {
  opacity: .5;
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.edgelayer {
  position: absolute;
  top: 0;
  left: 0;
}

.pathline {
  stroke: #000;
  stroke-width: 1px;
  fill: none;
  marker-end: url("#arrow");
  pointer-events: none;
  transition: d .256s ease-out;
  animation: linear forwards digraph_line_appear;
}

.pathline.action {
  stroke-dasharray: 4 4;
  opacity: .3 !important;
}

.pathlinemouse {
  stroke: #004bec80;
  stroke-width: 10px;
  stroke-linecap: round;
  fill: none;
  opacity: 0;
  filter: blur(3px);
  transition: d .256s ease-out, opacity .128s linear;
}

.pathlinemouse.action {
  pointer-events: none;
}

.pathlinemouse:hover {
  opacity: .5;
  cursor: pointer;
}

.pathlinemouse.selected {
  opacity: 1;
}

.newview {
  color: #fff;
  cursor: pointer;
  background: #0078d7;
  border-radius: 20px;
  padding: 20px;
  font-size: 16px;
  font-weight: bold;
  position: fixed;
  bottom: 10px;
  right: 10px;
  box-shadow: 0 4px 8px #0003;
}

.newview:hover {
  filter: brightness(110%);
}

.viewchart.notfirst .viewbox {
  transition: transform .256s ease-out, border-color .512s linear, filter .512s linear;
}

.viewchart.notfirst .pathline {
  animation-duration: .512s;
}

@keyframes digraph_line_appear {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.thGraphComponentContainer {
  flex-direction: row;
  align-items: stretch;
  display: flex;
}

.thViewGraphArea {
  flex: 1;
  align-items: stretch;
  display: flex;
}

.thViewGraphAreaContent {
  flex: 1;
  position: relative;
}

.thViewGraphAreaInfo {
  background: #f7f6f6;
  border-left: 1px solid #00000026;
  width: 300px;
  position: relative;
}

.thProjectList {
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 16px;
  display: flex;
}

.thProjectItem {
  background: #f7f6f6;
  border: 1px solid #00000026;
  border-radius: 4px;
  padding: 16px;
  box-shadow: 0 2px 2px #0000001a;
}

.thProjectItem:hover {
  cursor: pointer;
  background: #fefdfc;
}

.thHomeButtonList {
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 200px;
  display: flex;
}

.thHomeButtonList .thPageButton {
  text-align: left;
}

.thHomeButtonList .thPageButton var {
  margin-right: 8px;
}

.thPageLoginForm {
  padding: 24px;
}

.thPageLoginForm form {
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  width: 200px;
  display: flex;
}

.thPageLoginForm form h1 {
  font-size: 20px;
  font-weight: bold;
}

.thPageLoginLogo {
  filter: drop-shadow(0 2px 2px #0000001a);
  margin-bottom: 24px;
}

.thChart[data-v-e8af238d] {
  width: 100%;
  height: 400px;
  position: relative;
}

