 :root {
    --skeleton-bg: #0e131b;/* --color-globalBg */
    --skeleton-content-bg: #111923; /* --background-colorDark */
    --skeleton-loading-bg: 17, 25, 35; /* --background-colorDark */
    --theme-color-line-hex: 22, 31, 44; /* --design-block-bg */
    --skeleton-content-line: #111923; /* --background-colorDark */
    --skeleton-line: #161f2c; /* --design-block-bg */
    --skeleton-padding: calc((14 / 375) * 100vw);

    /* ===== 加载文字 / 进度条 配色 =====
       全部取自 src/styles/theme.less 的主题色，换肤时按下面对应关系替换即可：
       --loader-text-dim   暗色端，取「突出背景」 --background-colorLight (#343a45)
       --loader-text-mid   中间高光，取「一级文案」 --color-textlv1     (#93acd3)
       --loader-text-bright 亮色端，取「表单分栏」  --design-table-header (#233856) 的提亮值
       --loader-accent     辉光/进度条强调色，取「选中描边」--desgin-agent-referral 的实色 (#1d5291)
       --loader-accent-rgb 同上，rgb 形式，用于 rgba() 辉光 */
    --loader-text-dim: #343a45;       /* --background-colorLight 突出背景 */
    --loader-text-mid: #93acd3;       /* --color-textlv1 一级文案（冷蓝高光）*/
    --loader-text-bright: #c5d6ef;    /* 由 --color-textlv1 提亮，作为流光最亮点 */
    --loader-accent: #1d5291;         /* --desgin-agent-referral 选中描边蓝 */
    --loader-accent-rgb: 29, 82, 145; /* 同上，rgba 辉光用 */
      }
      .skeleton-screen-main {
        &.loading-logo-skeleton {
          padding: 0;
          width: 100%;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center;
          .loader-center {
            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-align: center;
                -ms-flex-align: center;
                    align-items: center;
            gap: 20px;
          }

          .loader-domain {
            font-family: 'Orbitron', 'Exo 2', 'Rajdhani', system-ui, sans-serif;
            font-size: clamp(22px, 6vw, 52px);
            font-weight: 700;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            line-height: 1.3;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-animation: glowPulse 2.4s ease-in-out infinite;
                    animation: glowPulse 2.4s ease-in-out infinite;
          }

          .loader-domain span {
            display: inline-block;
            opacity: 0;
            /* 冷色金属流光：暗(突出背景) → 亮(一级文案提亮) → 中(一级文案) */
            background-image: -webkit-gradient(linear, left top, right top, from(var(--loader-text-dim)), color-stop(0.5, var(--loader-text-bright)), to(var(--loader-text-mid)));
            background-image: linear-gradient(100deg, var(--loader-text-dim) 0%, var(--loader-text-bright) 50%, var(--loader-text-mid) 100%);
            background-size: 220% 100%;
            -webkit-background-clip: text;
                    background-clip: text;
            /* 文字纯色兜底见文件下方嵌套块外的规则 + @supports，避免老内核丢失整段嵌套样式后文字不可见 */
            color: var(--loader-text-mid);
            -webkit-animation: letterDrop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
                               gradientFlow 3s ease-in-out infinite;
                    animation: letterDrop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
                               gradientFlow 3s ease-in-out infinite;
          }

          .loader-bar {
            width: min(280px, 72vw);
            height: 3px;
            background: rgba(var(--loader-accent-rgb), 0.16);
            border-radius: 4px;
            position: relative;
            overflow: hidden;
            -webkit-box-shadow: 0 0 8px rgba(var(--loader-accent-rgb), 0.18);
                    box-shadow: 0 0 8px rgba(var(--loader-accent-rgb), 0.18);
          }

          .loader-bar-inner {
            position: absolute;
            top: 0;
            left: -45%;
            width: 45%;
            height: 100%;
            /* 进度条流光：选中描边蓝 → 一级文案高光 → 选中描边蓝 */
            background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(0.5, var(--loader-text-mid)), to(transparent));
            background: linear-gradient(90deg, transparent, var(--loader-accent) 35%, var(--loader-text-mid) 50%, var(--loader-accent) 65%, transparent);
            border-radius: 4px;
            -webkit-box-shadow: 0 0 10px rgba(var(--loader-accent-rgb), 0.85);
                    box-shadow: 0 0 10px rgba(var(--loader-accent-rgb), 0.85);
            -webkit-animation: barSweep 1.6s ease-in-out infinite;
                    animation: barSweep 1.6s ease-in-out infinite;
          }
        }
      }

      /* 文字渐变兜底：
         - 上面 span 默认是纯色 var(--loader-text-mid)，老内核（不支持 background-clip:text
           或不支持原生 CSS 嵌套）直接显示纯色，文字始终可见；
         - 仅当浏览器确认支持 background-clip:text 时，才把文字镂空成透明、露出流光渐变。
         用完整选择器写在嵌套块外，确保不支持嵌套的内核也能读到这条兜底。 */
      @supports ((-webkit-background-clip: text) or (background-clip: text)) {
        .skeleton-screen-main.loading-logo-skeleton .loader-domain span {
          color: transparent;
          -webkit-text-fill-color: transparent;
        }
      }

      .skeleton-screen-main {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: var(--skeleton-bg);
        z-index:10000;
      }
      .skeleton-screen-main.loading-logo-skeleton {
        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;
        padding: 0;
      }
      .skeleton-mobile {
        display: none;
      }
      .skeleton-mobile .skeleton-head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        height: calc((47 / 375) * 100vw);
        border-bottom: 1px solid var(--skeleton-line);
      }
      .skeleton-mobile .circle {
        width: calc((20 / 375) * 100vw);
        height: calc((20 / 375) * 100vw);
        border-radius: 50%;
      }
      .skeleton-mobile .search {
        width: calc((125 / 375) * 100vw);
        height: calc((20 / 375) * 100vw);
        border: 1px solid var(--skeleton-content-line);
        border-radius: calc((29 / 375) * 100vw);
      }
      .skeleton-mobile .rectangle {
        width: calc((45 / 375) * 100vw);
        height: calc((20 / 375) * 100vw);
        border-radius: 5px;
      }
      .skeleton-mobile .skeleton-padding {
        padding: var(--skeleton-padding);
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
      }
      .skeleton-mobile .skeleton-padding .banner {
        width: 100%;
        height: calc((111 / 375) * 100vw);
        border-radius: calc((5 / 375) * 100vw);
      }
      .skeleton-mobile .skeleton-padding .notice {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: calc((14 / 375) * 100vw);
      }
      .skeleton-mobile .longStrip {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: calc((11 / 375) * 100vw);
        border-radius: calc((25 / 375) * 100vw);
        margin-left: calc((6 / 375) * 100vw);
      }
      .skeleton-mobile .menu {
        margin-top: calc((14 / 375) * 100vw);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -ms-flex-pack: distribute;
            justify-content: space-around;
      }
      .skeleton-mobile .square {
        width: calc((71 / 375) * 100vw);
        height: calc((49 / 375) * 100vw);
        border-radius: calc((5 / 375) * 100vw);
      }
      .skeleton-mobile .square-half {
        width: calc((36 / 375) * 100vw);
        height: calc((49 / 375) * 100vw);
        border-radius: calc((4 / 375) * 100vw) 0px 0px calc((4 / 375) * 100vw);
      }
      .skeleton-mobile .back {
        width: calc((50 / 375) * 100vw);
        height: calc((20 / 375) * 100vw);
        border: 1px solid var(--skeleton-content-line);
        border-radius: calc((29 / 375) * 100vw);
      }
      .skeleton-mobile .keyword {
        margin-top: calc((14 / 375) * 100vw);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
      }
      .skeleton-mobile .circle-rectangle1 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
      }
      .skeleton-mobile .rectangle1 {
        width: calc((59 / 375) * 100vw);
        height: calc((11 / 375) * 100vw);
        border-radius: calc((5 / 375) * 100vw);
        margin-left: calc((6 / 375) * 100vw);
      }
      .skeleton-mobile .rectangle2 {
        width: calc((35 / 375) * 100vw);
        height: calc((11 / 375) * 100vw);
        border-radius: calc((15 / 375) * 100vw);
      }
      .skeleton-mobile .game-list {
        margin-top: calc((14 / 375) * 100vw);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-column-gap: calc((12 / 375) * 100vw);
        grid-row-gap: calc((12 / 375) * 100vw);
      }
      .skeleton-mobile .game-list div {
        width: 100%;
        height: calc((124 / 375) * 100vw);
        border-radius: calc((5 / 375) * 100vw);
      }
      .skeleton-pc {
        display: none;
        padding-top: 80px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
      }
      .skeleton-pc .navigation {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        background-color: var(--skeleton-bg);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 64px;
        padding: 0px 10px 0px 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        z-index: 1;
      }
      .skeleton-pc .logo {
        width: 167px;
        height: 31px;
        border-radius: 10px;
      }
      .skeleton-pc .head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
      }
      .skeleton-pc .head .rectangle {
        width: 120px;
        height: 40px;
        border-radius: 10px;
        margin-right: 10px;
      }
      .skeleton-pc .sidebar {
        width: 200px;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        background-color: var(--skeleton-bg);
        z-index: 0;
        padding: 0 10px;
        padding-top: 80px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
      }
      .skeleton-pc .sidebar .fast-module {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-column-gap: 10px;
        grid-row-gap: 10px;
      }
      .skeleton-pc .sidebar .fast-module div {
        width: 100%;
        height: 56px;
        border-radius: 10px;
      }
      .skeleton-pc .sidebar .long-strip {
        margin-top: 10px;
        margin-bottom: 10px;
        width: 100%;
        height: 56px;
        border-radius: 10px;
      }
      .skeleton-pc .sidebar .lang {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 10px;
      }
      .skeleton-pc .sidebar .lang h1 {
        margin: 0;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        margin-right: 10px;
      }
      .skeleton-pc .sidebar .lang h2 {
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: 11px;
        border-radius: 25px;
      }
      .skeleton-pc .main-body {
        width: 1200px;
        margin: 0 auto;
      }
      .skeleton-pc .main-body .banner {
        padding: 20px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        height: 351px;
        border-radius: 20px;
        background-color: var(--skeleton-bg);
        position: relative;
      }
      .skeleton-pc .main-body .banner .tiling {
        height: 100%;
        border-radius: 20px;
      }
      .skeleton-pc .main-body .notice {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 10px;
        padding: 7px 20px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--skeleton-bg);
        border-radius: 10px;
      }
      .skeleton-pc .main-body .notice h1 {
        margin: 0;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        margin-right: 10px;
      }
      .skeleton-pc .main-body .notice h2 {
        margin: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        height: 11px;
        border-radius: 25px;
      }
      .skeleton-pc .main-body .menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-top: 10px;
        padding: 12px 20px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--skeleton-bg);
        border-radius: 10px;
      }
      .skeleton-pc .main-body .menu div {
        width: 90px;
        height: 52px;
        border-radius: 10px;
        margin-right: 16px;
      }
      .skeleton-pc .main-body .game-list {
        margin-top: 10px;
        padding: 20px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background-color: var(--skeleton-bg);
        border-radius: 10px;
      }
      .skeleton-pc .main-body .game-list .screening {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
      }
      .skeleton-pc .main-body .game-list .screening h1 {
        margin: 0;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        margin-right: 10px;
      }
      .skeleton-pc .main-body .game-list .screening h2 {
        margin: 0;
        width: 76px;
        height: 11px;
        border-radius: 25px;
      }
      .skeleton-pc .main-body .game-list .list {
        margin-top: 10px;
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        grid-column-gap: 20px;
        grid-row-gap: 20px;
      }
      .skeleton-pc .main-body .game-list .list div {
        width: 100%;
        height: 245px;
        border-radius: 20px;
      }
      .skeleton-screen-main .base-loading-animation {
        -webkit-animation: bganimation 1.2s infinite;
                animation: bganimation 1.2s infinite;
        background-image: -webkit-gradient(
          linear,
          left top, right top,
          from(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(rgba(var(--theme-color-line-hex), 0.2)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          to(var(--skeleton-content-bg))
        );
        background-image: linear-gradient(
          90deg,
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          rgba(var(--theme-color-line-hex), 0.2),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg)
        );
        background-size: 400%;
      }
      .skeleton-screen-main .base-loading-animation1 {
        -webkit-animation: bganimation 0.9s infinite;
                animation: bganimation 0.9s infinite;
        background-image: -webkit-gradient(
          linear,
          left top, right top,
          from(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(rgba(var(--theme-color-line-hex), 0.2)),
          color-stop(var(--skeleton-content-bg)),
          color-stop(var(--skeleton-content-bg)),
          to(var(--skeleton-content-bg))
        );
        background-image: linear-gradient(
          90deg,
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          rgba(var(--theme-color-line-hex), 0.2),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg),
          var(--skeleton-content-bg)
        );
        background-size: 400%;
      }

      @-webkit-keyframes bganimation {
        0% {
          background-position: 100% 50%;
        }

        to {
          background-position: 0 50%;
        }
      }
      @keyframes bganimation {
        0% {
          background-position: 100% 50%;
        }

        to {
          background-position: 0 50%;
        }
      }

      @-webkit-keyframes animateIcon4 {
        0% {
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.4)  96.54%, rgba(var(--skeleton-loading-bg),0.8) 16.45%);
        }

        50% {
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.1)  100%, rgba(var(--skeleton-loading-bg),0.8) 0);
        }
        
        100% {
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.4)  96.54%, rgba(var(--skeleton-loading-bg),0.8) 16.45%);
        }
      }
      @keyframes animateIcon4 {
        0% {
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.4)  96.54%, rgba(var(--skeleton-loading-bg),0.8) 16.45%);
        }

        50% {
          /* background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.4)  100%, rgba(var(--skeleton-loading-bg),0.8) 0); */
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.1)  100%, rgba(var(--skeleton-loading-bg),0.8) 0);
        }
      
        100% {
          background: linear-gradient(187deg, rgba(var(--skeleton-loading-bg),0.4)  96.54%, rgba(var(--skeleton-loading-bg),0.8) 16.45%);
        }
      }

      @-webkit-keyframes letterDrop {
        0%   { opacity: 0; -webkit-transform: translateY(-24px) scale(0.8); transform: translateY(-24px) scale(0.8); }
        60%  { opacity: 1; -webkit-transform: translateY(6px) scale(1.08); transform: translateY(6px) scale(1.08); }
        80%  { -webkit-transform: translateY(-3px) scale(0.97); transform: translateY(-3px) scale(0.97); }
        100% { opacity: 1; -webkit-transform: translateY(0) scale(1); transform: translateY(0) scale(1); }
      }
      @keyframes letterDrop {
        0%   { opacity: 0; transform: translateY(-24px) scale(0.8); }
        60%  { opacity: 1; transform: translateY(6px) scale(1.08); }
        80%  { transform: translateY(-3px) scale(0.97); }
        100% { opacity: 1; transform: translateY(0) scale(1); }
      }

      /* 辉光颜色取自 --desgin-agent-referral 选中描边蓝 (29,82,145) */
      @-webkit-keyframes glowPulse {
        0%, 100% { -webkit-filter: drop-shadow(0 0 4px rgba(29,82,145,0.45)) drop-shadow(0 0 10px rgba(147,172,211,0.2)); filter: drop-shadow(0 0 4px rgba(29,82,145,0.45)) drop-shadow(0 0 10px rgba(147,172,211,0.2)); }
        50%      { -webkit-filter: drop-shadow(0 0 9px rgba(29,82,145,0.65)) drop-shadow(0 0 20px rgba(147,172,211,0.35)); filter: drop-shadow(0 0 9px rgba(29,82,145,0.65)) drop-shadow(0 0 20px rgba(147,172,211,0.35)); }
      }
      @keyframes glowPulse {
        0%, 100% { filter: drop-shadow(0 0 4px rgba(29,82,145,0.45)) drop-shadow(0 0 10px rgba(147,172,211,0.2)); }
        50%      { filter: drop-shadow(0 0 9px rgba(29,82,145,0.65)) drop-shadow(0 0 20px rgba(147,172,211,0.35)); }
      }

      @-webkit-keyframes gradientFlow {
        0%, 100% { background-position: 0% 50%; }
        50%      { background-position: 100% 50%; }
      }
      @keyframes gradientFlow {
        0%, 100% { background-position: 0% 50%; }
        50%      { background-position: 100% 50%; }
      }

      @-webkit-keyframes barSweep {
        0%   { left: -55%; }
        100% { left: 110%; }
      }
      @keyframes barSweep {
        0%   { left: -55%; }
        100% { left: 110%; }
      }

      @media screen and (max-width: 750px) {
        .skeleton-screen-main {
          background-color: var(--skeleton-bg);
        }
        .skeleton-mobile {
          display: block;
        }
      }
      @media screen and (min-width: 750px) {
        .skeleton-screen-main {
          background-color: var(--skeleton-content-bg);
          padding-left: 200px;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
        }
        .skeleton-pc {
          display: block;
        }
        .skeleton-screen-main.loading-logo-skeleton {
          padding-left: 0;
        }
      }