/* 定义HTML根元素的变量与字体设置 */
html {
  --color-1: #ff0000;
  --color-2: #e7c8ff;
  --color-3: #e5dfdf;
  --color-4: #10004e;
  --color-5: #10004e;
  --dashed: 0.09rem;
  --margin-home-boxes: 5px;
  font-family: Oracle;
  font-size: 20px;
}

.no-transition * {
  transition: none !important;
}

@font-face {
  font-family: "Oracle";
  src: url("/assets/font/ABCOracle-Regular.woff2"), url("/assets/font/ABCOracle-RegularItalic.woff2");
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: "Kalice";
  src: url("/assets/font/Kalice-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: normal;
  font-display: swap;
}
/* 定义HTML根元素的变量与字体设置 */
html {
  font-family: "Oracle", sans-serif;
  height: 100%;
}

/* 设置网页背景色与字体平滑效果 */
body {
  background-color: var(--color-3);
}

/* Base menu styling */
/* 设置菜单容器的样式，位于页面中心 */
.menu {
  width: 100vw;
  height: 100vh;
  z-index: 10;
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: var(--margin-home-boxes);
}

/* 菜单项的样式，包括颜色、圆角、动画等 */
.menu-item-box {
  position: absolute;
  transform-origin: center;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  background-color: var(--color-4);
  color: var(--color-3);
  text-decoration: none;
  border-radius: 1.6em;
  text-align: center;
  padding: 0.4em 0.8em;
  pointer-events: auto;
  transition: background-color 2s ease, color 0.5s ease;
  /* Added transition */
}
.menu-item-box a {
  color: var(--color-3);
}
.menu-item-box a:visited {
  color: var(--color-3);
}

/* 鼠标悬停时菜单项的颜色变化效果 */
.menu-item-box:hover {
  background-color: var(--color-3);
}
/* 鼠标悬停时菜单项的颜色变化效果 */
.menu-item-box:hover a {
  color: var(--color-1);
}

.menu-item-box-imprint {
  position: absolute;
  transform-origin: right;
  top: calc(100vh - 6.5 * var(--margin-home-boxes));
  right: calc(5.5 * var(--margin-home-boxes));
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  color: var(--color-4);
  /* Dark text initially */
  font-size: 0.8em;
  text-decoration: none;
  border-radius: 1.6em;
  text-align: center;
  padding: 0.3em 0.7em;
  border-radius: 2em;
  pointer-events: auto;
}
.menu-item-box-imprint a {
  color: var(--color-4);
}

.menu-item-box-logo {
  position: absolute;
  transform-origin: center;
  top: calc(100vh - 12 * var(--margin-home-boxes));
  left: calc(6 * var(--margin-home-boxes));
  width: 7em;
}

.language-toggle {
  z-index: 20;
  padding: 0.3em 0.7em;
  border-radius: 2em;
  background-color: var(--color-3);
  font-size: 1em;
  position: absolute;
  align-items: center;
  transform: translate(-100%);
  top: calc(2 * var(--margin-home-boxes));
  left: calc(100vw - (5 * var(--margin-home-boxes) - 10px));
  border: 1px solid var(--color-4);
}
.language-toggle a {
  color: var(--color-4);
}

/* Desktop-specific positioning */
@media screen and (min-width: 481px) {
/* 定义HTML根元素的变量与字体设置 */
  html {
    --dashed: 0.1rem;
  }
/* 菜单项的样式，包括颜色、圆角、动画等 */
  .menu-item-box {
    box-shadow: 1px 1px 20px rgba(0, 0, 24, 0.4);
    transition: box-shadow 2s ease;
    /* Smooth transition for box-shadow */
  }
/* 鼠标悬停时菜单项的颜色变化效果 */
  .menu-item-box:hover {
    box-shadow: 3px 3px 30px rgba(89, 0, 131, 0.4);
    /* Change to color 2 and increase blur */
  }
  .menu-item-box a {
    transition: color 2s ease, background-color 0.8s ease;
    transition: color 2s ease;
  }
  /* Adjusted Positions */
  /* Unified Animations for Menu Items */
/* 菜单项的样式，包括颜色、圆角、动画等 */
  .menu-item-box {
    position: absolute;
    transition: top 1.5s ease, left 1.5s ease, transform 1.5s ease, background-color 0.5s ease, filter 1s ease;
  }
  .menu-item-box[data-position=center] {
    top: 50vh;
    left: 50vw;
    transform: translate(-50%, -65%);
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  .menu-item-box[data-position=top] {
    top: calc(5 * var(--margin-home-boxes) - 20px);
    left: 50vw;
    transform: translate(-50%, 0);
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  .menu-item-box[data-position=bottom] {
    top: calc(100vh - (5 * var(--margin-home-boxes) - 10px));
    left: 50vw;
    transform: translate(-50%, -100%);
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  .menu-item-box[data-position=left] {
    top: 50vh;
    left: calc(5 * var(--margin-home-boxes) - 20px);
    transform: translate(0, -65%);
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  .menu-item-box[data-position=right] {
    top: 50vh;
    left: calc(100vw - (5 * var(--margin-home-boxes) - 10px));
    transform: translate(-100%, -65%);
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  /* New Animations for Selected Item */
  /* Animations for Dynamic States */
  .menu-item-box.to-center {
    top: 50vh;
    left: 50vw;
    transform: translate(-50%, -65%);
    transform: translate(-50%, -65%) scale(1.1);
    color: var(--color-1);
    background-color: var(--color-3);
    z-index: 10;
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
    filter: blur(0);
  }
  .menu-item-box.stay-center {
    /* No transition here, just holding state */
    top: 50vh;
    left: 50vw;
    transform: translate(-50%, -65%);
    transform: translate(-50%, -65%) scale(1.2);
    color: var(--color-1);
    background-color: var(--color-3);
    z-index: 10;
    filter: blur(2px);
  }
  .menu-item-box.to-top-center {
    top: calc(5 * var(--margin-home-boxes) - 20px);
    left: 50vw;
    transform: translate(-50%, 0);
    transform: translate(-50%, 0) scale(1);
    color: var(--color-1);
    background-color: var(--color-3);
    z-index: 10;
    transition: top 1s ease-in, left 1.5s ease, transform 1.5s ease;
  }
  .menu-item-box.blurry-transition {
    filter: blur(5px);
  }
}
/* Mobile Menu Buttons*/
@media screen and (max-width: 480px) {
/* 设置菜单容器的样式，位于页面中心 */
  nav.menu {
    z-index: 20;
    height: 100dvh;
    position: fixed;
    display: flex;
    flex-direction: column;
    pointer-events: auto;
    justify-content: center;
    align-items: center;
  }
  .language-toggle {
    z-index: 5;
    position: fixed;
    top: calc(2 * var(--margin-home-boxes));
  }
  .menu-item-box-logo {
    position: fixed;
    transform-origin: center;
    left: 0.7em;
    top: 97dvh;
    width: 5.5em;
  }
  .menu-item-box-imprint {
    font-size: 0.7em;
    position: fixed;
    transform-origin: center;
    right: 1px;
    top: 97dvh;
  }
/* 菜单项的样式，包括颜色、圆角、动画等 */
  .menu-item-box {
    position: fixed;
    border-radius: 1.6em;
    text-align: center;
    padding: 0.3em 0.7em;
    border-radius: 2em;
    pointer-events: auto;
    font-size: 6dvw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    transition: top 0.8s ease, left 0.8s ease, transform 0.8s ease;
    /* Added transition for movement */
  }
  .menu-item-box[data-position=top] {
    top: 30dvh;
    left: 50dvw;
    transform: translate(-50%, -50%);
  }
  .menu-item-box[data-position=left] {
    margin: 0;
    top: 40dvh;
    left: 50dvw;
    transform: translate(-50%, -50%);
  }
  .menu-item-box[data-position=center] {
    top: 50dvh;
    left: 50dvw;
    transform: translate(-50%, -50%);
  }
  .menu-item-box[data-position=right] {
    top: 60dvh;
    left: 50dvw;
    transform: translate(-50%, -50%);
  }
  .menu-item-box[data-position=bottom] {
    top: 70dvh;
    left: 50dvw;
    transform: translate(-50%, -50%);
  }
}
.container {
  position: fixed;
  width: 100vw;
  z-index: 3;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.box {
  position: absolute;
  z-index: 1000;
  border: var(--dashed) dashed var(--color-4);
  margin: var(--margin-home-boxes);
  /* Ellipse positioning */
}
.box.ellipse.movingfirst {
  -webkit-animation: width-ellipse-movingfirst 6s infinite ease;
          animation: width-ellipse-movingfirst 6s infinite ease;
}
.box.ellipse.movingsecond {
  -webkit-animation: width-ellipse-movingsecond 6s infinite ease;
          animation: width-ellipse-movingsecond 6s infinite ease;
}
.box.bottom-left, .box.bottom-right, .box.top-left, .box.top-right {
  margin: 0;
  width: calc(50vw - 10 * var(--margin-home-boxes));
  height: calc(50vh - 10 * var(--margin-home-boxes));
}
.box.top-left {
  bottom: calc(50% - 2 * var(--dashed));
  left: calc(10 * var(--margin-home-boxes));
  border-top: none;
  border-left: none;
  border-radius: 0 0 100% 0;
  -webkit-animation: border-radius-animation-top-left 6s forwards ease infinite;
          animation: border-radius-animation-top-left 6s forwards ease infinite;
}
.box.bottom-left {
  top: calc(50% + var(--dashed));
  left: calc(10 * var(--margin-home-boxes));
  border-bottom: none;
  border-left: none;
  border-radius: 0 100% 0 0;
  -webkit-animation: border-radius-animation-bottom-left 6s forwards ease infinite;
          animation: border-radius-animation-bottom-left 6s forwards ease infinite;
}
.box.top-right {
  bottom: calc(50% - 2 * var(--dashed));
  left: calc(50% - var(--dashed));
  border-top: none;
  border-right: none;
  border-radius: 0 0 0 100%;
  -webkit-animation: border-radius-animation-top-right 6s forwards ease infinite;
          animation: border-radius-animation-top-right 6s forwards ease infinite;
}
.box.bottom-right {
  top: calc(50% + var(--dashed));
  left: calc(50% - var(--dashed));
  border-bottom: none;
  border-right: none;
  border-radius: 100% 0 0 0;
  -webkit-animation: border-radius-animation-bottom-right 6s forwards ease infinite;
          animation: border-radius-animation-bottom-right 6s forwards ease infinite;
}
.box.ellipse, .box.ellipse-top, .box.ellipse-bottom {
  margin: 0;
  /* Remove margin for ellipses */
  width: calc(100vw - 10 * var(--margin-home-boxes));
  height: calc(100vh - 10 * var(--margin-home-boxes));
  border-radius: 100%;
}
.box.ellipse-top {
  top: calc(-50vh + 10 * var(--margin-home-boxes) + 2 * var(--dashed));
  -webkit-animation: border-radius-animation 6s infinite ease;
          animation: border-radius-animation 6s infinite ease;
}
.box.ellipse-bottom {
  bottom: calc(-50vh + 10 * var(--margin-home-boxes) - var(--dashed));
  -webkit-animation: border-radius-animation 6s infinite ease;
          animation: border-radius-animation 6s infinite ease;
}
.box.vertical-lines {
  width: calc(100vw - 10 * var(--margin-home-boxes));
  height: 100vh;
  border-top: none;
  border-bottom: none;
}
.box.horizontal-lines {
  width: 100vw;
  height: calc(100vh - 10 * var(--margin-home-boxes));
  border-left: none;
  border-right: none;
}

.line-horizontal,
.line-vertical {
  position: absolute;
  z-index: 1;
}
.line-horizontal.line-horizontal,
.line-vertical.line-horizontal {
  width: 100%;
  height: 0;
  top: 50%;
  left: 0;
  border-top: var(--dashed) dashed var(--color-4);
}
.line-horizontal.line-vertical,
.line-vertical.line-vertical {
  width: 0;
  height: 100%;
  top: 0;
  left: 50%;
  border-left: var(--dashed) dashed var(--color-4);
}

/* Set animations to paused by default */
.container.animate-left .box.ellipse.movingfirst, .container.animate-right .box.ellipse.movingfirst {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-horizontal 6s forwards ease;
          animation: ellipse-animation-horizontal 6s forwards ease;
}
.container.animate-left .box.ellipse.movingsecond, .container.animate-right .box.ellipse.movingsecond {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-horizontal 6s forwards ease;
          animation: ellipse-animation-horizontal 6s forwards ease;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.container.animate-left .box.ellipse.movingthird, .container.animate-right .box.ellipse.movingthird {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-horizontal 6s forwards ease;
          animation: ellipse-animation-horizontal 6s forwards ease;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
.container.animate-top .box.ellipse.movingfirst, .container.animate-bottom .box.ellipse.movingfirst {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-vertical 6s forwards ease;
          animation: ellipse-animation-vertical 6s forwards ease;
}
.container.animate-top .box.ellipse.movingsecond, .container.animate-bottom .box.ellipse.movingsecond {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-vertical 6s forwards ease;
          animation: ellipse-animation-vertical 6s forwards ease;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
.container.animate-top .box.ellipse.movingthird, .container.animate-bottom .box.ellipse.movingthird {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  -webkit-animation: ellipse-animation-vertical 6s forwards ease;
          animation: ellipse-animation-vertical 6s forwards ease;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@media (max-width: 767px) {
  .line-horizontal,
.line-vertical {
    display: none;
  }
  .container {
    position: fixed;
    width: 100dvw;
    z-index: 3;
    height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .box {
    margin: 50px;
    position: absolute;
    z-index: 1000;
    width: 100dvw;
    height: 100dvh;
  }
  .box.ellipse.movingfirst, .box.ellipse.movingsecond, .box.ellipse.movingthird, .box.horizontal-lines, .box.vertical-lines, .box.line-horizontal, .box.line-vertical {
    display: none;
  }
  .box.bottom-left, .box.bottom-right, .box.top-left, .box.top-right {
    margin: 0;
    padding: 0;
  }
  .box.bottom-left {
    border-left: none;
    border-bottom: none;
    left: 0dvw;
    width: 50dvw;
  }
  .box.bottom-right {
    border-right: none;
    border-bottom: none;
    left: 50dvw;
    width: 50dvw;
  }
  .box.top-right {
    border-right: none;
    border-top: none;
    left: 50dvw;
    width: 50dvw;
  }
  .box.top-left {
    border-left: none;
    border-top: none;
    left: 0dvw;
    width: 50dvw;
  }
  .box.ellipse {
    margin: 0;
    top: calc(0dvh + 5 * var(--margin-home-boxes));
    width: calc(100dvw - 10 * var(--margin-home-boxes));
    height: calc(100dvh - 10 * var(--margin-home-boxes));
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile-2 6s infinite ease-in-out;
            animation: border-radius-animation-mobile-2 6s infinite ease-in-out;
  }
  .box.ellipse-top {
    margin: 0;
    top: calc(-50dvh + 0.5 * var(--margin-home-boxes));
    width: calc(100dvw - 10 * var(--margin-home-boxes));
    height: 100dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.ellipse-bottom {
    margin: 0;
    bottom: calc(-50dvh - 0.5 * var(--margin-home-boxes));
    width: calc(100dvw - 10 * var(--margin-home-boxes));
    height: 100dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.mobile-ellipse-right {
    margin: 0;
    bottom: -40dvh;
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: 80dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.mobile-ellipse-left {
    margin: 0;
    top: -40dvh;
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: 80dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.mobile-ellipse-bottom {
    margin: 0;
    bottom: -30dvh;
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: 60dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.mobile-ellipse-top {
    margin: 0;
    top: -60dvh;
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: 90dvh;
    border-radius: 100%;
    -webkit-animation: border-radius-animation-mobile 6s infinite ease;
            animation: border-radius-animation-mobile 6s infinite ease;
  }
  .box.vertical-lines {
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: 100vh;
    border-top: none;
    border-bottom: none;
  }
  .box.horizontal-lines {
    width: 100dvw;
    height: calc(100dvh - 10 * var(--margin-home-boxes));
    border-left: none;
    border-right: none;
  }
  @-webkit-keyframes border-radius-animation-mobile {
    0% {
      border-radius: 10%;
    }
    40%, 50% {
      border-radius: 100%;
    }
    100% {
      border-radius: 10%;
    }
  }
  @keyframes border-radius-animation-mobile {
    0% {
      border-radius: 10%;
    }
    40%, 50% {
      border-radius: 100%;
    }
    100% {
      border-radius: 10%;
    }
  }
  @-webkit-keyframes border-radius-animation-mobile-2 {
    0% {
      border-radius: 100%;
    }
    40%, 50% {
      border-radius: 0%;
    }
    100% {
      border-radius: 100%;
    }
  }
  @keyframes border-radius-animation-mobile-2 {
    0% {
      border-radius: 100%;
    }
    40%, 50% {
      border-radius: 0%;
    }
    100% {
      border-radius: 100%;
    }
  }
}
@-webkit-keyframes border-radius-animation {
  0% {
    border-radius: 0%;
  }
  40%, 50% {
    border-radius: 100%;
  }
  100% {
    border-radius: 0%;
  }
}
@keyframes border-radius-animation {
  0% {
    border-radius: 0%;
  }
  40%, 50% {
    border-radius: 100%;
  }
  100% {
    border-radius: 0%;
  }
}
@-webkit-keyframes border-radius-animation-top-left {
  0% {
    border-radius: 0 0 0% 0;
  }
  40%, 50% {
    border-radius: 0 0 100% 0;
  }
  100% {
    border-radius: 0 0 0% 0;
  }
}
@keyframes border-radius-animation-top-left {
  0% {
    border-radius: 0 0 0% 0;
  }
  40%, 50% {
    border-radius: 0 0 100% 0;
  }
  100% {
    border-radius: 0 0 0% 0;
  }
}
@-webkit-keyframes border-radius-animation-top-right {
  0% {
    border-radius: 0 0 0 0%;
  }
  40%, 50% {
    border-radius: 0 0 0 100%;
  }
  100% {
    border-radius: 0 0 0 0%;
  }
}
@keyframes border-radius-animation-top-right {
  0% {
    border-radius: 0 0 0 0%;
  }
  40%, 50% {
    border-radius: 0 0 0 100%;
  }
  100% {
    border-radius: 0 0 0 0%;
  }
}
@-webkit-keyframes border-radius-animation-bottom-right {
  0% {
    border-radius: 0% 0 0 0;
  }
  40%, 50% {
    border-radius: 100% 0 0 0;
  }
  100% {
    border-radius: 0% 0 0 0;
  }
}
@keyframes border-radius-animation-bottom-right {
  0% {
    border-radius: 0% 0 0 0;
  }
  40%, 50% {
    border-radius: 100% 0 0 0;
  }
  100% {
    border-radius: 0% 0 0 0;
  }
}
@-webkit-keyframes border-radius-animation-bottom-left {
  0% {
    border-radius: 0 0% 0 0;
  }
  40%, 50% {
    border-radius: 0 100% 0 0;
  }
  100% {
    border-radius: 0 0% 0 0;
  }
}
@keyframes border-radius-animation-bottom-left {
  0% {
    border-radius: 0 0% 0 0;
  }
  40%, 50% {
    border-radius: 0 100% 0 0;
  }
  100% {
    border-radius: 0 0% 0 0;
  }
}
@-webkit-keyframes ellipse-animation {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
    height: 0vh;
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
}
@keyframes ellipse-animation {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
    height: 0vh;
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
}
@-webkit-keyframes width-ellipse-movingfirst {
  0% {
    width: calc(0vw - 1 * var(--dashed));
  }
  40%, 50% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  100% {
    width: calc(0vw - 1 * var(--dashed));
  }
}
@keyframes width-ellipse-movingfirst {
  0% {
    width: calc(0vw - 1 * var(--dashed));
  }
  40%, 50% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  100% {
    width: calc(0vw - 1 * var(--dashed));
  }
}
@-webkit-keyframes width-ellipse-movingsecond {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
}
@keyframes width-ellipse-movingsecond {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
}
/* Horizontal animation for left and right */
@-webkit-keyframes ellipse-animation-horizontal {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
}
@keyframes ellipse-animation-horizontal {
  0% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    width: calc(0vw - 1 * var(--dashed));
  }
  100% {
    width: calc(100vw - 10 * var(--margin-home-boxes));
  }
}
/* Vertical animation for top and bottom */
@-webkit-keyframes ellipse-animation-vertical {
  0% {
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    height: 0vh;
  }
  100% {
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
}
@keyframes ellipse-animation-vertical {
  0% {
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
  40%, 50% {
    height: 0vh;
  }
  100% {
    height: calc(100vh - 10 * var(--margin-home-boxes));
  }
}
.container-title {
  font-family: "Kalice";
  position: fixed;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}

.text-stroke {
  transform: scale(150%);
  font-size: 100px;
  letter-spacing: -5px;
  z-index: 1;
  stroke: var(--color-1);
  stroke-width: 2px;
  fill: var(--color-2);
  stroke-dasharray: 70% 20;
  stroke-dashoffset: 20%;
  -webkit-animation: textStrokeAnim 11s infinite ease-in-out;
  animation: textStrokeAnim 11s infinite ease-in-out;
}

@-webkit-keyframes textStrokeAnim {
  0% {
    stroke-dasharray: 70% 20;
    stroke-dashoffset: 20%;
  }
  50% {
    stroke-dasharray: 20% 70%;
    stroke-dashoffset: -10%;
  }
  65% {
    stroke-dasharray: 0% 100%;
    /* This removes the stroke completely */
    stroke-dashoffset: -10%;
  }
  70% {
    stroke-dasharray: 0% 100%;
    /* This removes the stroke completely */
    stroke-dashoffset: -10%;
  }
  100% {
    stroke-dasharray: 70% 20;
    stroke-dashoffset: 20%;
  }
}

@keyframes textStrokeAnim {
  0% {
    stroke-dasharray: 70% 20;
    stroke-dashoffset: 20%;
  }
  50% {
    stroke-dasharray: 20% 70%;
    stroke-dashoffset: -10%;
  }
  65% {
    stroke-dasharray: 0% 100%;
    /* This removes the stroke completely */
    stroke-dashoffset: -10%;
  }
  70% {
    stroke-dasharray: 0% 100%;
    /* This removes the stroke completely */
    stroke-dashoffset: -10%;
  }
  100% {
    stroke-dasharray: 70% 20;
    stroke-dashoffset: 20%;
  }
}
.text-stroke-thick {
  transform: scale(150%);
  font-size: 100px;
  letter-spacing: -5px;
  filter: drop-shadow(2px 2px 100000000px var(--color-1));
  z-index: 5;
  fill: var(--color-1);
  /* Assuming the fill color remains constant */
  stroke: var(--color-2);
  /* Blue stroke color */
  stroke-width: 2px;
  /* Apply both animations */
  -webkit-animation: textStrokeThickAnim 8s infinite ease-in-out, strokeBlurEffect 8s infinite ease-in-out;
  animation: textStrokeThickAnim 8s infinite ease-in-out, strokeBlurEffect 8s infinite ease-in-out;
}

@-webkit-keyframes textStrokeThickAnim {
  0% {
    stroke-width: 10px;
    fill: var(--color-1);
    filter: drop-shadow(2px 2px 10px var(--color-1));
    /* Adjusted blur radius */
  }
  40% {
    stroke-width: 60px;
    filter: drop-shadow(2px 2px 20px var(--color-1));
    /* Adjusted blur radius */
  }
  100% {
    stroke-width: 10px;
    filter: drop-shadow(2px 2px 10px var(--color-1));
    /* Adjusted blur radius */
  }
}

@keyframes textStrokeThickAnim {
  0% {
    stroke-width: 10px;
    fill: var(--color-1);
    filter: drop-shadow(2px 2px 10px var(--color-1));
    /* Adjusted blur radius */
  }
  40% {
    stroke-width: 60px;
    filter: drop-shadow(2px 2px 20px var(--color-1));
    /* Adjusted blur radius */
  }
  100% {
    stroke-width: 10px;
    filter: drop-shadow(2px 2px 10px var(--color-1));
    /* Adjusted blur radius */
  }
}
/* New animation for stroke blur effect */
@-webkit-keyframes strokeBlurEffect {
  0%, 30% {
    filter: blur(0px);
  }
  40% {
    filter: blur(10px);
    /* No blur at this stage */
  }
  50%, 100% {
    filter: blur(0px);
  }
}
@keyframes strokeBlurEffect {
  0%, 30% {
    filter: blur(0px);
  }
  40% {
    filter: blur(10px);
    /* No blur at this stage */
  }
  50%, 100% {
    filter: blur(0px);
  }
}
@media (min-width: 768px) and (max-width: 1200px) {
  .container-title-mobile {
    display: none;
  }
  .container-title-desktop svg {
    transform: scale(1.7);
    height: 100vh;
    width: 100vw;
    letter-spacing: -5px;
    opacity: 1;
    padding: 5px;
  }
}
/* Desktop layout */
@media (min-width: 768px) {
  .container-title-mobile {
    display: none;
  }
  .container-title-desktop {
    transform: scale(140%);
    height: 100vh;
    width: 100vw;
    letter-spacing: -5px;
    opacity: 1;
    padding: 5px;
  }
}
/* Mobile layout */
@media (max-width: 767px) {
  .container-title-desktop {
    opacity: 0;
  }

  .container-title-mobile {
    height: 100dvh;
    width: 100vw;
    opacity: 1;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    letter-spacing: -5px;
  }

  /* 顶部标题样式（"Is Nursing"） */
  .title-top {
    flex-shrink: 0;
    margin-top: 20px;
    /* 如有需要可微调间距 */
    text-align: center;
    transform: scale(1.7);
  }

  /* 底部标题样式（"Still a Way Out?"） */
  .title-bottom {
    flex-shrink: 0;
    margin-bottom: 0.5em;
    /* 如有需要可微调间距 */
    text-align: center;
    transform: scale(1.7);
  }
}

//# sourceMappingURL=style.css.map