html,
body,
#main {
  background: #010c1d -webkit-gradient(linear, left top, right top, from(#021229), color-stop(#010c1d), to(#021229));
  background: #010c1d linear-gradient(90deg, #021229, #010c1d, #021229);
  color: #fff;
  overflow-x: hidden;
  min-width: auto !important;
}

:root {
  --outline-color: #056a68;
  --outline-width: .08em;
}

#header {
  background: #07264a;
  /* box-shadow:inset 0 -.05em .025em rgba(#fff,.2), 0 .1em .2em rgba(#000,.5);*/
}

#footer {
  background: transparent;
}

#header .nav {
  max-width: 16.66667em;
}

*:focus-visible {
  outline: auto;
  outline-offset: 0.1em;
}

[data-device=mobile] .only-pc,
[data-device=pc] .only-mobile {
  display: none;
}

[data-login=true] .only-logout,
:root:not([data-login=true]) .only-login {
  display: none;
}

.bg-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 16em);
  z-index: -5;
  width: 32em;
  margin: 0 auto;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background: #010c1d -webkit-gradient(linear, left top, right top, from(#021229), color-stop(#010c1d), to(#021229));
  background: #010c1d linear-gradient(90deg, #021229, #010c1d, #021229);
}
.bg-area img {
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

/*
@media (min-width: 1000px) {
    .bg-area::after, .bg-area::before{
        content:"";
        position: absolute;
        top:12.5em; left:0; bottom:0; right:0;
        //  z-index:-1;
        background: url("/img/Event/202604-FamilyCamp/bg-side.png?v=20260204") 0% 0%/7.5em auto repeat-y;
        background-image: image-set(
            url("/img/Event/202604-FamilyCamp/bg-side.avif?v=20260204") type("image/avif"),
            url("/img/Event/202604-FamilyCamp/bg-side.png?v=20260204") type("image/png"),
        );
        opacity: .3;
    }
    .bg-area::before{
        top: 12em;
        background-position: 0% 0%;
        transform: scale(-1,1);
    }
}
*/
#article .banner {
  position: relative;
  display: block;
}
#article .banner .banner-front {
  display: block;
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  z-index: 5;
}
#article .banner .banner-text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 2;
  -o-object-fit: contain;
     object-fit: contain;
}
#article .banner .banner-back {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 1;
  -o-object-fit: contain;
     object-fit: contain;
}
#article .banner .aniScale {
  -webkit-animation: aniScale 3s infinite ease-in-out alternate;
          animation: aniScale 3s infinite ease-in-out alternate;
}
@-webkit-keyframes aniScale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@keyframes aniScale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
@-webkit-keyframes bannerMoveUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
}
@keyframes bannerMoveUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
}

#main .btn {
  font: inherit;
  font-size: 1em;
  font-family: "Noto Serif TC", "Noto Sans TC", Arial, Helvetica, sans-serif;
  font-weight: 900;
  line-height: 1.2;
  display: inline-block;
  vertical-align: bottom;
  text-align: center;
  text-decoration: none;
  color: #fff;
  text-shadow: 0 0.05em 0.1em rgba(40, 20, 10, 0.5), 0 0.05em 0.25em rgb(40, 20, 10);
  padding: 0em 0;
  margin: 0.25em 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 65%;
  border: none;
  border-radius: 0;
  -webkit-transition: -webkit-filter 0.1s;
  transition: -webkit-filter 0.1s;
  transition: filter 0.1s;
  transition: filter 0.1s, -webkit-filter 0.1s;
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}
#main .btn.btn-login {
  background-image: url("/img/Event/202604-FamilyCamp/btnS01Hover.png?v=20260204");
}
#main .btn.btn-logout {
  background-image: url("/img/Event/202604-FamilyCamp/btnS03Hover.png?v=20260204");
}
#main .btn.btn-teach {
  background-image: url("/img/Event/202604-FamilyCamp/btnS02Hover.png?v=20260204");
}
#main .btn img {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) or (-webkit-background-clip: text) {
  #main .btn > * {
    color: transparent;
    text-shadow: none;
    background-clip: text;
    -webkit-background-clip: text;
  }
}
#main .btn.active img, #main .btn:active img, #main .btn:hover img {
  opacity: 0;
}

.btn-link {
  font: inherit;
  color: inherit;
  line-height: inherit;
  border: none;
  background: none;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  cursor: pointer;
}

.btn-pointer::after {
  content: "";
  position: absolute;
  z-index: 5;
  left: calc(100% - 1.5em);
  top: 70%;
  width: 1.75em;
  height: 1.75em;
  background: url("/img/Event/202604-FamilyCamp/pointer.png?v=20260204") center/contain no-repeat;
  -webkit-filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
          filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
  -webkit-animation: btnPointer 1.2s infinite ease-in-out;
          animation: btnPointer 1.2s infinite ease-in-out;
  pointer-events: none;
}

@-webkit-keyframes btnPointer {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
    -webkit-filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
  }
  50% {
    -webkit-transform: rotate(10deg) scale(1.1) translate(0.25em, 0.1em);
            transform: rotate(10deg) scale(1.1) translate(0.25em, 0.1em);
    -webkit-filter: drop-shadow(0.1em 0.3em 0.1em rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0.1em 0.3em 0.1em rgba(0, 0, 0, 0.25));
  }
}

@keyframes btnPointer {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
    -webkit-filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0.1em 0.2em 0.05em rgba(0, 0, 0, 0.25));
  }
  50% {
    -webkit-transform: rotate(10deg) scale(1.1) translate(0.25em, 0.1em);
            transform: rotate(10deg) scale(1.1) translate(0.25em, 0.1em);
    -webkit-filter: drop-shadow(0.1em 0.3em 0.1em rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0.1em 0.3em 0.1em rgba(0, 0, 0, 0.25));
  }
}
/*===================*/
/* MAIN PAGE CONTENT */
.sr-only {
  position: fixed;
  top: -9in;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.section {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

/*==============*/
/* PAGE CONTENT */
#main {
  color: #fff;
  overflow: hidden;
}
#main img {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  height: auto;
  max-width: 100%;
}
#main .content {
  position: relative;
  width: 96%;
  max-width: 960px;
  margin: 0 auto;
}
#main .content p,
#main .content ul,
#main .content ol {
  font-size: 0.45em;
  font-size: clamp(13.5px, 0.42em, 36px);
  margin: 0.25em 1em;
}
#main .content ul,
#main .content ol {
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}
#main .content strong {
  font-weight: 700;
}
#main .content b {
  display: inline-block;
  font-weight: inherit;
}
#main .content a {
  text-underline-offset: 0.18em;
}
#main .content hr {
  font-size: 0.5em;
  font-size: clamp(14px, 0.5em, 30px);
  border: none;
  border-top: 1px solid #888;
  margin: 0.25em 0;
}
#main .head-title {
  display: block;
  position: relative;
  width: 20em;
  top: 0;
  left: calc(50% - 10em);
  padding: 1.8em 0 0;
}
#main .border,
#main .border2 {
  position: relative;
  display: block;
  z-index: 0;
  font-weight: 400;
  margin: 0.75em auto 0.75em;
  padding: 0.25em 0.35em;
  border-radius: 0.65em;
  --outline-width: .12em;
  scroll-margin: 1em;
}
#main .border::before,
#main .border2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  -o-border-image: url("/img/Event/202604-FamilyCamp/border.png?v=20260204") 99 6 6 6 fill/1.5em 0.1em 0.1em 0.1em/0.1em;
     border-image: url("/img/Event/202604-FamilyCamp/border.png?v=20260204") 99 6 6 6 fill/1.5em 0.1em 0.1em 0.1em/0.1em;
  border-image-source: image-set(url("/img/Event/202604-FamilyCamp/border.png?v=20260204") type("image/png"));
  pointer-events: none;
}
#main .border2 {
  margin-top: 0;
}
#main .border2::before {
  -o-border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 6 fill/0.1em/0.1em;
     border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 6 fill/0.1em/0.1em;
  border-image-source: image-set(url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") type("image/png"));
}
#main .border2 .title {
  margin: 0 auto;
}
#main .border2 .title img {
  max-height: 2em;
}
#main .prize-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#main .prize-group > * {
  margin: 0.5em 0;
}
#main .prize-group img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin: -0.2em -0.25em;
}
#main .img-box {
  display: block;
  position: relative;
  margin: 0.25em auto 0.5em;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 96%;
  background: #eeb759;
  border-radius: 0.25em;
  -webkit-box-shadow: 0 0.1em 0.15em rgba(0, 0, 0, 0.25);
          box-shadow: 0 0.1em 0.15em rgba(0, 0, 0, 0.25);
}
#main .img-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  -o-border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 30 fill/0.5em/0.2em;
     border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 30 fill/0.5em/0.2em;
  pointer-events: none;
}
#main .img-box > * {
  display: block;
  overflow: hidden;
  border-radius: 0.25em;
}
#main .img-box img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  will-change: transform;
}
#main .img-box .badge-img {
  position: absolute;
  top: -0.3em;
  left: 0.5em;
  z-index: 2;
  height: 1.1em;
}
#main .img-box .content-img {
  vertical-align: middle;
  font-size: 0.92em;
  width: 16em;
  height: 9em;
}
#main .img-box a:hover img {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
#main .prize-img {
  position: relative;
  margin: 0 auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -ms-flex-negative: 1;
      flex-shrink: 1;
}
#main .prize-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.5em;
  margin: 0.5em auto;
}
#main .prize-grid .prize-img {
  width: 3.6em;
  width: clamp(76px, 3.6em, 180px);
  margin: 0;
}
#main .box {
  position: relative;
  border-radius: 2em;
  -o-border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 119 fill/2em/0.35em 0;
     border-image: url("/img/Event/202604-FamilyCamp/border2.png?v=20260204") 119 fill/2em/0.35em 0;
  margin: 0.5em 0 0.5em;
  min-height: 3em;
}
#main .box2 {
  display: block;
  position: relative;
  padding: 0.25em 0.25em;
  margin: 0.5em 0;
  border-radius: 2em;
  border: 0.1em solid #ffd69f;
  background: rgba(85, 24, 0, 0.4);
}
#main .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1em;
  font-size: clamp(20px, 1em, 60px);
  font-weight: 700;
  line-height: 1.2;
  border-radius: 1em;
  --outline-width: .08em;
  text-align: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: -0.7em auto 0em 0;
  padding: 0;
  position: relative;
  z-index: 1;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#main .title img {
  display: inline-block;
  max-height: 2em;
  margin: 0;
}
#main .title2 {
  font-size: 0.8em;
  font-weight: 550;
  line-height: 1.25;
  padding: 0.25em 1em;
  margin: 0 auto 0.6667em;
  color: #fff5bc;
  -o-border-image: url("/img/Event/202604-FamilyCamp/title-bg.png?v=20260204") 0 120 fill/0 2.5em/0.25em 0 0.5em;
     border-image: url("/img/Event/202604-FamilyCamp/title-bg.png?v=20260204") 0 120 fill/0 2.5em/0.25em 0 0.5em;
  --outline-color: #5c01a3;
}
#main .title2 b {
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0.05em;
  font-size: 1.25em;
  line-height: 1;
}
#main .title2 > * {
  -webkit-filter: drop-shadow(0 0.05em 0.05em rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0 0.05em 0.05em rgba(0, 0, 0, 0.5));
}
#main .anim-float {
  -webkit-animation: animFloat 4s infinite ease-in-out;
          animation: animFloat 4s infinite ease-in-out;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
}
@-webkit-keyframes animFloat {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50% {
    -webkit-transform: translate(0, -0.15em) scale(1.01);
            transform: translate(0, -0.15em) scale(1.01);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes animFloat {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  50% {
    -webkit-transform: translate(0, -0.15em) scale(1.01);
            transform: translate(0, -0.15em) scale(1.01);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
#main .anim-shine::before, #main .anim-shine::after {
  content: "";
  position: absolute;
  z-index: -1;
  height: 150%;
  width: 170%;
  top: -25%;
  left: -35%;
  background: url("/img/Event/202604-FamilyCamp/shine.png?v=20260204") center/contain no-repeat;
  background-image: -webkit-image-set(url("/img/Event/202604-FamilyCamp/shine.avif?v=20260204") type("image/avif"), url("/img/Event/202604-FamilyCamp/shine.png?v=20260204") type("image/png"));
  background-image: image-set(url("/img/Event/202604-FamilyCamp/shine.avif?v=20260204") type("image/avif"), url("/img/Event/202604-FamilyCamp/shine.png?v=20260204") type("image/png"));
  mix-blend-mode: lighten;
  pointer-events: none;
}
#main .anim-shine::before {
  -webkit-animation: animShine 5s infinite linear;
          animation: animShine 5s infinite linear;
}
#main .anim-shine::after {
  opacity: 0;
  -webkit-animation: animShine 5s 2.5s infinite linear;
          animation: animShine 5s 2.5s infinite linear;
}
@-webkit-keyframes animShine {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
}
@keyframes animShine {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
}
@-webkit-keyframes animShine2 {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-195deg);
            transform: rotate(-195deg);
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(-165deg);
            transform: rotate(-165deg);
  }
}
@keyframes animShine2 {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-195deg);
            transform: rotate(-195deg);
  }
  25% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate(-165deg);
            transform: rotate(-165deg);
  }
}
#main .font-serif {
  font-family: "Noto Serif TC", serif;
}
#main .font-display {
  font-family: "MStif", "Heiti TC", "Microsoft JhengHei", Verdana, display;
}
#main .text-hilight {
  color: #efcf9d;
}
#main .text-yellow {
  color: #fffe3f;
}
#main .text-red {
  color: #ff7373;
}
#main .text-green {
  color: #3fd432;
}
#main .text-blue {
  color: #6ecdff;
}
#main .text-gray {
  color: #515151;
}
#main .text-big {
  font-size: larger;
}
#main .text-small {
  font-size: smaller;
}
#main .text-center {
  text-align: center;
}
#main .text-outline {
  letter-spacing: normal;
  text-shadow: calc(0.7 * var(--outline-width)) calc(0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(0.7 * var(--outline-width)) calc(-0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(-0.7 * var(--outline-width)) calc(0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(-0.7 * var(--outline-width)) calc(-0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(1 * var(--outline-width)) 0 calc(0.25 * var(--outline-width)) var(--outline-color), calc(-1 * var(--outline-width)) 0 calc(0.25 * var(--outline-width)) var(--outline-color), 0 calc(1 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), 0 calc(-1 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(0.9 * var(--outline-width)) calc(0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.9 * var(--outline-width)) calc(-0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.9 * var(--outline-width)) calc(0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.9 * var(--outline-width)) calc(-0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.4 * var(--outline-width)) calc(0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.4 * var(--outline-width)) calc(-0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.4 * var(--outline-width)) calc(0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.4 * var(--outline-width)) calc(-0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color);
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) or (-webkit-background-clip: text) {
  #main [text-stroke] {
    color: transparent;
    text-shadow: none;
    display: inline-block;
    position: relative;
    background: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000));
    background: linear-gradient(#000, #000);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-stroke: 0.05em transparent;
    -webkit-filter: drop-shadow(0 0.05em 0.05em #000);
            filter: drop-shadow(0 0.05em 0.05em #000);
  }
  #main [text-stroke]::before {
    content: attr(text-stroke);
    position: absolute;
    z-index: 1;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #ffeeb7), color-stop(60%, #ffc300), color-stop(90%, #fe9600));
    background: linear-gradient(#ffeeb7 10%, #ffc300 60%, #fe9600 90%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-stroke: 0em transparent;
    pointer-events: none;
  }
  #main [text-stroke].text-blue::before {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(10%, #fff), color-stop(60%, #4dffb6), color-stop(90%, #b64dff));
    background-image: linear-gradient(#fff 10%, #4dffb6 60%, #b64dff 90%);
  }
}
#main #content-area {
  position: relative;
  width: 16.66667em;
  left: calc(50% - 8.33333em);
}
#main #main #Modal-custom P {
  font-size: clamp(13.5px, 0.6em, 36px);
}
#main .side-container {
  position: fixed;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  top: 2.25em;
  z-index: 5;
  pointer-events: none;
  width: 100%;
  max-width: 24em;
  opacity: 1;
}
#main .side-container > * {
  pointer-events: all;
}
#main .side-btn {
  display: block;
  margin-left: auto;
  margin-right: 0.25em;
  width: 3.15em;
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (max-width: 1280px) {
  #main .side-btn {
    opacity: 0;
    pointer-events: none;
  }
}
#main .input-group {
  font-size: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0.25em auto;
  gap: 0.25em;
  width: 100%;
}
#main .text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  padding: 0em 0.25em;
  margin: 0;
  word-wrap: break-word;
  min-width: 4.7em;
  background: -webkit-gradient(linear, left top, left bottom, from(#69330f), to(rgba(134, 69, 22, 0.75)));
  background: linear-gradient(#69330f, rgba(134, 69, 22, 0.75));
  border-radius: 1em;
  -webkit-box-shadow: inset 0.05em 0.05em 0.15em rgba(0, 0, 0, 0.25), 0.025em 0.025em 0.05em rgba(255, 255, 255, 0.15);
          box-shadow: inset 0.05em 0.05em 0.15em rgba(0, 0, 0, 0.25), 0.025em 0.025em 0.05em rgba(255, 255, 255, 0.15);
  text-shadow: 0 0.025em 0.05em #000;
}
#main .input {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  width: 100%;
  font: inherit;
  color: #333;
  background: #fff;
  border: none;
  border-radius: 0.5em;
  -webkit-box-shadow: inset 0 0 0.1em 0.05em rgba(0, 0, 0, 0.15), inset 0.075em 0.05em 0.1em 0.05em rgba(0, 0, 0, 0.15);
          box-shadow: inset 0 0 0.1em 0.05em rgba(0, 0, 0, 0.15), inset 0.075em 0.05em 0.1em 0.05em rgba(0, 0, 0, 0.15);
  padding: 0.2em 0.5em;
}
#main .input::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
}
#main .input::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}
#main .input:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}
#main .input::-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}
#main .input::placeholder {
  color: inherit;
  opacity: 0.5;
}
#main .btn-submit {
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  font: inherit;
  color: #fff;
  text-shadow: 0 0.05em 0.1em rgba(0, 0, 0, 0.25);
  background: -webkit-gradient(linear, left top, left bottom, from(#4ae28e), to(#219954));
  background: linear-gradient(#4ae28e, #219954);
  padding: 0.2em 1em;
  border: 0.05em solid #080;
  border-radius: 0.5em;
  -webkit-box-shadow: 0.025em 0.05em 0.1em rgba(0, 0, 0, 0.25);
          box-shadow: 0.025em 0.05em 0.1em rgba(0, 0, 0, 0.25);
  -webkit-transition: background 0.1s;
  transition: background 0.1s;
  cursor: pointer;
}
#main .btn-submit:active, #main .btn-submit:hover {
  background: -webkit-gradient(linear, left top, left bottom, from(#219954), to(#4ae28e));
  background: linear-gradient(#219954, #4ae28e);
}
#main .envelope-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0em;
  justify-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 15em;
  margin: 0.5em auto 0.25em;
  -webkit-animation: envGlow 1s infinite alternate ease-in-out;
          animation: envGlow 1s infinite alternate ease-in-out;
}
#main .envelope-grid.closed {
  -webkit-animation: none;
          animation: none;
  -webkit-filter: drop-shadow(0 0.1em 0.2em rgba(50, 0, 0, 0.7));
          filter: drop-shadow(0 0.1em 0.2em rgba(50, 0, 0, 0.7));
}
#main .envelope-grid.closed .envelope {
  pointer-events: none;
  -webkit-filter: sepia(0.75) saturate(1) brightness(0.75);
          filter: sepia(0.75) saturate(1) brightness(0.75);
}
#main .envelope {
  font-size: inherit;
  position: relative;
  z-index: 0;
  width: 5em;
  height: 6em;
  border: none;
  background: none;
  -webkit-perspective: 12em;
          perspective: 12em;
  cursor: pointer;
  -webkit-filter: drop-shadow(0 0 0.1em rgba(255, 255, 255, 0.25)) brightness(1) saturate(1);
          filter: drop-shadow(0 0 0.1em rgba(255, 255, 255, 0.25)) brightness(1) saturate(1);
}
#main .envelope::before, #main .envelope::after {
  content: "";
  position: absolute;
  top: -2em;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
}
#main .envelope::before {
  background: url("/img/Event/202604-FamilyCamp/env-open.png?v=20260204") top/100% 100% no-repeat;
  opacity: 0;
}
#main .envelope::after {
  background: url("/img/Event/202604-FamilyCamp/env-close.png?v=20260204") top/100% 100% no-repeat;
  opacity: 1;
}
#main .envelope .envelope-prize {
  pointer-events: none;
  position: relative;
  z-index: 0;
  opacity: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#main .envelope .anim-shine {
  opacity: 0;
  z-index: -1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
#main .envelope.open {
  cursor: default;
  z-index: 1;
  -webkit-animation: none;
          animation: none;
}
#main .envelope.open::before {
  opacity: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
#main .envelope.open::after {
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
#main .envelope.open .envelope-prize {
  pointer-events: all;
  -webkit-transition: opacity 1s 0.25s;
  transition: opacity 1s 0.25s;
  opacity: 1;
}
#main .envelope.open .envelope-prize > img {
  position: relative;
  z-index: 1;
}
#main .envelope.open .anim-shine {
  opacity: 1;
  -webkit-transition: opacity 1s 0.5s;
  transition: opacity 1s 0.5s;
}
#main .envelope.reveal {
  cursor: default;
  -webkit-transition: -webkit-filter 2s;
  transition: -webkit-filter 2s;
  transition: filter 2s;
  transition: filter 2s, -webkit-filter 2s;
  -webkit-filter: drop-shadow(0 0.1em 0.1em rgba(136, 0, 0, 0.25)) brightness(0.8) saturate(0.5);
          filter: drop-shadow(0 0.1em 0.1em rgba(136, 0, 0, 0.25)) brightness(0.8) saturate(0.5);
}
#main .envelope.reveal::before, #main .envelope.reveal::after {
  -webkit-transition: opacity 2s 1s, -webkit-filter 1s;
  transition: opacity 2s 1s, -webkit-filter 1s;
  transition: filter 1s, opacity 2s 1s;
  transition: filter 1s, opacity 2s 1s, -webkit-filter 1s;
  opacity: 0.25;
}
#main .envelope.reveal .envelope-prize {
  opacity: 1;
}
@-webkit-keyframes envGlow {
  0% {
    -webkit-filter: drop-shadow(0 0 0.1em rgba(255, 255, 170, 0.5));
            filter: drop-shadow(0 0 0.1em rgba(255, 255, 170, 0.5));
  }
  100% {
    -webkit-filter: drop-shadow(0 0 0.2em #ffffaa);
            filter: drop-shadow(0 0 0.2em #ffffaa);
  }
}
@keyframes envGlow {
  0% {
    -webkit-filter: drop-shadow(0 0 0.1em rgba(255, 255, 170, 0.5));
            filter: drop-shadow(0 0 0.1em rgba(255, 255, 170, 0.5));
  }
  100% {
    -webkit-filter: drop-shadow(0 0 0.2em #ffffaa);
            filter: drop-shadow(0 0 0.2em #ffffaa);
  }
}
#main #rules li {
  text-align: justify;
}
#main #rules li + li {
  margin-top: 0.5em;
}
#main #socials {
  -webkit-filter: drop-shadow(0 0.05em 0.15em rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0 0.05em 0.15em rgba(0, 0, 0, 0.5));
}
#main #Modal-task .progress,
#main #Modal-history .progress {
  position: relative;
  font-size: 0.5em;
  display: block;
  border-radius: 1em;
  padding: 0 0.5em;
  margin: 0.5em 0;
  --outline-color: #440d67;
  border-radius: 1em;
  line-height: 1.2;
  -webkit-box-shadow: inset 0 -0.1em 0.2em rgba(0, 0, 0, 0.5), 0 0.1em 0.2em rgba(0, 0, 0, 0.5);
          box-shadow: inset 0 -0.1em 0.2em rgba(0, 0, 0, 0.5), 0 0.1em 0.2em rgba(0, 0, 0, 0.5);
  background: repeating-linear-gradient(-45deg, transparent 0 0.25em, rgba(255, 204, 255, 0.25) 0.25em 0.5em) border-box, -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.75)), color-stop(30%, transparent)) padding-box, -webkit-gradient(linear, left top, left bottom, from(#fc78e4), color-stop(#f805e2), to(#7214b4)) border-box;
  background: repeating-linear-gradient(-45deg, transparent 0 0.25em, rgba(255, 204, 255, 0.25) 0.25em 0.5em) border-box, linear-gradient(rgba(255, 255, 255, 0.75), transparent 30%) padding-box, linear-gradient(#fc78e4, #f805e2, #7214b4) border-box;
}
#main #Modal-task .input-group,
#main #Modal-history .input-group {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.25em auto;
  padding: 0 0.35em 0.25em;
  width: 96%;
}
#main #Modal-task .input-group p,
#main #Modal-history .input-group p {
  line-height: 1.25;
  width: 70%;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin: 0;
  text-align: left;
}
#main #Modal-task .input-group small,
#main #Modal-history .input-group small {
  display: block;
  font-size: 0.6667em;
}
#main #Modal-task .input-group .btn-yellow,
#main #Modal-task .input-group .btn-pink,
#main #Modal-task .input-group .btn-purple,
#main #Modal-history .input-group .btn-yellow,
#main #Modal-history .input-group .btn-pink,
#main #Modal-history .input-group .btn-purple {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 0%;
          flex: 0 0 0%;
  min-width: 4em;
}
#main #Modal-teach .imgLink {
  max-width: 14.81667em;
  display: block;
  margin: 0.25em auto;
  position: relative;
}
#main #Modal-teach .imgLink::before {
  content: "";
  width: 1.35em;
  height: 1.35em;
  background: url("/img/Event/common/hand.png") center/contain no-repeat;
  pointer-events: none;
  position: absolute;
  bottom: 0em;
  right: 1em;
  z-index: 2;
}
#main #Modal-teach .imgLink .imgContent {
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#main #Modal-teach .imgLink:hover::before {
  -webkit-transform: rotate(-15deg) translateY(0.1em);
          transform: rotate(-15deg) translateY(0.1em);
}
#main #Modal-teach .imgLink:hover .imgContent {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-filter: brightness(1.03);
          filter: brightness(1.03);
}
#main {
  /*==============*/
  /* MODAL STYLES */
}
#main .modal.old {
  font: 400 60px/1.5 "Noto Sans TC", Arial, Helvetica, sans-serif !important;
  font-size: clamp(16px, 6vw, 60px) !important;
  display: none;
}
#main .modal.old.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#main .modal.old {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#main .modal.old .mask {
  position: fixed;
  top: -50vh;
  left: -50vw;
  bottom: -50vh;
  right: -50vw;
  background: rgba(0, 0, 0, 0.75);
  -webkit-animation: fade 0.4s ease-out;
          animation: fade 0.4s ease-out;
}
@supports (backdrop-filter: blur(0.1rem)) {
  #main .modal.old .mask {
    backdrop-filter: blur(0.15rem);
    background: rgba(8, 8, 8, 0.8);
    -webkit-transition: backdrop-filter 0.5s ease-out;
    transition: backdrop-filter 0.5s ease-out;
  }
}
#main .modal.old .btn-close {
  font: inherit;
  font-size: 1em;
  font-weight: 400;
  display: block;
  position: absolute;
  z-index: 2;
  right: -0.25em;
  top: -0.75em;
  width: 2em;
  height: 2em;
  max-width: none;
  max-height: none;
  background: url("/img/Event/202604-FamilyCamp/btn-close.png?v=20260204") center/contain no-repeat;
  -webkit-filter: brightness(1) drop-shadow(0 0.1em 0.05em rgba(24, 8, 24, 0.5));
          filter: brightness(1) drop-shadow(0 0.1em 0.05em rgba(24, 8, 24, 0.5));
  -webkit-transition: -webkit-filter 0.2s, -webkit-transform 0.2s ease-in-out;
  transition: -webkit-filter 0.2s, -webkit-transform 0.2s ease-in-out;
  transition: filter 0.2s, transform 0.2s ease-in-out;
  transition: filter 0.2s, transform 0.2s ease-in-out, -webkit-filter 0.2s, -webkit-transform 0.2s ease-in-out;
  overflow: hidden;
  outline: none;
  cursor: pointer;
}
#main .modal.old .btn-close::before, #main .modal.old .btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10%;
  height: 75%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  background: currentColor;
  border-radius: 0.05em;
}
#main .modal.old .btn-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
#main .modal.old .btn-close:hover, #main .modal.old .btn-close:focus, #main .modal.old .btn-close:active {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-filter: brightness(1.1) drop-shadow(0 0.15em 0.1em rgba(24, 8, 24, 0.65));
          filter: brightness(1.1) drop-shadow(0 0.15em 0.1em rgba(24, 8, 24, 0.65));
}
#main .modal.old .border p,
#main .modal.old .border ul,
#main .modal.old .border ol {
  font-size: 0.6667em;
  font-size: clamp(14px, 0.6667em, 40px);
}
#main .modal-overflow {
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  max-height: 100vh;
  scrollbar-width: none;
}
#main .modal-overflow::-webkit-scrollbar {
  width: 0px;
}
#main .modal-window {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  width: 97.5%;
  max-width: 14em;
  margin: 1.5em auto 1.25em;
  padding: 0.5em 0;
  line-height: 1.4;
  -webkit-animation: pop 0.3s;
          animation: pop 0.3s;
  min-height: 360px;
}
#main .modal-window #message,
#main .modal-window .message {
  width: 90%;
  margin: 0 auto;
  font-size: clamp(13.5px, 1.42em, 36px);
  text-shadow: calc(0.7 * var(--outline-width)) calc(0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(0.7 * var(--outline-width)) calc(-0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(-0.7 * var(--outline-width)) calc(0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(-0.7 * var(--outline-width)) calc(-0.7 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(1 * var(--outline-width)) 0 calc(0.25 * var(--outline-width)) var(--outline-color), calc(-1 * var(--outline-width)) 0 calc(0.25 * var(--outline-width)) var(--outline-color), 0 calc(1 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), 0 calc(-1 * var(--outline-width)) calc(0.25 * var(--outline-width)) var(--outline-color), calc(0.9 * var(--outline-width)) calc(0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.9 * var(--outline-width)) calc(-0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.9 * var(--outline-width)) calc(0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.9 * var(--outline-width)) calc(-0.4 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.4 * var(--outline-width)) calc(0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(0.4 * var(--outline-width)) calc(-0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.4 * var(--outline-width)) calc(0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color), calc(-0.4 * var(--outline-width)) calc(-0.9 * var(--outline-width)) calc(0.3 * var(--outline-width)) var(--outline-color);
}
#main .modal-window #message p,
#main .modal-window .message p {
  font-size: clamp(13.5px, 1.42em, 36px);
}
#main .modal-window #message h3,
#main .modal-window .message h3 {
  margin-bottom: 0.5em;
  margin-top: 0.2em;
}
#main .modal-window #message .line,
#main .modal-window .message .line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-shadow: none;
  width: 62%;
  margin: 0 auto;
  font-size: 0.8em;
}
#main .modal-window #message .tips,
#main .modal-window .message .tips {
  color: #eae269;
  text-shadow: none;
  font-size: 0.65em;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
#main .modal-window #message .tips a,
#main .modal-window .message .tips a {
  border-bottom: 2px solid;
}
#main {
  /* ==================== */
  /* JS ANIMATION CLASSES */
}
#main .fade-up,
#main .fade-left,
#main .fade-right,
#main .fade-down,
#main .fade-in {
  opacity: 0;
  -webkit-transition: opacity 1.6s, -webkit-transform 1s;
  transition: opacity 1.6s, -webkit-transform 1s;
  transition: opacity 1.6s, transform 1s;
  transition: opacity 1.6s, transform 1s, -webkit-transform 1s;
}
#main .fade-up.faded,
#main .fade-left.faded,
#main .fade-right.faded,
#main .fade-down.faded,
#main .fade-in.faded {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}
#main .fade-up {
  -webkit-transform: translate(0, 1em);
          transform: translate(0, 1em);
}
#main .fade-down {
  -webkit-transform: translate(0, -1em);
          transform: translate(0, -1em);
}
#main .fade-left {
  -webkit-transform: translate(1em, 0);
          transform: translate(1em, 0);
}
#main .fade-right {
  -webkit-transform: translate(-1em, 0);
          transform: translate(-1em, 0);
}
#main .bg-area.fade-up,
#main .bg-area .fade-up {
  -webkit-transform: none;
          transform: none;
}

/*=====================*/
/* KEYFRAMES AND MEDIA */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes glow {
  0% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
}
@keyframes glow {
  0% {
    visibility: hidden;
  }
  50% {
    visibility: visible;
  }
}
@-webkit-keyframes pop {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes pop {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(8px);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
    backdrop-filter: blur(0);
  }
  to {
    opacity: 1;
    backdrop-filter: blur(8px);
  }
}
@-webkit-keyframes blink {
  0% {
    background-position: top;
  }
  50% {
    background-position: bottom;
  }
}
@keyframes blink {
  0% {
    background-position: top;
  }
  50% {
    background-position: bottom;
  }
}
@media (max-width: 1000px) {
  #main .head-title {
    width: 16em;
    left: calc(50% - 8em);
  }
  #main .modal-window {
    min-height: 40vw;
  }
  #main .modal-window .message {
    font-size: 5vw;
  }
  #main .modal-window .message .line {
    font-size: 0.65em;
  }
  #main .modal-window .message .tips {
    font-size: 0.55em;
  }
}
@media (max-width: 520px) {
  #main .modal-window #message {
    font-size: 6vw;
  }
  #main .modal-window #message .line {
    font-size: 0.7em;
    width: 80%;
  }
  #main .modal-window #message .tips {
    font-size: 0.5em;
  }
}/*# sourceMappingURL=main.css.map */