.shared-image-viewer {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4.5rem 1.25rem 1.5rem;
  color: #fff;
  background: rgba(2, 8, 18, 0.92);
  backdrop-filter: blur(0.5rem);
}

.shared-image-viewer-stage {
  width: 100%;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
}

.shared-image-viewer-canvas {
  display: grid;
  min-width: 100%;
  min-height: 100%;
  place-items: center;
}

.shared-image-viewer-stage img {
  display: block;
  max-width: min(92vw, 100%);
  max-height: calc(100vh - 8rem);
  object-fit: contain;
  transition: width 120ms ease, height 120ms ease;
  user-select: none;
}

.shared-image-viewer-toolbar {
  position: fixed;
  z-index: 1;
  top: 1rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0.875rem;
  background: rgba(10, 22, 39, 0.94);
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.35);
  transform: translateX(-50%);
}

.shared-image-viewer button {
  display: grid;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  color: #fff;
  background: #152b48;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}

.shared-image-viewer button:hover {
  background: #245284;
}

.shared-image-viewer output {
  min-width: 4.25rem;
  color: #dcecff;
  font-size: 0.875rem;
  text-align: center;
}

.shared-image-viewer-close {
  position: fixed;
  z-index: 2;
  top: 1rem;
  right: 1rem;
  font-size: 1.375rem !important;
}

@media (max-width: 640px) {
  .shared-image-viewer {
    padding: 4.25rem 0.75rem 1rem;
  }

  .shared-image-viewer-stage img {
    max-width: 96vw;
    max-height: calc(100vh - 7rem);
  }

  .shared-image-viewer-toolbar {
    left: 0.75rem;
    transform: none;
  }
}
:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#18324b;background:#f1f6fa;font-synthesis:none;--blue:#278bd9;--line:#dce8f1;--muted:#758ca1;--white:#fff}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 80% 0,#e2f5ff 0,transparent 35%),linear-gradient(180deg,#f8fbfd,#edf4f8)}button{font:inherit;cursor:pointer}[hidden]{display:none!important}.site-header{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 40px));height:86px;margin:0 auto}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand img{width:44px;height:44px}.brand span,.brand strong,.brand small{display:block}.brand strong{font-size:1.0625rem}.brand small{margin-top:3px;color:#8297a9;font-size:0.75rem;font-weight:800;letter-spacing:.14em}.live-state{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dbe9f2;border-radius:999px;color:#5d7890;background:rgba(255,255,255,.78);font-size:0.75rem}.live-state i{width:7px;height:7px;border-radius:50%;background:#31bd91;box-shadow:0 0 0 5px rgba(49,189,145,.12)}.live-state.offline i{background:#e06a76;box-shadow:0 0 0 5px rgba(224,106,118,.12)}main{width:min(1180px,calc(100% - 40px));margin:0 auto 50px}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;align-items:center;min-height:330px;overflow:hidden;padding:54px 62px;border-radius:30px;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(102,213,255,.42),transparent 35%),linear-gradient(135deg,#153c65,#166fa7);box-shadow:0 24px 56px rgba(34,91,134,.2)}.hero:after{position:absolute;right:-80px;bottom:-150px;width:390px;height:390px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:"";box-shadow:0 0 0 50px rgba(255,255,255,.035),0 0 0 100px rgba(255,255,255,.025)}.hero>div,.hero aside{position:relative;z-index:2}.hero>div>span,.section-head small,.latest-card header small,.history-card header small{color:#62baf2;font-size:0.75rem;font-weight:900;letter-spacing:.18em}.hero>div>span{color:#92dcff}.hero h1{margin:12px 0 15px;font-size:2.8125rem;line-height:1.12;letter-spacing:-.045em}.hero p{max-width:590px;margin:0;color:#c7e0f1;font-size:0.8125rem;line-height:1.8}.hero aside{padding:27px;border:1px solid rgba(255,255,255,.2);border-radius:23px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}.hero aside small,.hero aside strong,.hero aside>span{display:block}.hero aside small{color:#a9dbf7;font-size:0.75rem}.hero aside strong{overflow:hidden;margin-top:7px;font-size:1.375rem;text-overflow:ellipsis;white-space:nowrap}.hero aside>span{margin-top:7px;color:#b8d8ec;font-size:0.75rem}.hero aside>div{display:flex;align-items:end;justify-content:space-between;margin-top:24px;padding-top:19px;border-top:1px solid rgba(255,255,255,.16)}.hero aside em{color:#b4d7ec;font-size:0.75rem;font-style:normal}.hero aside b{font-size:1.9375rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.game-section{margin-top:32px}.section-head{display:flex;align-items:end;justify-content:space-between;padding:0 4px}.section-head h2,.latest-card h2,.history-card h2{margin:5px 0 0;font-size:1.375rem}.section-head>span{padding:7px 10px;border-radius:999px;color:#398ac5;background:#e4f3fc;font-size:0.75rem}.game-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.game-button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:center;min-height:82px;padding:13px 15px;border:1px solid var(--line);border-radius:18px;color:#31536d;background:rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(53,91,121,.06);text-align:left;transition:.2s}.game-button:hover{transform:translateY(-2px);border-color:#9acff0}.game-button.active{border-color:#409fe2;background:linear-gradient(135deg,#f7fcff,#e8f7ff);box-shadow:0 12px 26px rgba(44,139,207,.14)}.game-button strong,.game-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-button strong{font-size:0.8125rem}.game-button small{margin-top:5px;color:#8ba0b1;font-size:0.75rem}.game-button>span{color:#3f96d4;font-size:1.125rem}.latest-card,.history-card{margin-top:18px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 31px rgba(49,89,119,.07)}.latest-card{padding:25px 28px}.latest-card>header,.latest-card>footer,.history-card>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.latest-card header>span{padding:8px 11px;border-radius:999px;color:#347eae;background:#edf7fc;font-size:0.75rem}.result-balls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:92px;margin:22px 0;padding:19px;border-radius:19px;background:#f3f8fb}.result-balls>span{align-self:center;color:#879caf;font-size:0.75rem}.result-ball{display:grid;width:48px;height:48px;place-items:center;border:4px solid #fff;border-radius:50%;color:#fff;background:#338fd1;box-shadow:0 6px 14px rgba(40,106,154,.18);font-size:1rem;font-style:normal;font-weight:900}.result-ball:nth-child(5n+2){background:#32aa8c}.result-ball:nth-child(5n+3){background:#dc6875}.result-ball:nth-child(5n+4){background:#8a69d3}.result-ball:nth-child(5n){background:#df9d2d}.latest-card>footer{color:#52718a}.latest-card>footer strong{font-size:0.8125rem}.latest-card>footer time{color:#8ca0b1;font-size:0.75rem}.history-card{overflow:hidden}.history-card>header{padding:22px 26px;border-bottom:1px solid #e4edf3}.history-card>header button{height:38px;padding:0 14px;border:1px solid #d5e5ef;border-radius:11px;color:#3e86b8;background:#f5fbfe;font-size:0.75rem}.history-labels,.history-row{display:grid;grid-template-columns:180px minmax(280px,1fr) 250px;gap:20px;align-items:center}.history-labels{padding:11px 26px;color:#91a2b1;background:#f8fbfd;font-size:0.75rem}.history-list{display:grid;padding:0 26px 10px}.history-row{min-height:74px;border-bottom:1px solid #e7eef3}.history-row:last-child{border-bottom:0}.history-row strong,.history-row small{display:block}.history-row strong{font-size:0.75rem}.history-row small{margin-top:5px;color:#8ca0b1;font-size:0.75rem}.history-row>div:nth-child(2){display:flex;flex-wrap:wrap;gap:5px}.history-row i{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:#398fc9;font-size:0.75rem;font-style:normal;font-weight:800}.history-row>span{color:#59768c;font-size:0.75rem}.empty{display:grid;min-height:100px;place-items:center;color:#8b9eae;font-size:0.75rem}.site-footer{display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:26px 4px 38px;border-top:1px solid #dce7ee;color:#8498a8}.site-footer>div{display:flex;align-items:center;gap:10px}.site-footer img{width:35px;height:35px}.site-footer strong,.site-footer small{display:block}.site-footer strong{color:#46667e;font-size:0.75rem}.site-footer small{margin-top:3px;font-size:0.75rem}.site-footer p{margin:0;font-size:0.75rem}.toasts{position:fixed;z-index:50;top:20px;right:20px;display:grid;gap:9px}.toast{max-width:330px;padding:13px 16px;border:1px solid #f0cbd0;border-radius:13px;color:#b84f5b;background:#fff5f6;box-shadow:0 12px 28px rgba(94,47,54,.14);font-size:0.75rem}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding:42px}.hero aside{max-width:430px}.game-list{grid-template-columns:repeat(2,1fr)}.history-labels,.history-row{grid-template-columns:150px minmax(220px,1fr) 190px}}
@media(max-width:620px){.site-header,main,.site-footer{width:calc(100% - 24px)}.site-header{height:72px}.brand img{width:38px;height:38px}.live-state span{display:none}.hero{min-height:auto;padding:31px 22px;border-radius:22px}.hero h1{font-size:2rem}.hero p{font-size:0.75rem}.hero aside{padding:20px}.game-section{margin-top:25px}.game-list{grid-template-columns:1fr}.game-button{min-height:72px}.latest-card{padding:20px 15px}.latest-card h2,.history-card h2,.section-head h2{font-size:1.1875rem}.result-balls{gap:7px;margin-block:17px;padding:13px 7px}.result-ball{width:38px;height:38px;border-width:2px;font-size:0.8125rem}.latest-card>footer{align-items:flex-start;flex-direction:column;gap:7px}.history-card>header{padding:18px 15px}.history-labels{display:none}.history-list{padding:0 15px 8px}.history-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 0}.history-row>div:nth-child(2){grid-row:2;grid-column:1/-1}.history-row>span{grid-row:1;grid-column:2;text-align:right}.site-footer{align-items:flex-start;flex-direction:column;gap:15px}.toasts{right:12px;left:12px}.toast{max-width:none}}

/* 手机端游戏入口保持单行横向滑动，并露出下一张卡片提示还有更多内容。 */
@media(max-width:620px){
  .game-list{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 18vw 10px 0;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .game-list>.game-button{width:min(74vw,280px);min-width:min(74vw,280px);flex:0 0 min(74vw,280px);scroll-snap-align:start}
.game-list>.empty{min-width:100%}
}

.history-result{display:flex;flex-wrap:wrap;gap:6px}
.history-result b{display:inline-grid;min-height:28px;padding:4px 9px;place-items:center;border:1px solid #cfe3f1;border-radius:999px;color:#39749e;background:#edf7fd;font-size:.75rem;line-height:1.2}
.history-result b:nth-child(3n+2){border-color:#cce9df;color:#287d68;background:#eefaf6}
.history-result b:nth-child(3n){border-color:#ead7df;color:#a2576b;background:#fff3f6}
@media(max-width:620px){.history-result{grid-row:1;grid-column:2;justify-content:flex-end}.history-result b{min-height:25px;padding:3px 7px}}
.latest-card.manual{border-color:#9fdcca;background:#f7fffc}.latest-card.invalid{border-color:#f0bdc4;background:#fff8f9}.history-row.manual{background:#f3fcf9}.history-row.manual small{color:#198e70}.history-row.invalid{background:#fff3f5}.history-row.invalid small,.history-row.invalid>span{color:#ce5261}

/* 平台可配置的站点图片按实际区域拉伸显示，不使用裁切。 */
.brand img{object-fit:fill!important;object-position:center!important}

/* 全局轻提示始终高于其余页面层。 */
.toasts{z-index:2147483647}

/* 公开开奖页的大横幅直接展示平台上传的顶栏图，右侧开奖信息保持可读。 */
main{padding-top:26px}.hero{isolation:isolate}.hero-banner{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .18s ease}.hero-banner.ready{opacity:1}.hero.has-banner:before{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(9,34,59,.02) 0,rgba(9,34,59,.04) 48%,rgba(9,34,59,.3) 75%,rgba(9,34,59,.46) 100%);content:""}.hero aside{grid-column:2}
@media(max-width:850px){.hero aside{grid-column:1;justify-self:end;width:min(430px,100%)}.hero.has-banner{padding-top:180px}.hero.has-banner:before{background:linear-gradient(180deg,rgba(9,34,59,.02) 0,rgba(9,34,59,.08) 38%,rgba(9,34,59,.48) 100%)}}
@media(max-width:620px){main{padding-top:12px}.hero.has-banner{padding-top:150px}}

/* 最新一期与倒计时共用顶栏图片信息卡，避免页面下方重复占用整张结果卡。 */
.hero{grid-template-columns:minmax(0,1fr) 390px}
.hero aside{padding:20px 22px}
.hero aside>.hero-latest{display:grid;gap:9px;margin-top:15px;padding:13px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.hero-latest>span{color:#c9e4f5;font-size:.75rem}
.hero-result-balls{display:flex;flex-wrap:wrap;min-height:30px;align-items:center;gap:6px}
.hero-result-balls .result-ball{flex:0 0 auto;width:30px;height:30px;border-width:2px;font-size:.75rem;box-shadow:none}
.hero-result-balls>span{color:#c9e4f5;font-size:.75rem}
.hero-latest footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.hero-latest footer strong{overflow:hidden;color:#eaf6ff;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.hero-latest footer time{color:#add2e8;font-size:.75rem;white-space:nowrap}
.hero aside>.hero-countdown-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"next countdown" "label countdown";gap:3px 12px;align-items:center;margin-top:13px;padding-top:0;border-top:0}
.hero-countdown-row>span{grid-area:next;color:#c8e1f1;font-size:.75rem}
.hero-countdown-row>em{grid-area:label}
.hero-countdown-row>b{grid-area:countdown;white-space:nowrap}
.hero-countdown-row>b.drawing{color:#ffd18b;font-size:1.3125rem;letter-spacing:.02em}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero aside{width:min(470px,100%)}}
@media(max-width:620px){.hero aside{padding:17px}.hero-result-balls{flex-wrap:wrap;overflow:visible}.hero-latest footer{grid-template-columns:1fr}.hero-latest footer time{display:none}}

/* 横幅保持基础高度，开奖卡参与网格布局，内容增高时自然撑开容器。 */
@media(min-width:851px){
  .hero{min-height:330px;padding-block:24px}
}
@media(max-width:850px){
  .hero-banner{object-fit:cover;object-position:right center}
}
/*$vite$:1*/