:root {
  --xs: #b9212c;
  --s: #c3c374;
  --m: #25362b;
  --l: #63171f;
  --xl: #cd559c;
  --xxl: #11a67d;
  --xxxl: #0d58a0;
  --output-border-size: 3px;
  --out-of-bounds: #fff;
  --portrait: #000000;
  --landscape: currentColor;
  --element-border-size: 0px;
}
@layer jacket pants helmet skis boots;
:root {
  --animation: 4.2s 2.3s cubic-bezier(0.42, 0, 0.58, 1);
  --ground-snow-w: 93;
  --snow-white: #fff;
  --title: #fff;
  --helmet-position-x: 50%;
  --helmet-position-y: 0;
  --helmet-width: 17cqi;
  --helmet-aspect-ratio: 17 / 16;
  --helmet-height: 21cqi;
  --goggle-strap-color: 33, 33, 33, 1;
  --goggle-height: 40%;
  --goggle-width: 96%;
  --goggle-color-purple: #833ab4;
  --goggle-color-red: #fd1d1d;
  --goggle-color-orange: #fcb045;
  --skin-color: #fae5bd;
  --goggle-position-x: 2%;
  --goggle-position-y: 32%;
  --jacket-position-x: 50%;
  --jacket-position-y: 14%;
  --jacket-color: 210, 43, 43;
  --jacket-width: 30cqi;
  --jacket-height: 48cqi;
  --mitton-color: radial-gradient(circle, #666666 0%, #000000 100%);
  --zipper-border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
  --zipper-width: 3px;
  --zipper-bg-color: #000;
  --waist-pocket-height: 20%;
  --waist-pocket-position-x: 10%;
  --waist-pocket-position-y: 10%;
  --pants-position-x: 48%;
  --pants-position-y: 46%;
  --pants-color: 238, 238, 238;
  --pants-width: 34%;
  --pants-height: 51%;
  --pants-pocket-position-y: 18%;
  --pants-zipper-height: 30%;
  --kneepad-color: #333;
  --boot-color: #333333;
  --skis-position-x: 8cqi;
  --skis-position-y: 5cqi;
  --skis-width: 8cqi;
  --skis-height: 110cqi;
  --ski-bg: #eee;
  --ski-bg2: #eee;
}
@layer pants {
  .pants {
    position: absolute;
    top: var(--pants-position-y);
    left: var(--pants-position-x);
    width: var(--pants-width);
    height: var(--pants-height);
    transform: translateX(-50%);
    z-index: 40;
  }
  .pants:after {
    content: "";
    position: absolute;
    top: 12cqi;
    left: 6cqi;
    width: 8cqi;
    height: 10cqi;
    background-color: #e7e7e7;
    transform: rotate(4deg);
    border-radius: 0% 0% 0% 0% / 0% 0% 0% 0% ;
    background: linear-gradient(0deg, rgba(33, 33, 33, 0) 0%, rgba(33, 33, 33, 0) 80%, #b4b4b4 80%, #b4b4b4 85%, rgba(33, 33, 33, 0) 86%, rgba(33, 33, 33, 0) 100%);
    border-top: 5px solid #f4f4f4;
    border-right: 5px solid #b4b4b4;
    border-bottom: 5px solid #b4b4b4;
    border-left: 5px solid #ffffff;
    z-index: 48;
  }
  .pants--left--upper {
    position: absolute;
    top: 0;
    right: 1cqi;
    width: 45%;
    height: 38cqi;
    z-index: 42;
    border-radius: 0% 0% 25% 28% / 0% 0% 100% 100%;
    background: #e7e7e7;
    background: linear-gradient(90deg, #cecece 0%, #cecece 20%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    border-right: 1cqi solid #b4b4b4;
    border-left: 3cqi solid #b4b4b4;
  }
  .pants--left--upper:after {
    content: "";
    position: absolute;
    bottom: -3cqi;
    width: calc(100% - 30%);
    height: 30%;
    left: 3cqi;
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    background-color: var(--kneepad-color);
  }
  .pants--left--upper--zipper {
    position: absolute;
    top: var(--pants-pocket-position-y);
    right: 5cqi;
    width: var(--zipper-width);
    height: var(--pants-zipper-height);
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #b4b4b4;
    transform: rotate(-96deg);
    z-index: 42;
  }
  .pants--left--lower--top {
    position: absolute;
    top: 29cqi;
    right: 3.5cqi;
    width: 35%;
    height: 30cqi;
    transform: rotate(2deg);
    background: #e7e7e7;
    background: linear-gradient(90deg, #cecece 0%, #cecece 20%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    z-index: 41;
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    border-right: 1cqi solid #b4b4b4;
    border-left: 3cqi solid #b4b4b4;
  }
  .pants--left--lower--top:after {
    position: absolute;
    bottom: 5%;
    left: -1cqi;
    width: 60%;
    height: 20%;
    background: #b4b4b4;
    transform: rotate(-3deg);
    border-radius: 0% 100% 100% 0% / 30% 30% 70% 70%;
    z-index: 42;
    border-top: 1cqi solid #f4f4f4;
  }
  .pants--left--lower--top:before {
    position: absolute;
    bottom: 0;
    right: -1cqi;
    width: 60%;
    height: 20%;
    background: #b4b4b4;
    transform: rotate(-178deg);
    border-radius: 0% 100% 100% 0% / 30% 30% 70% 70%;
    z-index: 42;
    border-bottom: 1cqi solid #f4f4f4;
  }
  .pants--left--lower--bottom {
    position: absolute;
    bottom: 4cqi;
    right: 3.5cqi;
    width: 40%;
    height: 10cqi;
    background: #e7e7e7;
    background: linear-gradient(90deg, #cecece 0%, #cecece 20%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    z-index: 41;
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    border-right: 1cqi solid #b4b4b4;
    border-left: 3cqi solid #b4b4b4;
  }
  .pants--left--lower--bottom:after {
    position: absolute;
    top: 15%;
    left: -1cqi;
    width: 60%;
    height: 50%;
    background: #b4b4b4;
    transform: rotate(-3deg);
    border-radius: 0% 100% 100% 0% / 30% 30% 70% 70%;
    z-index: 42;
    border-top: 1cqi solid #f4f4f4;
  }
  .pants--left--lower--bottom:before {
    position: absolute;
    top: 15%;
    right: -1cqi;
    width: 60%;
    height: 50%;
    background: #b4b4b4;
    transform: rotate(-178deg);
    border-radius: 0% 100% 100% 0% / 30% 30% 70% 70%;
    z-index: 42;
    border-bottom: 1cqi solid #f4f4f4;
  }
  .pants--right--upper {
    position: absolute;
    top: 0;
    left: 5cqi;
    width: 45%;
    height: 38cqi;
    transform: rotate(3deg);
    background: #e7e7e7;
    background: linear-gradient(90deg, #ffffff 0%, #f4f4f4 20%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    z-index: 42;
    border-radius: 0% 0% 9% 11% / 0% 0% 100% 96%;
    border-right: 1cqi solid #b4b4b4;
    border-left: 3cqi solid #ffffff;
  }
  .pants--right--upper:after {
    content: "";
    position: absolute;
    bottom: -3cqi;
    width: calc(100% - 10px);
    height: 30%;
    left: 0.5cqi;
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    background-color: var(--kneepad-color);
  }
  .pants--right--upper--logo {
    position: absolute;
    width: 34%;
    aspect-ratio: 1;
    top: 20%;
    left: 12%;
    border-radius: 33%;
    corner-shape: notch;
    corner-style: solid;
    z-index: 42;
    background-color: #000;
    transform: rotate(45deg);
  }
  .pants--right--upper--logo:before {
    content: "";
    position: absolute;
    width: 100%;
    aspect-ratio: 1;
    top: -50%;
    right: -50%;
    border-radius: 33%;
    corner-shape: notch;
    corner-style: solid;
    z-index: 42;
    background-color: #000;
  }
  .pants--right--lower--top {
    position: absolute;
    top: 54%;
    left: 4cqi;
    width: 35%;
    height: 44%;
    transform: rotate(3deg);
    background: #e7e7e7;
    background: linear-gradient(90deg, #ffffff 0%, #f4f4f4 30%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    z-index: 41;
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    border-right: 3cqi solid #b4b4b4;
    border-left: 2cqi solid #ffffff;
  }
  .pants--right--lower--bottom {
    position: absolute;
    bottom: 2cqi;
    left: 16%;
    width: 8cqi;
    height: 18%;
    background: #e7e7e7;
    background: linear-gradient(90deg, #f4f4f4 0%, #f4f4f4 20%, #e7e7e7 40%, #e7e7e7 60%, #cecece 80%, #cecece 100%);
    z-index: 41;
    border-radius: 0% 0% 10% 10% / 0% 0% 10% 10%;
    border-right: 5px solid #b4b4b4;
    border-left: 5px solid #ffffff;
  }
  .pants--right--lower--bottom:after {
    content: "";
    position: absolute;
    top: -20%;
    right: -10%;
    width: 0%;
    height: 20%;
    background: #cecece;
    z-index: 41;
    transform: rotate(-55deg);
    border-radius: 10% 10% 50% 10% / 10% 10% 50% 10%;
  }
  .pants .boots--left {
    position: absolute;
    bottom: 3cqi;
    right: 3cqi;
    width: 9cqi;
    height: 6cqi;
    background: var(--boot-color);
    z-index: 41;
    border-radius: 50% 51% 0% 0% / 50% 50% 0% 0%;
  }
  .pants .boots--left:after {
    content: "";
    position: absolute;
    top: 0.5cqi;
    left: -5cqi;
    width: 100%;
    height: 110%;
    background: var(--boot-color);
    z-index: 41;
    transform: rotate(-5deg);
    border-radius: 100% 0% 0% 100% / 50% 0% 0% 50%;
  }
  .pants .boots--left:before {
    content: "";
    position: absolute;
    bottom: -38%;
    left: 1cqi;
    width: 100%;
    height: 2cqi;
    background: var(--boot-color);
    z-index: 41;
    transform: rotate(-3deg);
    border-radius: 10% 10% 19% 55% / 10% 10% 10% 50%;
    border-top: 3px solid #fff;
  }
  .pants .boots--left--buckle {
    position: absolute;
    bottom: 2cqi;
    right: 1cqi;
    width: 4cqi;
    height: 2cqi;
    transform: rotate(-1deg);
    background: #000;
    border: 1px solid #333;
    z-index: 49;
    border-radius: 41% 59% 43% 57% / 30% 30% 70% 70%;
  }
  .pants .boots--right {
    position: absolute;
    bottom: 1%;
    left: 5cqi;
    width: 30%;
    height: 12%;
    background: var(--boot-color);
    z-index: 41;
    border-radius: 50% 50% 0% 0% / 45% 45% 0% 0% ;
    border-top: 3px solid #f4f4f4;
  }
  .pants .boots--right:before {
    content: "";
    position: absolute;
    bottom: 0%;
    left: 20%;
    width: 50%;
    height: 2cqi;
    background: var(--boot-color);
    z-index: 41;
    border-radius: 0% 0% 0% 0% / 0% 0% 0% 0% ;
    border-top: 4px solid #fff;
  }
  .pants .boots--right--buckle {
    position: absolute;
    bottom: 4cqi;
    left: 2.5cqi;
    width: 4cqi;
    height: 2cqi;
    transform: rotate(-1deg);
    background: #000;
    border: 1px solid #333;
    z-index: 49;
    border-radius: 41% 59% 43% 57% / 30% 30% 70% 70%;
  }
}
@layer jacket {
  .jacket {
    position: absolute;
    top: var(--jacket-position-y);
    left: var(--jacket-position-x);
    width: var(--jacket-width);
    height: var(--jacket-height);
    transform: translateX(-50%) rotate(-2deg);
    animation: jacket var(--animation);
    z-index: 50;
    -webkit-box-shadow: 0px 15px 15px -8px #000000;
    box-shadow: 0px 15px 15px -12px #000000;
  }
  .jacket .hh {
    position: absolute;
    width: 14%;
    aspect-ratio: 1;
    top: 16%;
    right: 15%;
    border-radius: 33%;
    corner-shape: notch;
    corner-style: solid;
    z-index: 55;
    background-color: white;
    transform: rotate(45deg);
  }
  .jacket .hh:before {
    content: "";
    position: absolute;
    width: 100%;
    aspect-ratio: 1;
    top: -50%;
    right: -50%;
    border-radius: 33%;
    corner-shape: notch;
    corner-style: solid;
    z-index: 55;
    background-color: white;
  }
  .jacket .zipper {
    content: "";
    position: absolute;
    bottom: 1px;
    top: 0;
    left: 48%;
    transform: translateX(-48%);
    width: var(--zipper-width);
    height: 100%;
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #9a2a2a;
    border-top: 0;
    border-bottom: 0;
    border-radius: --zipper-border-radius;
    z-index: 60;
  }
  .jacket .hood--left {
    position: absolute;
    top: 0;
    right: 5cqi;
    width: 5cqi;
    height: 3cqi;
    border-top: 1cqi solid #a73700;
    border-right: 1cqi solid #a73700;
    border-bottom: 2cqi solid #a73700;
    background-color: #aaa;
    border-radius: 0% 100% 100% 0% / 50% 75% 25% 50% ;
    z-index: 54;
    transform-style: preserve-3d;
  }
  .jacket .hood--right {
    position: absolute;
    top: 0;
    left: 5cqi;
    width: 5cqi;
    height: 3cqi;
    border-top: 1cqi solid #da4900;
    border-bottom: 2cqi solid #da4900;
    border-left: 1cqi solid #da4900;
    background-color: #ccc;
    border-radius: 100% 0% 0% 100% / 75% 50% 50% 25% ;
    z-index: 54;
  }
  .jacket .hood--front {
    position: absolute;
    top: -3%;
    left: 50%;
    transform: translateX(-50%);
    width: 40%;
    height: 12%;
    background-color: #333;
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
    z-index: 58;
    transform-style: preserve-3d;
  }
  .jacket .hood--front:before {
    content: "";
    position: absolute;
    bottom: -46%;
    left: -35%;
    width: 90%;
    height: 100%;
    background-color: #da4900;
    border-radius: 10% 0% 0% 70% / 10% 0% 0% 69%;
    z-index: 54;
  }
  .jacket .hood--front:after {
    content: "";
    position: absolute;
    bottom: -46%;
    right: -35%;
    width: 90%;
    height: 100%;
    background-color: #da4900;
    border-radius: 0% 10% 70% 0% / 0% 10% 70% 0% ;
    z-index: 54;
  }
  .jacket .arm--left--upper {
    --step-one: translateX(29cqi) translateY(3cqi) rotate(-25deg);
    --step-two: translateX(30cqi) translateY(-1cqi) rotate(-53deg);
    --step-thr: translateX(32cqi) translateY(-6cqi) rotate(-78deg);
    --step-fou: translateX(360%) translateY(-30%) rotate(-90deg);
    position: absolute;
    width: 9cqi;
    height: 30cqi;
    background-color: #c04000;
    background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    border-radius: 50% 50% 50% 50% / 25% 25% 25% 25%;
    z-index: 50;
    animation: arm-left-upper var(--animation);
    transform: var(--step-one);
  }
  .jacket .arm--left--lower {
    --step-one: translateX(440%) translateY(98%) rotate(6deg);
    --step-two: translateX(48cqi) translateY(10cqi) rotate(-73deg);
    --step-thr: translateX(47cqi) translateY(-10cqi) rotate(-162deg);
    --wave-left: translate(508%, -60%) rotate(-195deg);
    --wave-right: translate(548%, -60%) rotate(-170deg);
    position: absolute;
    width: 8cqi;
    height: 25cqi;
    border-radius: 50% 50% 10% 10% / 25% 25% 10% 10%;
    background-color: #c04000;
    background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    z-index: 55;
    animation: arm-left-lower var(--animation);
    transform: translateX(33cqi) translateY(98%) rotate(6deg);
  }
  .jacket .arm--left--lower:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -8cqi;
    width: 3cqi;
    height: 8cqi;
    transform: rotate(2deg);
    background: #111;
    border-radius: 0% 0% 50% 50% / 0% 0% 20% 20%;
    transform: translateZ(-1px);
    animation: mitten-left var(--animation);
    opacity: 0;
    visibility: hidden;
    z-index: 55;
  }
  .jacket .arm--left--lower:after {
    content: "";
    position: absolute;
    bottom: -10cqi;
    left: 0;
    width: 7cqi;
    height: 10cqi;
    transform: rotate(2deg);
    background: var(--mitton-color);
    border-radius: 0% 0% 50% 50% / 0% 0% 40% 40%;
    transform: translateZ(-1px);
    z-index: 53;
  }
  .jacket .arm--right--upper {
    position: absolute;
    top: 10%;
    left: -22%;
    width: 9cqi;
    height: 22cqi;
    transform: rotate(26deg);
    background: #c04000;
    background: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 25%, #c04000 70%, #a73700 75%, #a73700 100%);
    border-radius: 30% 10% 10% 10% / 30% 10% 10% 10%;
    border-top: 0.5cqi solid #ff6f27;
    border-right: 0.5cqi solid #5a1e00;
    border-left: 0.5cqi solid #ff6f27;
    z-index: 51;
  }
  .jacket .arm--right--lower {
    position: absolute;
    top: 48%;
    left: -84%;
    width: 22cqi;
    height: 8cqi;
    transform: rotate(-14deg);
    border-radius: 10% 10% 10% 10% / 10% 10% 10% 10%;
    background: #c04000;
    background: linear-gradient(180deg, #da4900 0%, #da4900 15%, #c04000 30%, #c04000 65%, #a73700 80%, #a73700 100%);
    border-top: 0.5cqi solid #ff6f27;
    border-bottom: 0.5cqi solid #5a1e00;
    z-index: 50;
  }
  .jacket--front {
    --breast-pocket-height: 16%;
    --breast-pocket-position-x: 5%;
    --breast-pocket-position-y: 22%;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #c04000;
    background: linear-gradient(90deg, #c04000 0%, #c04000 70%, #a73700 85%, #a73700 100%);
    border-top: 0.5cqi solid #5a1e00;
    border-right: 0.5cqi solid #5a1e00;
    border-radius: 50% 50% 4% 4% / 13% 13% 4% 4%;
    z-index: 52;
  }
  .jacket--front--zipper--left {
    position: absolute;
    top: var(--breast-pocket-position-y);
    right: 64%;
    width: var(--zipper-width);
    height: var(--breast-pocket-height);
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #9a2a2a;
    z-index: 55;
  }
  .jacket--front--zipper--right {
    position: absolute;
    top: var(--breast-pocket-position-y);
    left: 63%;
    width: var(--zipper-width);
    height: var(--breast-pocket-height);
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #9a2a2a;
    z-index: 55;
  }
  .jacket:before {
    content: "";
    position: absolute;
    bottom: var(--waist-pocket-position-y);
    right: var(--waist-pocket-position-x);
    width: var(--zipper-width);
    height: var(--waist-pocket-height);
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #9a2a2a;
    border-radius: --zipper-border-radius;
    transform: rotate(-25deg);
    z-index: 55;
  }
  .jacket:after {
    content: "";
    position: absolute;
    bottom: var(--waist-pocket-position-y);
    left: var(--waist-pocket-position-x);
    width: var(--zipper-width);
    height: var(--waist-pocket-height);
    background-color: var(--zipper-bg-color);
    border: 1cqi solid #9a2a2a;
    border-radius: --zipper-border-radius;
    transform: rotate(25deg);
    z-index: 55;
  }
  @keyframes jacket {
    0% {
      transform: translateX(-50%) rotate(-2deg);
    }
    15% {
      transform: translateX(-50%) rotate(0deg);
    }
    85% {
      transform: translateX(-50%) rotate(0deg);
    }
    100% {
      transform: translateX(-50%) rotate(-2deg);
    }
  }
  @keyframes left-shoulder {
    0% {
      border-radius: 50% 50% 4% 4% / 13% 13% 4% 4%;
    }
    10% {
      border-radius: 50% 50% 4% 4% / 13% 2% 4% 4%;
    }
    90% {
      border-radius: 50% 50% 4% 4% / 13% 2% 4% 4%;
    }
    100% {
      border-radius: 50% 50% 4% 4% / 13% 13% 4% 4%;
    }
  }
  @keyframes arm-left-upper {
    0% {
      transform: var(--step-one);
      background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    }
    5% {
      transform: var(--step-two);
    }
    10% {
      transform: var(--step-thr);
    }
    15% {
      transform: var(--step-fou);
      background-image: linear-gradient(90deg, #a73700 0%, #a73700 20%, #c04000 40%, #c04000 60%, #da4900 80%, #da4900 100%);
    }
    85% {
      transform: var(--step-fou);
      background-image: linear-gradient(90deg, #a73700 0%, #a73700 20%, #c04000 40%, #c04000 60%, #da4900 80%, #da4900 100%);
    }
    90% {
      transform: var(--step-thr);
    }
    95% {
      transform: var(--step-two);
    }
    100% {
      transform: var(--step-one);
      background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    }
  }
  @keyframes arm-left-lower {
    0% {
      transform: var(--step-one);
      background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    }
    5% {
      transform: var(--step-two);
    }
    10% {
      transform: var(--step-thr);
    }
    15% {
      transform: var(--wave-left);
      background-image: linear-gradient(90deg, #a73700 0%, #a73700 20%, #c04000 40%, #c04000 60%, #da4900 80%, #da4900 100%);
    }
    20% {
      transform: var(--wave-right);
    }
    25% {
      transform: var(--wave-left);
    }
    30% {
      transform: var(--wave-right);
    }
    35% {
      transform: var(--wave-left);
    }
    40% {
      transform: var(--wave-right);
    }
    45% {
      transform: var(--wave-left);
    }
    50% {
      transform: var(--wave-right);
    }
    55% {
      transform: var(--wave-left);
    }
    60% {
      transform: var(--wave-right);
    }
    65% {
      transform: var(--wave-left);
    }
    70% {
      transform: var(--wave-right);
    }
    75% {
      transform: var(--wave-left);
    }
    80% {
      transform: var(--wave-right);
    }
    85% {
      transform: var(--wave-left);
      background-image: linear-gradient(90deg, #a73700 0%, #a73700 20%, #c04000 40%, #c04000 60%, #da4900 80%, #da4900 100%);
    }
    90% {
      transform: var(--step-thr);
    }
    95% {
      transform: var(--step-two);
    }
    100% {
      transform: var(--step-one);
      background-image: linear-gradient(90deg, #da4900 0%, #da4900 20%, #c04000 40%, #c04000 60%, #a73700 80%, #a73700 100%);
    }
  }
  @keyframes mitten-left {
    0% {
      opacity: 0;
      visibility: hidden;
    }
    10% {
      opacity: 0.5;
      visibility: visible;
    }
    15% {
      opacity: 1;
      visibility: visible;
    }
    85% {
      opacity: 1;
      visibility: visible;
    }
    90% {
      opacity: 0.5;
      visibility: visible;
    }
    100% {
      opacity: 0;
      visibility: hidden;
    }
  }
}
@layer skis {
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 100;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiAyp8kv8JHgFVrJJLmE3tF.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 200;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmv1plEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm21llEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLedw.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hlEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19lEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15lEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm111lEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm81xlEA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrLPTedw.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 200;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLFj_V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrFJA.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLBT5V1s.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 100;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLoHRiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 200;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLgHQiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 300;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 400;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLoHQiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 500;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLrPQiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 600;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLl_XiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 700;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLmbXiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 800;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLgHXiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 900;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLijXiA8.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbGmT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 200;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZEbWmT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabWmT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbWmT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWub2bWmT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 600;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYaammT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuYjammT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 800;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZEammT.ttf) format('truetype');
  }
  @font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 900;
    font-stretch: normal;
    font-display: swap;
    src: url(https://fonts.gstatic.com/s/roboto/v50/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuZtammT.ttf) format('truetype');
  }
  .skis {
    position: absolute;
    bottom: var(--skis-position-y);
    left: var(--skis-position-x);
    width: var(--skis-width);
    height: var(--skis-height);
    transform: rotate(-2deg);
    font-family: "Poppins", sans-serif;
    animation: skis var(--animation);
    z-index: 90;
    container-type: inline-size;
    container-name: skis;
  }
  .skis:after {
    content: "skiskiski";
    font-style: italic;
    text-shadow: -2px 2px 0 #ffffff;
    writing-mode: vertical-rl;
    font-size: 60cqw;
    font-weight: 600;
    line-height: 1.2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 5%;
    z-index: 91;
  }
  .skis .binding {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 45%;
    width: 90%;
    height: 30%;
    z-index: 98;
  }
  .skis .binding--front {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 100%;
    height: 25%;
    background: #000000;
    border-radius: 25% 25% 10% 10% / 75% 75% 10% 10%;
    z-index: 98;
  }
  .skis .binding--front:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 80%;
    aspect-ratio: 1;
    background-color: black;
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
    z-index: 99;
  }
  .skis .binding--front:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -10%;
    width: 100%;
    height: 75%;
    background: #333;
    /*
					background: linear-gradient(
						180deg,
						rgba(255, 0, 0, 1) 33%,
						rgba(255, 255, 0, 1) 66%,
						rgba(0, 255, 0, 1) 100%
					);
					*/
    border-radius: 10% 10% 25% 25% / 10% 10% 75% 75%;
    border-radius: 45% 45% 10% 10% / 75% 75% 10% 10%;
    z-index: 98;
  }
  .skis .binding--back {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20%;
    width: 90%;
    height: 20%;
    background-color: #dcdcdc;
    background-color: black;
    border-radius: 10% 10% 25% 25% / 10% 10% 75% 75%;
    z-index: 98;
  }
  .skis .binding--back:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 90%;
    aspect-ratio: 1;
    background-color: #666;
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
    z-index: 99;
  }
  .skis .binding--back:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -70%;
    width: 90%;
    height: 125%;
    background: #000;
    /*
						background: linear-gradient(
						180deg,
						rgba(255, 0, 0, 1) 33%,
						rgba(255, 255, 0, 1) 66%,
						rgba(0, 255, 0, 1) 100%
					);
						*/
    border-radius: 10% 10% 65% 65% / 10% 10% 75% 75%;
    z-index: 98;
  }
  .skis--upper {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 4%;
    width: 100%;
    height: 70%;
    background: var(--ski-bg);
    border-radius: 0% 0% 25% 25% / 0% 0% 90% 90%;
    background: linear-gradient(90deg, #002868 0%, #002868 33%, #ffffff 33%, #ffffff 66%, #bf0a30 66%, #bf0a30 100%);
    z-index: 95;
  }
  .skis--upper:before {
    content: "skiskiski";
    font-style: italic;
    text-shadow: -2px 2px 0 #ffffff;
    writing-mode: vertical-rl;
    font-size: 60cqw;
    font-weight: 600;
    line-height: 1.2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 15%;
    z-index: 96;
  }
  .skis--upper:after {
    content: "";
    position: absolute;
    top: 29%;
    left: -25%;
    width: 100%;
    height: 10%;
    transform: rotate(-105deg);
    background: var(--mitton-color);
    border-radius: 25% 56% 47% 27% / 20% 25% 43% 24%;
    z-index: 99;
  }
  .skis--upper--tips {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 100%;
    height: 5%;
    z-index: 10;
    background: var(--ski-bg);
    border-radius: 50% 50% 0% 0% / 50% 50% 0% 0%;
    background: linear-gradient(90deg, #002868 0%, #002868 33%, #ffffff 33%, #ffffff 66%, #bf0a30 66%, #bf0a30 100%);
  }
  .skis--lower {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 4%;
    width: 100%;
    height: 50%;
    z-index: 10;
    border-radius: 25% 25% 0% 0% / 90% 90% 10% 10%;
    overflow: clip;
    background: linear-gradient(90deg, #002868 0%, #002868 33%, #ffffff 33%, #ffffff 66%, #bf0a30 66%, #bf0a30 100%);
    /*
			&--sticker {
//content: "";
				position: absolute;
				left: 0;
				bottom: 20%;
				width: 120%;
				height: 20%;
				background-color: white;
				border-radius: ~"0% 0% 0% 0% / 0% 0% 0% 0%";
				z-index: 30;
				&:after {
//content: "";
					position: absolute;
					left: -5%;
					bottom: -15%;
					width: 120%;
					height: 30%;
					background-color: white;
					border-radius: ~"0% 0% 0% 0% / 0% 0% 0% 0%";
					z-index: 31;
					transform: rotate(-15deg);
				}
				&--stripes {
					position: absolute;
					border-radius: ~"50% 0% 50% 0% / 33% 0% 33% 0%";
					z-index: 3000;
					transform: rotate(-15deg);
					width: 60%;
					height: 25%;
					background-color: #000;
					left: 15%;
					bottom: 20%;
					&:first-child {
						bottom: 50%;
					}
					&:last-child {
						bottom: -10%;
					}
				}
			}
			*/
  }
  .skis--lower--tips {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5%;
    z-index: 10;
    background: linear-gradient(90deg, #002868 0%, #002868 33%, #ffffff 33%, #ffffff 66%, #bf0a30 66%, #bf0a30 100%);
    border-radius: 0% 0% 50% 50% / 0% 0% 50% 50%;
  }
  @keyframes skis {
    0% {
      transform: rotate(-2deg);
    }
    5% {
      transform: rotate(-2deg);
    }
    15% {
      transform: rotate(-3deg);
    }
    85% {
      transform: rotate(-3deg);
    }
    90% {
      transform: rotate(-2deg);
    }
    95% {
      transform: rotate(-2deg);
    }
    100% {
      transform: rotate(-2deg);
    }
  }
}
@layer helmet {
  .face {
    border-radius: 50%;
    position: absolute;
    top: 0%;
    left: 5%;
    width: 90%;
    height: 100%;
    background: linear-gradient(0deg, #fae5bd 0%, #fae5bd 49%, rgba(250, 229, 189, 0) 49%, rgba(250, 229, 189, 0) 100%);
    z-index: 62;
  }
  .mouth {
    position: absolute;
    top: 80%;
    left: 28%;
    background: #fff;
    width: 40%;
    height: 8%;
    background-color: pink;
    padding: 2%;
    border-radius: 50% 50% 50% 50% / 6% 6% 94% 94%;
    animation: smile var(--animation);
    z-index: 65;
  }
  .mouth .teeth {
    background-color: white;
    width: 100%;
    height: 100%;
    border-radius: 50% 50% 50% 50% / 6% 6% 94% 94%;
    z-index: 66;
  }
  @keyframes smile {
    0% {
      height: 3%;
    }
    5% {
      height: 3%;
    }
    8% {
      height: 8%;
    }
    100% {
      height: 8%;
    }
  }
  .goggles {
    position: absolute;
    width: var(--goggle-width);
    height: var(--goggle-height);
    top: var(--goggle-position-y);
    left: var(--goggle-position-x);
    z-index: 64;
  }
  .goggles > div {
    position: absolute;
    top: 0;
    width: 51%;
    height: 100%;
    border-top: 5px solid #000;
    background: #833ab4;
    background: linear-gradient(181deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);
    overflow: clip;
  }
  .goggles--left {
    left: 0;
    border-radius: 100% 0% 50% 15% / 20% 0% 40% 30%;
    position: relative;
    overflow: clip;
  }
  .goggles--left:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #833ab4;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, #fd1d1d 20%, rgba(253, 29, 29, 0) 40%, rgba(131, 58, 180, 0) 100%);
  }
  .goggles--right {
    right: 0;
    border-radius: 0% 100% 15% 50% / 0% 20% 30% 40%;
    position: relative;
    overflow: clip;
  }
  .goggles--right:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #833ab4;
    background: linear-gradient(90deg, rgba(131, 58, 180, 0) 0%, rgba(253, 29, 29, 0) 60%, #fd1d1d 80%, rgba(0, 0, 0, 0.8) 100%);
  }
  .goggles--right:before {
    content: "";
    position: absolute;
    top: 1%;
    left: 20%;
    width: 20%;
    height: 90%;
    border-radius: 31% 69% 35% 65% / 80% 15% 85% 20%;
    background: #fff;
    background: radial-gradient(circle, #ffffff 0%, rgba(148, 187, 233, 0) 100%);
    z-index: 88;
  }
  .helmet {
    position: absolute;
    top: var(--helmet-position-y);
    left: var(--helmet-position-x);
    width: var(--helmet-width);
    height: var(--helmet-height);
    aspect-ratio: var(--helmet-aspect-ratio);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, #000000 40%, #000000 63%, #ffffff 63%, #ffffff 100%);
    transform: translateX(-56%) rotate(-2deg);
    overflow: clip;
    border-radius: 45% 45% 50% 50% / 40% 40% 48% 50%;
    position: relative;
    z-index: 61;
    animation: helmet var(--animation);
  }
  @keyframes helmet {
    0% {
      transform: translateX(-56%) rotate(-2deg);
    }
    15% {
      transform: translateX(-50%) rotate(0deg);
    }
    85% {
      transform: translateX(-50%) rotate(0deg);
    }
    100% {
      transform: translateX(-56%) rotate(-2deg);
    }
  }
  .helmet .smith-sticker {
    position: absolute;
    left: 20%;
    top: 27%;
    width: 25%;
    aspect-ratio: 610 / 150;
    /*
			background-image: url('data:image/svg+xml,<%3Fxml version="1.0" %3F><svg width="610" height="150" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
        <title>Smith Optics</title>
        <g class="layer">
            <title>Layer 1</title>
            <g id="svg_1">
                <path d="m24.6,42.4c0,4.2 7.1,6.7 7.1,6.7s56.8,23.1 92.8,50.5l0,23.8c-50.8,-37.9 -110.2,-59.9 -110.2,-59.9s-5.4,-1.9 -7.1,-2.9c-1.6,-1 -2.1,-3.3 -2.2,-5.5l0,-23.6c0,-3.4 7.2,-9.3 7.2,-9.3c16.6,-14.5 33.3,-17.5 54.1,-17.5c32.6,0 58.3,18.6 58.3,18.6l-0.1,22.1c0,0 -25.9,-19.4 -58.2,-19.4c-30.6,0 -41.7,10.8 -41.7,16.4m66.5,79c0,0 -8.7,2.8 -24.2,2.8c-24.2,0 -46.7,-12.1 -61.9,-21.3l0,24.2c0,0 24.9,18.2 62.1,18.2c27.2,0 45.9,-9.9 45.9,-9.9s-6.5,-4.7 -11.7,-8.1c-5.2,-3.5 -10.2,-5.9 -10.2,-5.9m224.3,21l22.4,0l0,-134.1l-22.4,0l0,134.1zm46.5,-115l41.4,0l0,115l22.7,0l0,-115l41.3,0l0,-19.1l-105.4,0l0,19.1zm220.7,-19.1l0,60.2l-69.8,0l0,-60.2l-22.4,0l0,134.1l22.4,0l0,-54.4l69.8,0l0,54.4l22.4,0l0,-134.1l-22.4,0zm-363.8,69.6l-48.4,-69.6l-22.3,0l0,134.1l22.3,0l0,-98.9l48.3,70.6l48.4,-70.6l0,98.9l22.2,0l0,-134.1l-22.2,0l-48.3,69.6z" fill="%23000000" id="svg_2" stroke="%23ffffff" />
            </g>
        </g>
    </svg>');
			*/
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    transform: rotate(-3deg);
    z-index: 61;
  }
  .helmet .sticker--fou {
    position: absolute;
    left: 48%;
    top: 11%;
    width: 25%;
    height: 18%;
    corner-shape: notch;
    border-radius: 10px;
    background-color: #000;
    transform: rotate(48deg);
  }
  .helmet .sticker--one {
    position: absolute;
    left: 70%;
    top: 19%;
    z-index: 1;
    width: 20px;
    height: 20px;
    background: yellow;
    border: 5px solid black;
    transform: rotate(48deg);
  }
  .helmet .sticker--two {
    position: absolute;
    left: 85%;
    top: 20%;
    z-index: 1;
    width: 20px;
    height: 20px;
    background: yellow;
    border: 5px solid black;
    transform: rotate(46deg);
  }
  .helmet .sticker--thr {
    position: absolute;
    left: 0%;
    top: 3%;
    width: 25%;
    height: 25%;
    background: white;
    border: 1cqi solid red;
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
  }
  .helmet .sticker--thr:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: blue;
    border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
    width: 50%;
    height: 50%;
  }
  .helmet .vent--left {
    position: absolute;
    left: 30%;
    top: 5%;
    z-index: 1;
    width: 20%;
    height: 3%;
    background: #333;
    border-radius: 0% 100% 0% 100% / 100% 0% 100% 0%;
    transform: rotate(90deg);
  }
  .helmet .vent--right {
    position: absolute;
    right: 30%;
    top: 5%;
    z-index: 1;
    width: 20%;
    height: 3%;
    background: #333;
    border-radius: 0% 100% 0% 100% / 100% 0% 100% 0%;
    transform: rotate(90deg);
  }
  .helmet:after {
    content: "";
    position: absolute;
    left: 38%;
    top: 56%;
    border-radius: 50% 50% 50% 50% / 75% 75% 25% 25%;
    width: 26%;
    height: 22%;
    background: var(--skin-color);
    border-top: 3px solid #000;
    border-right: none;
    border-bottom: none;
    border-left: none;
    z-index: 68;
  }
}
h1 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  place-content: start center;
  text-align: center;
  margin: 0;
  padding: 0;
  font-weight: 700;
  font-family: "Luckiest Guy", cursive;
  font-size: 8vw;
  text-shadow: 0.5rem 0.5rem 0.5rem rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.globe {
  overflow: clip;
  position: relative;
  container-type: inline-size;
  container-name: globe;
  /*
	.bg {
		position: absolute;
		left: 0;
		bottom: 20%;
		height: 100%;
		aspect-ratio: ~"1750 / 519";
		background-position: center bottom;
		background-size: contain;
		background-repeat: no-repeat;
		transition: 0.1s;
		z-index: 1;
	}
	*/
}
.globe .ground-snow {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100cqw;
  height: 30cqi;
  z-index: -1;
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@media (min-width: 0) and (max-width: 319px) {
  #output {
    display: none;
  }
}
@media (min-width: 0) {
  #output {
    background-color: var(--out-of-bounds);
    border: var(--output-border-size) solid var(--out-of-bounds);
    width: auto;
    height: auto;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000;
    font-size: 1.5rem;
    color: red;
    font-family: system-ui;
    padding: 0.1em 0.5em;
  }
}
@media (min-width: 0) and (orientation: portrait) {
  #output {
    background-color: var(--out-of-bounds);
    border: var(--output-border-size) solid var(--out-of-bounds);
  }
  #output:after {
    content: "0 (orientation: portrait) max 319px";
  }
}
@media (min-width: 0) and (orientation: landscape) {
  #output {
    background-color: var(--out-of-bounds);
    border: var(--output-border-size) solid var(--out-of-bounds);
  }
  #output:after {
    content: "0 (orientation: landscape) max 319px";
  }
}
@media (min-device-width: 320px) {
  #output {
    background-color: var(--xs);
    border: var(--output-border-size) solid var(--xs);
    color: #fff;
  }
  #output:after {
    content: "xsmall (mobile) min: 320px max: 639px";
  }
  section {
    border: var(--element-border-size) solid var(--xs);
    width: 100%;
    aspect-ratio: 1 / 1;
  }
  section canvas {
    z-index: 330;
    position: relative;
  }
  h1 {
    color: var(--snow-white);
  }
  body {
    justify-content: flex-start;
  }
  .globe-outer,
  .globe {
    height: 100vh;
    margin: 0;
  }
  .globe-outer .ground-snow,
  .globe .ground-snow {
    background-color: #fff;
    height: 30cqh;
  }
  .globe-outer .surface-snow,
  .globe .surface-snow {
    width: 100%;
    height: 500px;
    background-color: unset;
    background-image: url('https://assets.codepen.io/1695918/snow-globe_bg--mobile.png?format=auto');
    background-repeat: no-repeat;
    background-size: cover;
    overflow: clip;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 16%;
    z-index: 30;
  }
  .stage {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    max-width: 768px;
    height: 80vh;
    max-height: 1024px;
    aspect-ratio: 3 / 4;
    z-index: 31;
    container-type: inline-size;
  }
}
@media (min-device-width: 320px) and (orientation: portrait) {
  #output {
    border: var(--output-border-size) solid var(--portrait);
  }
  #output:after {
    content: "xsmall (mobile, orientation: portrait)";
  }
}
@media (min-device-width: 320px) and (orientation: landscape) {
  #output {
    border: var(--output-border-size) solid var(--portrait);
  }
  #output:after {
    content: "xsmall (mobile, orientation: landscape)";
  }
}
@media (min-width: 640px) {
  #output {
    background-color: var(--s);
    border: var(--output-border-size) solid var(--s);
    color: #fff;
  }
  #output:after {
    content: "small";
  }
  section {
    border: var(--element-border-size) solid var(--s);
  }
}
@media (min-width: 640px) and (orientation: portrait) {
  #output {
    border: var(--output-border-size) solid var(--portrait);
  }
  #output:after {
    content: "small (orientation: portrait)";
  }
}
@media (min-width: 640px) and (orientation: landscape) {
  #output {
    border: var(--output-border-size) solid var(--landscape);
  }
  #output:after {
    content: "small (mobile, orientation: landscape)";
  }
}
@media (min-width: 768px) {
  #output {
    background-color: var(--m);
    border: var(--output-border-size) solid var(--m);
  }
  #output:after {
    content: "medium";
  }
  section {
    border: var(--element-border-size) solid var(--m);
    width: 100%;
  }
}
@media (min-width: 768px) and (orientation: portrait) {
  #output {
    border: var(--output-border-size) solid var(--portrait);
  }
  #output:after {
    content: "medium (tablet, orientation: portrait)";
  }
}
@media (min-width: 768px) and (orientation: landscape) {
  #output {
    border: var(--output-border-size) solid var(--landscape);
  }
  #output:after {
    content: "medium (tablet, orientation: landscape)";
  }
}
@media (min-width: 1024px) {
  #output {
    background-color: var(--l);
    border: var(--output-border-size) solid var(--l);
  }
  #output:after {
    content: "large";
  }
  section {
    border: var(--element-border-size) solid var(--l);
    max-width: 880px;
  }
  section canvas {
    width: 100%;
    height: 60%;
  }
  .bg {
    bottom: 20%;
  }
  h1 {
    display: none;
  }
  body {
    justify-content: center;
  }
  .globe-outer {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    height: 100%;
    width: 100%;
    box-shadow: inset 0 0 2vmin rgba(255, 255, 255, 0.3), inset 3vmin 0 5vmin rgba(255, 255, 255, 0.2), inset -3vmin 0 5vmin rgba(255, 255, 255, 0.1), inset 0 -20vmin 3vmin -14vmin rgba(255, 255, 255, 0.1);
    position: relative;
  }
  .globe-outer:after {
    content: "";
    position: absolute;
    width: 45%;
    height: 18%;
    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
    border-radius: 50%;
    top: 80px;
    left: 60%;
    transform: rotate(17deg) translateX(-50%);
  }
  .globe {
    border-radius: 50%;
    height: 96%;
    width: 96%;
    margin: 2%;
    top: 2%;
    aspect-ratio: 1 / 1;
    box-shadow: inset 0 0 2vmin rgba(255, 255, 255, 0.3), inset 3vmin 0 5vmin rgba(255, 255, 255, 0.2), inset -3vmin 0 5vmin rgba(255, 255, 255, 0.1), inset 0 -20vmin 3vmin -14vmin rgba(255, 255, 255, 0.1);
  }
  .globe .ground-snow {
    background: linear-gradient(0deg, #f0f0f0 0%, #ebeff5 50%, #c5d3e8 100%);
    box-shadow: -7px -5px 0px rgba(0, 0, 0, 0.1) inset;
    height: 30cqi;
  }
  .globe .surface-snow {
    width: calc(var(--ground-snow-w) *1%);
    height: 200px;
    background-color: #fff;
    background-image: unset;
    border-radius: 100%;
    overflow: clip;
    border: 1px solid #eee;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20%;
    z-index: 1;
  }
  .globe .peak {
    background-image: url("https://assets.codepen.io/1695918/snow-globe_bg.png?format=auto");
    background-repeat: no-repeat;
    background-size: 100%;
    width: 904px;
    height: 341px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30%;
    z-index: 30;
  }
  .stage {
    bottom: 25%;
    left: 50%;
    height: 50%;
  }
}
@media (min-width: 1280px) {
  #output {
    background-color: var(--xl);
    border: var(--output-border-size) solid var(--xl);
  }
  #output:after {
    content: "xlarge";
  }
  section {
    border: var(--element-border-size) solid var(--xl);
  }
  /*
	@container my-card (min-width: 600px) {
		.card-image {
			width: 50%;
		}
		.card-text {
			font-size: 1.2cqi;
		}
	}
*/
}
@media (min-width: 1920px) {
  #output {
    background-color: var(--xxl);
    border: var(--output-border-size) solid var(--xxl);
  }
  #output:after {
    content: "xxlarge";
  }
  section {
    border: var(--element-border-size) solid var(--xxl);
  }
}
@media (min-width: 2560px) {
  #output {
    background-color: var(--xxl);
    border: var(--output-border-size) solid var(--xxxl);
  }
  #output:after {
    content: "xxxlarge";
  }
  section {
    border: var(--element-border-size) solid var(--xxxl);
  }
}
@font-face {
  font-family: 'Luckiest Guy';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/luckiestguy/v25/_gP_1RrxsjcxVyin9l9n_j2RSg.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiAyp8kv8JHgFVrJJLmE3tF.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmv1plEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm21llEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrJJLedw.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hlEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm111lEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiDyp8kv8JHgFVrJJLm81xlEA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiGyp8kv8JHgFVrLPTedw.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLFj_V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrFJA.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLCz7V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDD4V1s.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLBT5V1s.ttf) format('truetype');
}
.yeti {
  width: 256px;
  aspect-ratio: 1 / 1;
  background-image: url(https://assets.codepen.io/1695918/yeti.png?format=auto);
  position: absolute;
  right: -306px;
  bottom: 50%;
  transform: rotate(-35deg);
}
.yeti.hey {
  animation: hey 6s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
@keyframes hey {
  0% {
    right: -300px;
  }
  20% {
    right: -150px;
  }
  80% {
    right: -150px;
  }
  100% {
    right: -300px;
  }
}
@layer base {
  body ::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
  }
  body {
    -ms-overflow-style: none;
  }
  html {
    scrollbar-width: none;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  html,
  body {
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100vh;
    overflow: clip;
  }
  body {
    background-color: #eee;
    display: flex;
    overflow-x: clip;
    flex-direction: column;
    align-items: center;
    background-image: linear-gradient(135deg, #1da1f2, #e73c7e, #981ceb, #23a6d5, #981ceb, #e73c7e);
    background-size: 400% 400%;
    animation: gradient 25s ease infinite;
  }
}