/* =========================================================
   ブヒアドベンチャー：雪山のソリ
   ========================================================= */

/* 当たり判定の基準位置は変えず、見た目だけ左右・上へ広げる。 */
.adv-stage.t-snow .adv-spring.k-ski {
  width: 74px;
  height: 44px;
  margin-left: -14px;
  margin-top: -18px;
  z-index: 2;
  overflow: visible;
  transform-origin: 50% 88%;
  pointer-events: none;
}

.adv-stage.t-snow .adv-spring.k-ski .adv-sled-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  filter: drop-shadow(0 4px 3px rgba(74, 81, 94, .24));
}

.adv-sled-shadow {
  fill: rgba(67, 78, 91, .18);
  filter: blur(1.2px);
}

.adv-sled-snow {
  fill: rgba(255, 255, 255, .82);
}

.adv-sled-runner {
  fill: url(#adv-sled-metal);
  stroke: #6f8291;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.adv-sled-runner-back {
  opacity: .62;
}

.adv-sled-runner-front {
  filter: drop-shadow(0 1px 1px rgba(44, 53, 61, .2));
}

.adv-sled-brace {
  fill: none;
  stroke: url(#adv-sled-wood);
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.adv-sled-brace-hi {
  fill: none;
  stroke: rgba(255, 227, 175, .72);
  stroke-width: 1.4;
  stroke-linecap: round;
}

.adv-sled-frame {
  fill: url(#adv-sled-wood);
  stroke: #7d451f;
  stroke-width: 1.7;
  stroke-linejoin: round;
}

.adv-sled-seat {
  fill: url(#adv-sled-seat);
  stroke: #ad3155;
  stroke-width: 1.2;
}

.adv-sled-seat-shine {
  fill: none;
  stroke: rgba(255, 255, 255, .7);
  stroke-width: 1.7;
  stroke-linecap: round;
}

.adv-sled-handle {
  fill: none;
  stroke: #9f612d;
  stroke-width: 4;
  stroke-linecap: round;
}

.adv-sled-rope {
  fill: none;
  stroke: #b58a59;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 2.5 2.2;
}

.adv-sled-knot {
  fill: #9f6f3f;
}

.adv-sled-snowcap {
  fill: #fff;
  stroke: rgba(199, 221, 237, .75);
  stroke-width: .8;
}

/* 発射時はバネのように潰さず、ソリが前へ踏み出す動きにする。 */
.adv-stage.t-snow .adv-spring.k-ski.boing .adv-sled-svg {
  animation: advSledLaunch .36s cubic-bezier(.2,.75,.25,1);
  transform-origin: 50% 84%;
}

@keyframes advSledLaunch {
  0%   { transform: translate3d(0, 2px, 0) rotate(-2deg) scale(.98); }
  38%  { transform: translate3d(6px, -5px, 0) rotate(5deg) scale(1.04); }
  72%  { transform: translate3d(2px, -2px, 0) rotate(1deg) scale(1.01); }
  100% { transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@media (max-width: 390px) {
  .adv-stage.t-snow .adv-spring.k-ski {
    width: 68px;
    height: 41px;
    margin-left: -12px;
    margin-top: -15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .adv-stage.t-snow .adv-spring.k-ski.boing .adv-sled-svg {
    animation: none;
  }
}
