html,
body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 400;
  line-height: 1.8;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;

  font-size: var(--font-size-normal);
  color: var(--gray900);
  background: var(--gray75);
}

.zh-CN {
  font-family: 'Noto Sans SC', sans-serif !important;
}

.ja-JP {
  font-family: 'Noto Sans JP', sans-serif !important;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  line-height: 30px;
  padding: 0;
  margin: 0;
}

button,
input,
select {
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

a,
a:active,
a:visited {
  color: var(--primary400);
}

input[type='text'],
input[type='password'],
textarea {
  color: var(--gray900);
  background: var(--gray50);
  padding: 4px 8px;
  font-size: var(--font-size-normal);
  line-height: 1.8;
  border: 1px solid var(--gray500);
  border-radius: 4px;
  outline: none;
  resize: none;
  flex: 1;
}

input[type='checkbox'] + label {
  margin-left: 10px;
}

label {
  flex: 1;
  margin-right: 20px;
}

label:empty {
  flex: 0;
}

dt {
  font-weight: 600;
  margin: 0 0 5px 0;
}

dd {
  margin: 0 0 30px 0;
}

main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

svg {
  shape-rendering: geometricPrecision;
}

#__next {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  flex: 1;
}

#__modals {
  z-index: 10;
}

.container {
  padding: 0;
}

.row {
  margin-right: 0;
  margin-left: 0;
}
.row > .col,
.row > [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

.center {
  text-align: center;
}