@charset "UTF-8";
/*
 * 基础模块 & 全局变量配置
 *
 */
/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/*
 * @file: 重置样式
 */
/* 全局设置 */
*,
*:before,
*:after {
  font-family: "San Francisco", "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 300;
  box-sizing: border-box;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

/* 设置基本html,body样式 */
html, body {
  margin: 0 auto;
  padding: 0;
}

/* 设置图片最大宽度 */
/* 清除默认按钮表现形式 */
button {
  -webkit-appearance: none;
  appearance: none;
}

/* 设置表格默认样式 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 文本域禁止拖拉放大 */
textarea {
  resize: none;
}

a {
  text-decoration: none;
  color: currentColor;
}

img {
  vertical-align: top;
}

i, em {
  font-style: normal;
}

ol, ul, li, menu {
  list-style: none outside none;
}

fieldset, iframe, abbr, acronym {
  border: 0 none;
}

dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td, hr,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
}

del {
  text-decoration: line-through;
}

/*

纯 CSS 自适应方案

1，设计稿尺寸

    默认设计稿宽带 750px，可通过变量 $psd-size 进行修改

2，对应的 meta 标签写法：

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">

3，px to rem 需要用到小学算术

    100px = 1rem / 1px = 0.01rem

Notes:

    断点参考：
    http://screensiz.es/phone
    http://mydevice.io/devices/#sortSmartphones

    横屏断点：384px, 480px, 533px, 568px, 640px, 667px, 699px, 736px
    某些手机厂商系统的虚拟 SmartBar 会改变 Screen 的值，又是坑，建议统一横屏提示规避

    避免使用 min-device-width
    https://developers.google.com/web/fundamentals/design-and-ui/responsive/fundamentals/use-media-queries?hl=zh-cn#min-device-width-

Changelog:

    2016.05.04：添加 393px 699px 断点，小米note 1080 屏幕，DPR=2.75
    2016.11.11: 参考 http://mydevice.io/devices/#sortSmartphones 添加部分安卓手机宽度

*/
@media only screen and (min-width: 320px) {
  html {
    font-size: 42.66667px;
  }
}

@media only screen and (min-width: 346px) {
  html {
    font-size: 46.13333px;
  }
}

@media only screen and (min-width: 360px) {
  html {
    font-size: 48px;
  }
}

@media only screen and (min-width: 375px) {
  html {
    font-size: 50px;
  }
}

@media only screen and (min-width: 384px) {
  html {
    font-size: 51.2px;
  }
}

@media only screen and (min-width: 390px) {
  html {
    font-size: 52px;
  }
}

@media only screen and (min-width: 393px) {
  html {
    font-size: 52.4px;
  }
}

@media only screen and (min-width: 400px) {
  html {
    font-size: 53.33333px;
  }
}

@media only screen and (min-width: 412px) {
  html {
    font-size: 54.93333px;
  }
}

@media only screen and (min-width: 414px) {
  html {
    font-size: 55.2px;
  }
}

@media only screen and (min-width: 432px) {
  html {
    font-size: 57.6px;
  }
}

/* @name: 转为REM单位fn
 * @ps: 默认宽度为750px
 */
/* @name: 上下左右居中 (未知高度)
 * @ps: 需要设置父元素 display:table
 */
/* @name: 上下左右居中 （确定高度）*/
/*
 * @name: 文字溢出显示省略号
 * @ps: 需要设置宽度
 */
/* @name: 强制不换行 */
/* @name: 清除浮动 */
/*
 * @name:  三角形
 * @param: $size  大小
 * @param: $color 颜色
 * @param: $type {string}  类型 (up || down || left || right || topleft || topright || bottomleft || bottomright)
 */
@font-face {
  font-family: subFont;
  src: url(../assets/sub.ttf);
}

html {
  /* 底部露白兜底色：竖屏下 body 之外的区域透出 html 背景 */
  background: #fcd5aa;
}

#loading {
  position: fixed;
  background: #fdd3ab url(../img/loading.jpg) center no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9998;
  /* 加载完成后的淡出过渡 */
  transition: opacity 0.6s ease;
}

#loading.fade-out {
  opacity: 0;
}

#loading_bg {
  width: 3.48rem;
  height: 0.2rem;
  border-radius: 0.1rem;
  border: solid 1px #ffd95c;
  text-align: center;
  position: absolute;
  bottom: 1.7rem;
  padding: 0.01rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  font-family: MicrosoftYaHei, helvetica, arial, sans-serif;
  text-transform: uppercase;
  color: #fffadb;
  font-size: 0.37rem;
}

.loader {
  border-radius: 0.3rem;
  width: 0%;
  background: url(../img/loading_line.png) center no-repeat;
  background-size: 100% 100%;
  transition: width 0.3s;
  height: 0.18rem;
}

.loader-num {
  position: absolute;
  bottom: 1.35rem;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 0.19rem;
  color: #ffe7a6;
  line-height: 1;
  height: 0.19rem;
}

.inline-block {
  display: inline-block;
  vertical-align: middle;
}

.inline-top {
  display: inline-block;
  vertical-align: top;
}

body {
  font: 0.24rem/1.6 "Microsoft YaHei", 微软雅黑, "PingFang SC", STHeiti, sans-serif;
  color: #fff;
  margin: 0 auto;
  width: 100vw;
  height: 100vh;
  background: #fcd5aa;
  /* 设置滚动条的样式 */
}

.cover-box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9997;
  background: url(../img/cover.jpg) center no-repeat;
  background-size: cover;
  /* 点击开始按钮后的淡出过渡 */
  /* 点击开始按钮后：封面从左边飞出（coverFlyOut 定义于 move.scss） */
}

.cover-box.fade-out {
  pointer-events: none;
}

.cover-box.fly-out {
  pointer-events: none;
  animation: coverFlyOut 0.8s cubic-bezier(0.55, 0.06, 0.68, 0.19) forwards;
}

.pauseBtn,
.playBtn,
.i-scale {
  width: 0.7rem;
  height: 0.7rem;
  position: fixed;
  top: 0.35rem;
  right: 0.35rem;
  z-index: 99;
}

.i-scale {
  background: url(../img/i-scale.png) center/cover no-repeat;
  right: 1.35rem;
}

.pauseBtn {
  background: url(../img/i-pause.png) center/cover no-repeat;
}

.playBtn {
  background: url(../img/i-play.png) center/cover no-repeat;
  animation: musicRotate 2s linear infinite;
}

/* 内容页：初始隐藏，点击开始后从视口右边推入 */
.screen-wrap.push-in {
  animation: screenPushIn 0.8s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.cover-1 {
  background: url(../img/cover_1.png) center no-repeat;
  background-size: cover;
  position: absolute;
  width: 6.8rem;
  height: 2.23rem;
  top: 0.8rem;
  left: 50%;
  margin-left: -3.4rem;
}

.cover-2 {
  background: url(../img/cover_2.png) center no-repeat;
  background-size: cover;
  position: absolute;
  width: 6.3rem;
  height: 1.56rem;
  top: 2.3rem;
  left: 50%;
  margin-left: -3.15rem;
}

.cover-3 {
  background: url(../img/cover_3.png) center no-repeat;
  background-size: cover;
  position: absolute;
  width: 3.13rem;
  height: 0.29rem;
  bottom: 0.15rem;
  left: 50%;
  margin-left: -1.56rem;
}

.cover-4 {
  background: url(../img/cover_4.png) center no-repeat;
  background-size: cover;
  position: absolute;
  width: 0.97rem;
  height: 0.83rem;
  top: 2.36rem;
  left: 50%;
  margin-left: -4.8rem;
}

.cover-5 {
  background: url(../img/cover_5.png) center no-repeat;
  background-size: cover;
  position: absolute;
  width: 2.74rem;
  height: 0.56rem;
  top: 3.4rem;
  left: 50%;
  cursor: pointer;
  margin-left: -1.37rem;
}

.move {
  /* 背景图缩放出场：由 130% 缩放到 100%（scale 动画定义于 move.scss） */
  animation: scale 3s ease forwards;
}

.move .cover-1 {
  /* 主标题：中心缩放弹入 */
  animation: coverZoomIn 1s 0.2s ease both;
}

.move .cover-2 {
  /* 副标题：下方上移淡入 */
  animation: coverFadeUp 1s 0.6s ease both;
}

.move .cover-3 {
  /* 底部细条：横向展开 */
  animation: coverExpandX 0.8s 1s ease both;
}

.move .cover-4 {
  /* 左侧小图标：左侧弹入带回弹 */
  animation: coverBounceIn 1s 1.4s ease both;
}

.move .cover-5 {
  /* 出场：缩放弹跳入场（1.8s 起）；入场后呼吸缩放循环吸引点击 */
  animation: coverPopIn 1s 1.8s ease both, coverPulse 1.2s 3.1s ease-in-out infinite;
}

.fixed-box.landscape .rotate {
  transform: rotate(90deg) translateY(-100%);
  transform-origin: 0 0;
  width: 100vh;
  height: 100vw;
  top: 0;
  left: 0;
}

.fixed-box.landscape .close {
  top: calc(100vw - 1rem);
  left: 0.4rem;
}

.fixed-box.landscape .video {
  transform: rotate(180deg);
}

.fixed-box {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

.rotate {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  line-height: 100%;
  text-align: center;
}

.video {
  margin-top: 0.4rem;
  width: 80%;
  height: 90%;
}

.close {
  position: absolute;
  right: 0.3rem;
  top: 0.4rem;
  font-size: 1rem;
  width: 0.8rem;
  height: 0.8rem;
  line-height: 0.8rem;
  text-align: center;
  z-index: 2002;
}

.clearfix {
  position: relative;
  height: 100%;
  width: max-content;
  overflow: hidden;
  background: url(../img/bg.jpg) center repeat-x;
  background-size: 3rem 7.5rem;
}

.absolute {
  position: absolute;
}

html.js img.gif-anim {
  opacity: 0;
  transition: opacity 0.5s ease;
}

html.js img.gif-anim.loaded {
  opacity: 1;
}

.bg-1 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-2 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-3 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-4 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-5 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-6 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-7 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-8 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-9 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-10 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-11 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-12 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-13 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-14 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-15 {
  height: 7.5rem;
  line-height: 7.5rem;
  float: left;
  position: relative;
}

.bg-1 {
  width: 13.99rem;
  background: url(../img/bg_1.png) center no-repeat;
  background-size: cover;
}

.bg-2 {
  width: 34.25rem;
  height: 6.99rem;
  background: url(../img/bg_2_1.png?v=1.0.3) center no-repeat;
  background-size: cover;
  margin-top: 0.25rem;
}

.bg-7 {
  width: 33.05rem;
  background: url(../img/bg_7.jpg) center no-repeat;
  background-size: cover;
  position: relative;
}

.bg-7 .end-text {
  position: absolute;
  top: 2.2rem;
  left: 1.6rem;
  height: 4.2rem;
  font-size: 0.28rem;
  color: #7e402f;
}

.bg-7 .author-text {
  position: absolute;
  top: 1.2rem;
  right: 2rem;
  width: 6.68rem;
  color: #ffe7a6;
  font-size: 0.2rem;
  line-height: 1.8;
}

.bg-7 .author-text .author-text-sub {
  font-size: 0.24rem;
  font-family: subFont;
  margin-bottom: 0.3rem;
  line-height: 1.65;
}

.end-btns {
  position: absolute;
  top: 1.9rem;
  left: 17.4rem;
}

.end-btns img {
  display: block;
  height: 0.86rem;
  margin: 0 auto 0.5rem;
  cursor: pointer;
}

.end-btns .clear-data {
  height: 0.86rem;
  font-size: 0.5rem;
  text-align: center;
  line-height: 0.86rem;
  color: #7e402f;
  cursor: pointer;
}

.bg-2-2 {
  width: 26.47rem;
  height: 5.4rem;
  left: 7.78rem;
  bottom: 0;
}

.bg-2-3 {
  width: 2.17rem;
  left: 11.59rem;
  top: 3.28rem;
  animation: bg-2-3Move 5s linear infinite;
}

.bg-2-4 {
  width: 1.2rem;
  left: 17.2rem;
  top: 2.9rem;
  animation: bg-2-4Move 4s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-5 {
  width: 0.54rem;
  left: 23.15rem;
  top: 5.65rem;
  animation: bg-2-5Move 2s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-6-1 {
  width: 0.27rem;
  left: 17.23rem;
  top: 4.11rem;
  animation: bg-2-6Move 4s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-6-2 {
  width: 0.27rem;
  left: 18.23rem;
  top: 4.51rem;
  animation: bg-2-6Move 4s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-7 {
  width: 0.3rem;
  left: 16.15rem;
  top: 5.18rem;
  animation: bg-2-7Move 1.8s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-8 {
  width: 0.46rem;
  left: 14.15rem;
  top: 5.15rem;
  animation: bg-2-8Move 2.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
}

.bg-2-9 {
  width: 0.2rem;
  left: 14.1rem;
  top: 2.64rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-10 {
  width: 0.2rem;
  left: 13.91rem;
  top: 1.34rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-11 {
  width: 0.2rem;
  left: 13.38rem;
  top: 1.8rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-12 {
  width: 0.2rem;
  left: 12.18rem;
  top: 2.11rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-13 {
  width: 0.2rem;
  left: 12.41rem;
  top: 1.84rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-14 {
  width: 0.94rem;
  left: 15.38rem;
  top: 0.63rem;
  animation: rotate360 2.5s linear infinite;
}

.bg-2-15 {
  width: 1.83rem;
  left: 16.19rem;
  top: 3.39rem;
  animation: bg-2-15Move 18s linear infinite;
}

.bg-2-16 {
  width: 1.3rem;
  left: 20rem;
  top: 2.5rem;
  animation: bg-2-16Move 18s linear infinite;
}

.bg-2-17 {
  width: 2.61rem;
  left: 23.36rem;
  top: 2.6rem;
  transform: rotate(10deg);
  animation: bg-2-17Move 15s linear infinite;
}

.toast {
  position: absolute;
  /* 初始隐藏：滚动到附近位置时加 .toast-in 渐显 */
  opacity: 0;
  transform: translateY(0.2rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.toast.toast-in {
  opacity: 1;
  transform: translateY(0);
}

.toast-1 {
  left: 21.3rem;
  top: 4.5rem;
  width: 3.32rem;
  animation: toast1Move 2s linear infinite;
}

.toast-2 {
  width: 2.32rem;
  left: 25.3rem;
  top: 4.7rem;
}

.toast-3 {
  left: 30.2rem;
  top: 4.55rem;
  width: 2.61rem;
}

.toast-4 {
  left: 33.8rem;
  top: 5.4rem;
  width: 2.61rem;
}

.toast-10 {
  left: 19rem;
  top: 4.1rem;
  width: 2.58rem;
}

.toast-11 {
  left: 5.6rem;
  top: 4.3rem;
  width: 2.79rem;
  animation: toast11Move 3s 0.3s linear infinite;
}

.toast-5 {
  left: -0.65rem;
  top: 5.25rem;
  width: 3.22rem;
}

.toast-6 {
  left: 12.36rem;
  top: 4.2rem;
  width: 3.25rem;
}

.toast-7 {
  left: 38.36rem;
  top: 3.75rem;
  width: 3.22rem;
}

.toast-8 {
  left: 41.12rem;
  top: 3.7rem;
  width: 2.6rem;
}

.toast-9 {
  left: 51.6rem;
  top: 0.9rem;
  width: 1.69rem;
}

.i-click {
  background: url(../img/i-click.png?v=1.0.3) center/0.9rem 0.88rem no-repeat;
  background-size: cover;
  width: 0.9rem;
  height: 0.88rem;
  position: absolute;
  animation: scaleIn 1s ease-in-out infinite forwards alternate;
  cursor: pointer;
}

.c1 {
  top: 4.55rem;
  left: 4.28rem;
}

.c2 {
  top: 1.9rem;
  left: 12.3rem;
}

.c3 {
  top: 3.9rem;
  left: 22.26rem;
}

.c4 {
  top: 1.82rem;
  left: 5.51rem;
}

.c5 {
  top: 4.25rem;
  left: 10.21rem;
}

.c6 {
  top: 3.24rem;
  left: 18.44rem;
}

.c7 {
  top: 1.86rem;
  right: 6.85rem;
}

.c9 {
  top: 1.27rem;
  left: 11.68rem;
}

.c8 {
  top: 5.2rem;
  left: 15.96rem;
}

.c10 {
  top: 5.56rem;
  left: 31.29rem;
}

.c11 {
  top: 4.79rem;
  left: 34.84rem;
}

.c12 {
  top: 1.64rem;
  left: 43.47rem;
}

.c13 {
  top: 2.4rem;
  left: 9.75rem;
}

.c14 {
  bottom: 0.3rem;
  right: 2rem;
}

.c15 {
  top: 6rem;
  left: 7.93rem;
}

.c16 {
  top: 5.8rem;
  left: 18.07rem;
}

.c17 {
  top: 5.11rem;
  left: 25.06rem;
}

.c18 {
  top: 5.92rem;
  left: 43.02rem;
}

.c19 {
  top: 6.04rem;
  right: 16.06rem;
}

.fixed-win {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.fixed-win .i-close-draw {
  width: 1.02rem;
  position: absolute;
  top: -0.1rem;
  right: -0.1rem;
  z-index: 10;
  cursor: pointer;
}

.fixed-win .i-close {
  width: 0.8rem;
  position: absolute;
  top: 0.25rem;
  right: 0;
  cursor: pointer;
}

.main-win {
  z-index: 1000;
}

.main-win .main-win-con {
  background: url(../img/bg-alert.png?v=1.0.3) center/6rem 3.48rem no-repeat;
  width: 6rem;
  height: 3.48rem;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1.74rem;
  margin-left: -3rem;
  font-size: 0.3rem;
  line-height: 1.6;
  text-indent: 2em;
  color: #a13d0f;
  padding: 0.65rem 0.5rem;
  box-sizing: border-box;
}

.main-win .main-win-con p {
  font-family: subFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}

.bg_2_1 {
  width: 100%;
  bottom: 0;
}

.bg-3 {
  width: 38.35rem;
  height: 6.99rem;
  background: url(../img/bg_3_1.jpg?v=1.0.3) center no-repeat;
  background-size: cover;
  margin-top: 0.25rem;
}

.bg-3-3 {
  width: 100%;
  bottom: 0;
}

.bg-3-2,
.bg-3-4 {
  width: 100%;
  bottom: 0;
}

.bg-4 {
  width: 63.09rem;
  height: 6.99rem;
  background: url(../img/bg_4_1.png?v=1.0.3) center no-repeat;
  background-size: cover;
  margin-top: 0.25rem;
}

.bg-4-3 {
  width: 100%;
  bottom: 0;
}

.bg-4-2,
.bg-4-4 {
  width: 100%;
  bottom: 0;
}

.bg-5 {
  width: 51.91rem;
  height: 6.99rem;
  background: url(../img/bg_5_1.png) center no-repeat;
  background-size: cover;
  margin-top: 0.25rem;
}

.bg-5-3 {
  width: 100%;
  bottom: 0;
}

.bg-5-2,
.bg-5-4 {
  width: 100%;
  bottom: 0;
}

.bg-6 {
  width: 71.84rem;
  height: 6.99rem;
  background: url(../img/bg_6_1.jpg) center no-repeat;
  background-size: cover;
  margin-top: 0.25rem;
}

.bg-6-3 {
  width: 100%;
  bottom: 0;
}

.bg-6-2,
.bg-6-4 {
  width: 100%;
  bottom: 0;
}

.screen-bg {
  position: relative;
  height: 6.99rem;
  top: 50%;
  margin-top: -3.5rem;
}

.screen-prospect {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -3.5rem;
  height: 6.99rem;
}

.draw-win {
  z-index: 1001;
  background: url(../img/toast_bg.png) center/cover no-repeat;
}

.draw-win .draw-win-con {
  width: 7.05rem;
  height: 6.68rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3.34rem;
  margin-left: -3.525rem;
}

.rule-win {
  z-index: 1001;
  background: url(../img/toast_bg.png) center/cover no-repeat;
}

.rule-win .rule-win-con {
  width: 8.73rem;
  height: 6.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3.125rem;
  margin-left: -4.365rem;
}

.rule-win .rule-img {
  display: block;
  width: 100%;
}

.poster-win {
  z-index: 1001;
  background: url(../img/toast_bg.png) center/cover no-repeat;
}

.poster-win .poster-win-con {
  width: 6.7rem;
  height: 7.14rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3.57rem;
  margin-left: -3.35rem;
}

.poster-win .poster-tip {
  position: absolute;
  z-index: 4;
  right: 0.5rem;
  bottom: 0;
  width: 0.52rem;
  font-size: 0.24rem;
  line-height: 0.3rem;
  color: #fff;
  font-weight: bold;
}

.poster-win .i-close-draw {
  right: -0.4rem;
}

.poster-swiper {
  position: relative;
  width: 100%;
  height: 7.14rem;
  overflow: hidden;
  touch-action: pan-y;
}

.poster-swiper .swiper-slide {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) scale(0.8);
  transition: transform 0.4s ease, opacity 0.4s ease, filter 0.4s ease;
}

.poster-swiper .swiper-slide img {
  height: 7.14rem;
  display: block;
}

.poster-swiper .swiper-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 3;
}

.poster-swiper .swiper-slide.prev, .poster-swiper .swiper-slide.next {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  filter: brightness(0.55);
  cursor: pointer;
}

.poster-swiper.dragging .swiper-slide {
  transition: none;
}

.poster-swiper .swiper-button-prev {
  position: absolute;
  left: 0;
  top: 3.07rem;
  z-index: 5;
  width: 0.4rem;
  height: 0.99rem;
  background: url(../img/prev.png) center/100% 100% no-repeat;
  cursor: pointer;
}

.poster-swiper .swiper-button-next {
  position: absolute;
  right: 0;
  top: 3.07rem;
  z-index: 5;
  width: 0.4rem;
  height: 0.99rem;
  background: url(../img/next.png) center/100% 100% no-repeat;
  cursor: pointer;
}

.record-win {
  z-index: 1001;
  background: url(../img/toast_bg.png) center/cover no-repeat;
}

.record-win .record-win-con {
  width: 11.79rem;
  height: 6.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3.1rem;
  margin-left: -5.845rem;
}

.record-win .record-img {
  display: block;
  width: 100%;
}

.record-win .record-list {
  position: absolute;
  right: 1.25rem;
  top: 2.9rem;
  width: 2.4rem;
  font-size: 0.24rem;
  color: #a5371a;
  line-height: 0.36rem;
}

.record-win .record-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.record-win .record-list .no-record {
  justify-content: center;
}

.win-win {
  z-index: 1001;
  background: url(../img/toast_bg.png) center/cover no-repeat;
}

.win-win .win-win-con {
  width: 8.73rem;
  height: 6.18rem;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3.3rem;
  margin-left: -4.365rem;
  background: url(../img/draw_prize.png) center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.win-win .prize-title {
  position: absolute;
  top: 0.2rem;
  left: 2.52rem;
  width: 3.73rem;
  display: none;
}

.win-win .prize-tips {
  position: absolute;
  bottom: -0.41rem;
  left: 0;
  text-align: center;
  font-size: 0.35rem;
  color: #f4d365;
  width: 100%;
  line-height: 1;
  display: none;
}

.win-win .prize-101 {
  width: 5.22rem;
}

.win-win .prize-200 {
  width: 3.09rem;
}

.win-win .prize-102 {
  width: 4.54rem;
}

.win-win .prize-103 {
  width: 6.3rem;
}

.draw-circle {
  width: 7.05rem;
  height: 6.68rem;
  background: url(../img/draw-circle.png) center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.draw-box {
  width: 5.04rem;
  height: 5.04rem;
  margin-top: 0.76rem;
  margin-left: 0.96rem;
  position: relative;
}

.draw-btn {
  width: 1.78rem;
  position: absolute;
  top: 1.44rem;
  left: 50%;
  margin-left: -0.89rem;
  cursor: pointer;
  transition: transform 4s cubic-bezier(0.17, 0.67, 0.12, 0.99);
  will-change: transform;
}

.draw-btn.spinning {
  pointer-events: none;
}

.show {
  display: block;
}

.hide {
  display: none;
}

.hidden {
  overflow: hidden;
}

/* 封面阶段（点击 begin 前）锁定页面滚动 */
html.no-scroll,
body.no-scroll {
  overflow: hidden;
}

@media screen and (orientation: landscape) {
  body {
    overflow-y: hidden;
    overflow-x: auto;
    height: 100vh;
    line-height: 100vh;
  }
  .main-box {
    display: inline-block;
    vertical-align: middle;
  }
}

@media screen and (orientation: portrait) {
  body {
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
  }
  .main-box {
    transform: rotate(90deg);
    width: 100vh;
    height: 100vw;
    position: relative;
    left: 50%;
    top: 50%;
    margin-left: -50vh;
    margin-top: -50vw;
  }
  .fixed-win {
    transform: rotate(90deg);
    width: 100vh;
    height: 100vw;
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    margin-left: -50vh;
    margin-top: -50vw;
  }
  .gx-toast {
    transform: translate(-50%, -50%) rotate(90deg) !important;
  }
}
