/* 柒柒游杯：参考活动海报的黑金星屑视觉；原定制服务源码继续保留。 */
#custom-service-float,
#custom-service-modal { display: none !important; }

.qqy-ranking {
  --rk-gold: #ffd367;
  --rk-text: #fff0ba;
  --rk-muted: #d4c69c;
  position: fixed;
  right: 22px;
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 60;
  color: var(--rk-text);
  font: 13px/1.5 "PingFang SC", "Microsoft YaHei", sans-serif;
  text-align: left;
  -webkit-tap-highlight-color: transparent;
}
.qqy-ranking *, .qqy-ranking *::before, .qqy-ranking *::after { box-sizing: border-box; }
.qqy-ranking [hidden] { display: none !important; }
.qqy-ranking ::selection { color: #171005; background: #ffda7c; }
.qqy-ranking button, .qqy-ranking a { -webkit-tap-highlight-color: transparent; }
.qqy-ranking button { font: inherit; cursor: pointer; }
.qqy-ranking button:focus-visible,
.qqy-ranking a:focus-visible { outline: 2px solid #fff0b0; outline-offset: 3px; }
.rk-launcher {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 178px;
  min-height: 60px;
  margin-left: auto;
  padding: 9px 12px;
  border: 0;
  border-radius: 7px;
  background: #ffd367;
  color: #1e1607;
  box-shadow: 0 7px 25px #0008;
  text-align: left;
}
.rk-launcher:hover { background: #ffe29b; }
.rk-launcher-icon { width: 34px; height: 38px; flex: 0 0 34px; }
.rk-launcher-icon svg { display: block; width: 100%; height: 100%; }
.rk-launcher strong { display: block; font-size: 16px; font-weight: 800; letter-spacing: 2px; white-space: nowrap; }
.rk-launcher small { display: block; margin-top: 1px; color: #533b11; font-size: 10px; white-space: nowrap; }
.rk-launcher-arrow { margin-left: auto; font-size: 17px; transition: transform .2s; }
.rk-launcher[aria-expanded="true"] .rk-launcher-arrow { transform: rotate(180deg); }
.rk-panel {
  position: absolute;
  right: 0;
  bottom: 74px;
  display: flex;
  flex-direction: column;
  width: 320px;
  height: 560px;
  max-height: calc(100vh - 126px);
  max-height: calc(100dvh - 126px);
  border: 1px solid #b68c3d;
  border-radius: 9px;
  background: #080808;
  box-shadow: 0 18px 60px #0009;
  overflow: hidden;
  animation: rk-arrive .24s ease-out;
}
.rk-header {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 49px;
  min-height: 49px;
  padding: 0 52px 0 15px;
  border-bottom: 1px solid #d5b77344;
  background: #11100d;
}
.rk-heading, .rk-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.rk-view-switch { display: flex; align-self: stretch; gap: 20px; }
.rk-view-button { position: relative; padding: 0 2px; border: 0; background: transparent; color: #c9bd9f; font-size: 12px !important; font-weight: 600 !important; }
.rk-view-button[aria-pressed="true"] { color: #ffe6a0; }
.rk-view-button[aria-pressed="true"]::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: #ffd367; }
.rk-view-button:hover { color: #fff0bd; }
.rk-view-button[data-view="ranking"] {
  --rk-live-fill: #30230e;
  isolation: isolate;
  align-self: center;
  height: 34px;
  padding: 0 12px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #ffe7a4;
  background: linear-gradient(var(--rk-live-fill), var(--rk-live-fill)) padding-box,
    linear-gradient(105deg, #9d762a, #ffeeb0, #e6b23c, #9d762a) border-box;
  background-size: 100% 100%, 250% 100%;
  animation: rk-live-border 4.6s linear infinite;
}
.rk-view-button[data-view="ranking"]::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -60% -35%;
  background: linear-gradient(110deg, transparent 35%, #fff2b966 50%, transparent 65%);
  pointer-events: none;
  animation: rk-live-sheen 4.6s cubic-bezier(.16, 1, .3, 1) infinite;
}
.rk-view-button[data-view="ranking"][aria-pressed="true"] { --rk-live-fill: #513810; color: #fff4ca; }
.rk-view-button[data-view="ranking"][aria-pressed="true"]::after { display: none; }
.rk-view-button[data-view="ranking"]:hover { --rk-live-fill: #483311; }
.rk-close { position: absolute; right: 3px; top: 2px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 5px; color: #f8dfa3; background: transparent; font-size: 25px !important; }
.rk-close:hover { background: #e9cc8d1a; }
.rk-scroll { min-height: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #bd9752 #0a0a08; }
.rk-scroll::-webkit-scrollbar { width: 6px; }
.rk-scroll::-webkit-scrollbar-track { background: #0a0a08; }
.rk-scroll::-webkit-scrollbar-thumb { border-radius: 4px; background: #bd9752; }

/* 活动首先完整展开，奖牌、金额和规则按海报顺序直接阅读。 */
.rk-event {
  min-height: 100%;
  padding: 9px 16px 24px;
  color: #fff2b9;
  background: #080808 url('leaderboard-stars.svg') center top / 100% auto repeat-y;
}
.rk-event-brand { margin: 0 0 10px; color: #f3e8b7; font-size: 22px; font-weight: 400; line-height: 1.25; text-align: right; letter-spacing: .5px; }
.rk-meta { display: grid; gap: 12px; }
.rk-meta section { min-width: 0; }
.rk-event .rk-poster-title { display: table; margin: 0 0 8px; padding-bottom: 8px; color: #fff0b1; font-size: 16px; font-weight: 800; line-height: 1.15; }
.rk-poster-title::after { content: ''; display: block; width: 90px; height: 6px; margin-top: 5px; margin-bottom: -8px; background: #ffdc7c; }
.rk-event p { margin: 0; }
.rk-meta p { color: #f8e8af; font-size: 11px; font-weight: 600; line-height: 1.6; }
.rk-meta .rk-event-period { font-size: 10px; font-variant-numeric: tabular-nums; }
.rk-awards { position: relative; margin-top: 16px; }
.rk-gold-art { position: absolute; top: 48px; right: -2px; width: 82px; height: auto; pointer-events: none; }
.rk-poster-prizes { position: relative; z-index: 1; display: grid; gap: 22px; list-style: none; margin: 12px 0 0; padding: 0; }
.rk-poster-prize { min-width: 0; }
.rk-award-badge { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 96px; height: 29px; padding: 0 7px 1px 4px; border: 2px solid #f5a315; border-radius: 6px; background: #ffdb35; color: #c63214; }
.rk-award-badge b { font-size: 24px; font-style: italic; font-weight: 900; line-height: 1; letter-spacing: -.7px; }
.rk-crown { flex: 0 0 22px; width: 22px; height: 21px; color: #f2a400; }
.rk-award-2 .rk-award-badge { border-color: #8fa2b2; background: #cfdeea; color: #52667a; }
.rk-award-2 .rk-crown { color: #8b9cae; }
.rk-award-3 .rk-award-badge { border-color: #ac672f; background: #e0ad76; color: #81421f; }
.rk-award-3 .rk-crown { color: #ab6333; }
.rk-event .rk-award-value { display: flex; align-items: center; gap: 5px; min-width: 0; margin-top: 5px; white-space: nowrap; line-height: 1.25; }
.rk-award-value strong { color: #080808; -webkit-text-stroke: 1px #fff1b8; paint-order: stroke fill; text-shadow: 1px 1px 0 #d59f2c; font-size: 32px; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: -1px; }
.rk-award-value span { color: #fff0b1; font-size: 19px; font-weight: 500; }
.rk-award-coin { width: 22px; height: 28px; margin-left: 3px; flex: 0 0 22px; transform: rotate(12deg); pointer-events: none; }
.rk-award-range { position: relative; z-index: 1; margin-top: 25px; }
.rk-range-badges { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rk-range-badges b { display: grid; place-items: center; width: 90px; height: 30px; border: 2px solid #76b7bc; border-radius: 6px; background: #bce8e4; color: #27768f; font-size: 25px; font-weight: 900; line-height: 1; }
.rk-range-badges svg { width: 45px; height: 23px; flex: 0 1 45px; color: #ffe09a; pointer-events: none; }
.rk-award-range .rk-award-value { gap: 4px; margin-top: 10px; }
.rk-award-range .rk-award-value span { font-size: 17px; }
.rk-award-range .rk-award-value strong { font-size: 29px; }
.rk-award-range .rk-award-coin { width: 22px; height: 28px; flex-basis: 22px; margin-left: auto; }
.rk-rules-section { margin-top: 32px; }
.rk-rules-section .rk-poster-title { font-size: 20px; margin-bottom: 18px; }
.rk-rules-section .rk-poster-title::after { width: 116px; height: 8px; }
.rk-rules { margin: 0; }
.rk-rules dt { display: flex; align-items: center; gap: 7px; margin-top: 15px; color: #ffae2d; font-size: 14px; font-weight: 800; line-height: 1.35; }
.rk-rules dt::before { content: ''; width: 5px; height: 5px; margin-left: 5px; flex: 0 0 5px; border-radius: 50%; background: #ffae2d; }
.rk-rules dt::after { content: ''; height: 1px; flex: 1; margin-left: 5px; background: #a7782e88; }
.rk-rules dd { margin: 5px 0 0; color: #f5e9b5; font-size: 12px; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.rk-registration { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 25px; }
.rk-registration-copy { flex: 1 1 0; min-width: 0; color: #fff0b1; }
.rk-registration-copy h3 { margin: 0 0 8px; font-size: 17px; font-weight: 800; letter-spacing: 1px; }
.rk-registration-copy p { font-size: 15px; font-weight: 700; line-height: 1.95; letter-spacing: 1px; }
.rk-registration a { display: block; width: 154px; max-width: 55%; flex: 0 0 154px; color: #f5e3ac; text-align: center; text-decoration: none; }
.rk-registration img { display: block; width: 100%; height: auto; background: #fff; }
.rk-registration a span { display: block; margin-top: 6px; font-size: 10px; }

/* 实时成绩独立切换，沿用实际排名与订单明细。 */
.rk-ranking-view { background: #090909 url('leaderboard-stars.svg') center top / 100% auto repeat-y; }
.rk-content { min-height: 0; padding-bottom: 15px; }
.rk-ranking-heading { margin: 0; padding: 18px 16px 5px; color: #ffe6a0; font-size: 19px; font-weight: 800; }
.rk-columns { display: flex; justify-content: space-between; padding: 12px 17px 6px 61px; color: #d4c8a6; font-size: 10px; }
.rk-list { list-style: none; margin: 0; padding: 0 10px 7px; }
.rk-row { position: relative; margin: 6px 0; overflow: hidden; border: 1px solid #c5ac6e33; border-radius: 4px; background: #12110f; }
.rk-person { position: relative; z-index: 1; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 64px; padding: 10px; border: 0; color: var(--rk-text); background: transparent; text-align: left; }
.rk-person:hover { background: #ffe3a00d; }
.rk-position { position: relative; display: grid; place-items: center; min-height: 34px; color: #d9c796; font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rk-medal { display: block; width: 34px; height: 38px; overflow: visible; }
.rk-medal text { font-family: "Microsoft YaHei", sans-serif; font-size: 13px; font-weight: 700; fill: currentColor; }
.rk-identity { min-width: 0; }
.rk-id { display: block; overflow: hidden; color: #fff0c2; font-size: 13px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.rk-caption { display: block; margin-top: 3px; color: #cfbf96; font-size: 10px; }
.rk-value { display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: #f3e1b8; white-space: nowrap; }
.rk-value strong { font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.3px; }
.rk-coin { width: 17px; height: 17px; object-fit: contain; flex-shrink: 0; }
.rk-tier-1 { --rk-tier: #ffdb7b; border-color: #d7a63e; background: #261e10; }
.rk-tier-2 { --rk-tier: #d7e1ec; border-color: #8794a1; background: #181b20; }
.rk-tier-3 { --rk-tier: #efb381; border-color: #a8754e; background: #211810; }
.rk-row[class*="rk-tier-"]::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 45%; background: linear-gradient(90deg, transparent, #fff2bb22, transparent); pointer-events: none; animation: rk-rank-sheen 6.4s cubic-bezier(.16, 1, .3, 1) infinite; }
.rk-tier-2::before { animation-delay: .8s !important; }
.rk-tier-3::before { animation-delay: 1.6s !important; }
.rk-tier-1 .rk-person { min-height: 77px; }
.rk-tier-2 .rk-person, .rk-tier-3 .rk-person { min-height: 69px; }
.rk-row[class*="rk-tier-"] .rk-position,
.rk-row[class*="rk-tier-"] .rk-value,
.rk-row[class*="rk-tier-"] .rk-caption { color: var(--rk-tier); }
.rk-tier-1 .rk-value strong { font-size: 23px; }
.rk-tier-2 .rk-value strong, .rk-tier-3 .rk-value strong { font-size: 20px; }
.rk-sparks { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.rk-sparks i { position: absolute; left: var(--x); bottom: 8px; width: 2px; height: 2px; border-radius: 50%; background: var(--rk-tier); opacity: .45; }
.rk-empty { padding: 35px 22px 45px; text-align: center; }
.rk-empty p { margin: 0; color: #f4d590; font-size: 15px; }
.rk-empty small { display: block; margin-top: 8px; color: #d4c6a5; font-size: 12px; }
.rk-footer { flex: 0 0 auto; border-top: 1px solid #c8a45c44; background: #11100d; }
.rk-sync { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 44px; padding: 0 5px 0 15px; }
.rk-status { display: flex; align-items: center; gap: 6px; min-width: 0; color: #d0c4a6; font-size: 10px; }
.rk-status::before { content: ''; flex: 0 0 5px; width: 5px; height: 5px; border-radius: 50%; background: #cdb478; }
.rk-status[data-state="live"]::before { background: #c3df8c; }
.rk-status[data-state="error"]::before { background: #ffac69; }
.rk-refresh { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 4px; background: transparent; color: #ebcf8e; font-size: 21px !important; }
.rk-refresh:hover { background: #e9cc8d1a; }
.rk-refresh:disabled { opacity: .45; cursor: default; }
.rk-refresh[aria-busy="true"] { animation: rk-refreshing 1.1s linear infinite; }
.rk-detail-back { display: flex; align-items: center; gap: 8px; min-height: 44px; margin: 6px 10px 0; padding: 0 8px; border: 0; background: transparent; color: #f0d190; }
.rk-boss { padding: 3px 20px 16px; border-bottom: 1px solid #ead29c33; }
.rk-boss h3 { margin: 0 0 7px; color: #fff0bd; font-size: 18px; overflow-wrap: anywhere; }
.rk-boss-total { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #dbcba7; font-size: 11px; }
.rk-boss-total .rk-value strong { font-size: 24px; color: #ffe09b; }
.rk-orders { list-style: none; margin: 0; padding: 5px 15px 13px; }
.rk-order { margin-top: 7px; padding: 12px 10px; border-bottom: 1px solid #d7c08c44; color: var(--rk-text); }
.rk-order-heading { margin: 0; color: #fff0c2; font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.rk-order-boosters { display: flex; align-items: baseline; gap: 9px; min-width: 0; margin: 7px 0 0; font-size: 12px; }
.rk-order-boosters span { flex: 0 0 auto; color: #d4c69c; font-size: 11px; }
.rk-order-boosters strong { min-width: 0; color: #f3e1b8; font-weight: 500; overflow-wrap: anywhere; }
.rk-order-meta { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 7px; color: #d2c4a5; font-size: 10px; }
.rk-order-meta .rk-value strong { font-size: 16px; }
.rk-order-meta .rk-coin { width: 15px; height: 15px; }
.rk-backdrop { display: none; }
@keyframes rk-arrive { from { transform: translateY(10px); } to { transform: translateY(0); } }
@keyframes rk-refreshing { to { transform: rotate(360deg); } }
@keyframes rk-live-border { from { background-position: 0 0, 0 50%; } to { background-position: 0 0, 250% 50%; } }
@keyframes rk-live-sheen { 0%, 55% { transform: translateX(-85%); } 85%, 100% { transform: translateX(85%); } }
@keyframes rk-rank-sheen { 0%, 58% { transform: translateX(-150%) skewX(-16deg); } 88%, 100% { transform: translateX(380%) skewX(-16deg); } }
@media (max-width: 600px) {
  .qqy-ranking { right: 14px; bottom: max(18px, env(safe-area-inset-bottom)); }
  .rk-launcher { width: 156px; min-height: 57px; gap: 9px; padding: 8px 11px 8px 9px; }
  .rk-launcher-icon { width: 32px; height: 36px; flex-basis: 32px; }
  .rk-launcher strong { font-size: 15px; }
  .rk-launcher small { font-size: 9px; }
  .rk-panel { width: min(320px, calc(100vw - 28px)); bottom: 71px; }
  .rk-backdrop { position: fixed; inset: 0; z-index: -1; display: block; background: #000a; }
  body.qqy-ranking-expanded { overflow: hidden; }
  body.qqy-ranking-expanded .support-entry,
  body.qqy-ranking-expanded .support-collapse { visibility: hidden; }
}
@media (max-width: 380px) {
  .rk-person { gap: 6px; padding-right: 8px; padding-left: 8px; }
  .rk-tier-1 .rk-value strong { font-size: 21px; }
}
@media (max-width: 350px) {
  .rk-award-range .rk-award-value { gap: 3px; }
  .rk-award-range .rk-award-value span { font-size: 17px; }
  .rk-award-range .rk-award-value strong { font-size: 29px; }
  .rk-award-range .rk-award-coin { width: 21px; flex-basis: 21px; }
  .rk-range-badges { gap: 7px; }
  .rk-range-badges b { width: 91px; }
  .rk-registration { flex-direction: column; gap: 16px; text-align: center; }
  .rk-registration-copy { flex-basis: auto; }
  .rk-registration-copy h3 { margin-bottom: 2px; font-size: 20px; letter-spacing: 3px; }
  .rk-registration-copy p { font-size: 15px; }
  .rk-registration a { width: 196px; max-width: 100%; flex-basis: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .qqy-ranking *, .qqy-ranking *::before, .qqy-ranking *::after { animation: none !important; transition: none !important; }
  .rk-sparks { display: none; }
}
