<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="apple-mobile-web-app-capable" content="no">
<style>
.kk-first-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #272d3b;
  z-index: 99999;
  transition: opacity 0.35s ease;
}
.kk-first-loading.kk-hide {
  opacity: 0;
  pointer-events: none;
}
.kk-first-loading .kk-spinner4 {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 0;
}
.kk-first-loading .kk-spinner4 .dot {
  width: 0.24rem;
  height: 0.24rem;
  border-radius: 100%;
  display: inline-block;
  animation: kk-slide 1s infinite;
}
.kk-first-loading .kk-spinner4 .dot:nth-child(1) { animation-delay: 0.1s; background: #1678ff; }
.kk-first-loading .kk-spinner4 .dot:nth-child(2) { animation-delay: 0.2s; background: #04be02; }
.kk-first-loading .kk-spinner4 .dot:nth-child(3) { animation-delay: 0.3s; background: #ea4e3d; }
.kk-first-loading .kk-spinner4 .dot:nth-child(4) { animation-delay: 0.4s; background: #ffaa09; }
.kk-first-loading .kk-spinner4 .dot:nth-child(5) { animation-delay: 0.5s; background: #e229ff; }
@keyframes kk-slide {
  0%   { transform: scale(1); }
  50%  { opacity: 0.3; transform: scale(2); }
  100% { transform: scale(1); }
}

/* 顶部加载进度条 */
.kk-top-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 100000;
  background: transparent;
  pointer-events: none;
  transition: opacity 0.3s ease 0.15s;
}
.kk-top-progress .kk-bar {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(90deg, #1678ff, #04be02, #ea4e3d, #ffaa09, #e229ff);
  box-shadow: 0 0 8px rgba(34, 41, 255, 0.5);
  animation: kk-progress 10s cubic-bezier(0.1, 0.6, 0.3, 1) forwards;
}
.kk-top-progress.kk-done .kk-bar {
  width: 100% !important;
  animation: none;
  transition: width 0.25s ease;
}
.kk-top-progress.kk-hide {
  opacity: 0;
}
@keyframes kk-progress {
  0%   { width: 0; }
  20%  { width: 35%; }
  50%  { width: 65%; }
  80%  { width: 85%; }
  100% { width: 92%; }
}
</style>
<link rel="stylesheet" href="/umi.ceab3bac.css">
<script src="/telegram-web-app.js?59"></script>
<script>
(function () {
  // 独立 try：隐私模式下 localStorage 可能直接抛错，
  // 不能让它连累下面的 Loading 渲染（那会变成整屏白屏）。
  try {
    var cachedTitle = localStorage.getItem('site-title');
    if (cachedTitle) document.title = cachedTitle;
  } catch (e) {}

  try {
    var docEl = document.documentElement;
    // 与 lib-flexible 保持一致的 rem 基准（设计稿 375，1rem=37.5px），
    // 让 .24rem 在业务 JS 加载前后表现一致。
    var w = docEl.clientWidth || window.innerWidth || 375;
    if (w > 540) w = 540;
    docEl.style.fontSize = w / 10 + 'px';

    var dots = '';
    for (var i = 0; i < 5; i++) dots += '<span class="dot"></span>';
    var wrap = document.createElement('div');
    wrap.innerHTML =
      '<div id="kk-top-progress" class="kk-top-progress"><span class="kk-bar"></span></div>' +
      '<div id="kk-first-loading" class="kk-first-loading"><div class="kk-spinner4">' + dots + '</div></div>';
    var host = document.body || docEl;
    while (wrap.firstChild) host.appendChild(wrap.firstChild);

    window.__hideFirstLoading = function () {
      var bar = document.getElementById('kk-top-progress');
      if (bar) {
        bar.className = 'kk-top-progress kk-done';
        setTimeout(function () { bar.className = 'kk-top-progress kk-done kk-hide'; }, 260);
        setTimeout(function () { if (bar.parentNode) bar.parentNode.removeChild(bar); }, 620);
      }
      var mask = document.getElementById('kk-first-loading');
      if (mask) {
        mask.className = 'kk-first-loading kk-hide';
        setTimeout(function () { if (mask.parentNode) mask.parentNode.removeChild(mask); }, 420);
      }
    };
  } catch (e) {}
})();
</script>
</head>
<body>
<div id="root"></div>
<script src="/umi.a0a9c80e.js"></script>
</body>
</html>