*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}

html,
:host {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-family: 'Source Han Sans SC', 'Source Han Sans SC VF',
    'Source Han Sans CN', 'Source Han Sans CN VF', 'Noto Sans CJK SC',
    'HanHei SC', 'HarmonyOS Sans SC', '方正兰亭黑Pro Global', ui-sans-serif,
    sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
    'Noto Color Emoji', emoji;
  line-height: 1.5;
  color: rgb(0 0 0 / 0.88);
}

@media (prefers-reduced-motion: no-preference) {

  html,
  :host {
    scroll-behavior: smooth
  }
}

a {
  color: inherit;
  text-decoration: inherit;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
}

img,
video {
  max-width: 100%;
  height: auto;
}


li {
  list-style: none;
}

:root,
:host {
  --theme-color: #2998d6;
  --theme-color-rgb: 41 152 214;
}

.container {
  --container-padding-x: 20px;

  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-left: var(--container-padding-x);
  padding-right: 20px;
  padding-right: var(--container-padding-x);
}

@media (min-width: 640px) {

  .container {
    --container-padding-x: 40px
  }
}

@media (min-width: 768px) {

  .container {
    --container-padding-x: 60px
  }
}

@media (min-width: 1024px) {

  .container {
    --container-padding-x: 80px
  }
}

@media (min-width: 1280px) {

  .container {
    --container-padding-x: 120px
  }
}

@media (min-width: 1536px) {

  .container {
    --container-padding-x: 160px
  }
}

@media (min-width: 1920px) {

  .container {
    --container-padding-x: 240px
  }
}
