/* Shared bilingual game identity. */
.brand #brand.brand-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#brand-logo{display:block;object-fit:contain;object-position:left center;width:274px;height:56px}
html[lang="zh-CN"] #brand-logo{width:218px}

/* One continuous luminous bar; the game owns its fill value. */
#bonus-game-meter{--bonus-progress:0%;width:300px;min-width:250px;max-width:355px;padding:8px 0 10px;flex:none}
.bonus-label{display:block;font-size:10px;font-weight:650;letter-spacing:2.6px;color:#d8c6f3;line-height:1;margin:0 0 15px;text-shadow:0 0 14px #a577ff55}
.bonus-track{height:12px;position:relative;border:1px solid #72539788;border-radius:999px;background:linear-gradient(180deg,#10091f,#20132e);box-shadow:inset 0 2px 5px #0009,0 0 14px #8951ef20}
.bonus-track:before{content:'';position:absolute;inset:-3px;border-radius:inherit;border:1px solid #9d6bf31c;pointer-events:none}
.bonus-track:after{content:'';position:absolute;top:-1px;left:10px;right:10px;height:1px;background:linear-gradient(90deg,transparent,#c7a7ff99 35%,#8b61cb55 75%,transparent);pointer-events:none}
.bonus-fill{height:100%;width:var(--bonus-progress);position:relative;border-radius:inherit;background:linear-gradient(90deg,#784ee7 0%,#b69bf3 32%,#a9ec7d 66%,#d5ff99 100%);box-shadow:inset 0 1px 1px #f4ffe1bd,0 0 8px #b4ff6666,0 0 22px #ab78ff55;transition:width .8s cubic-bezier(.2,.7,.2,1),opacity .3s}
.bonus-fill:before{content:'';position:absolute;inset:0;border-radius:inherit;overflow:hidden;background:linear-gradient(110deg,transparent 25%,#fff0 38%,#f3ffdc99 48%,#fff0 58%,transparent 80%);background-size:250% 100%;animation:bonus-shine 3s linear infinite;mix-blend-mode:screen}
.bonus-fill:after{content:'';position:absolute;right:-10px;top:-9px;width:26px;height:28px;background:radial-gradient(ellipse,#e4ffbeaa 0%,#bdff6e44 30%,#caff8000 68%);pointer-events:none}
#bonus-game-meter.empty .bonus-fill{opacity:0}
#bonus-game-meter.ready .bonus-fill{animation:bonus-breathe 1.7s ease-in-out infinite}
#bonus-game-meter.ready .bonus-label{color:#d8ffad;text-shadow:0 0 15px #b5ff6377}
#bonus-game-meter.busy .bonus-track{animation:bonus-breathe 1.7s ease-in-out infinite}
@keyframes bonus-shine{from{background-position:180% 0}to{background-position:-80% 0}}
@keyframes bonus-breathe{50%{filter:brightness(1.23);box-shadow:0 0 14px #b5ff6366,0 0 30px #9b63ff44}}
@media(max-width:1000px){#bonus-game-meter{width:250px;min-width:220px}#brand-logo{width:250px;height:54px}html[lang="zh-CN"] #brand-logo{width:208px}}
@media(max-width:640px){#brand-logo{width:172px;height:43px}html[lang="zh-CN"] #brand-logo{width:150px}#bonus-game-meter{grid-column:1/-1;width:100%;max-width:none;min-width:0;padding:8px 2px 10px}.bonus-label{font-size:9px;margin-bottom:12px;letter-spacing:2px}.bonus-track{height:11px}}
@media(prefers-reduced-motion:reduce){.bonus-fill,.bonus-fill:before,#bonus-game-meter.busy .bonus-track{animation:none!important;transition:none}}

#bonus-boost{display:none}.bonus-playing #bonus-boost{display:block;font-size:16px;font-weight:750;color:#c7ff8c;letter-spacing:.3px;text-shadow:0 0 12px #a9ff6366}.bonus-playing .phase-dots{display:none}#combo-badge{position:absolute;z-index:5;top:80px;left:50%;transform:translateX(-50%);font-size:25px;font-weight:800;font-style:italic;letter-spacing:1px;color:#d4ff96;text-shadow:0 0 20px #a8ff6244,2px 3px #44216b;opacity:0;pointer-events:none}#combo-badge.visible{opacity:1}.boost-tag{font-size:9px;font-style:normal;color:#e3ffad;margin-left:7px;padding:2px 4px;border-radius:4px;background:#b9ff6719;border:1px solid #b9ff673b}.win-boost{display:block;margin-top:5px;color:#d9bdff;font-size:11px;font-weight:650;letter-spacing:1px}.bonus-history{display:block;font-size:9px;color:#c3a2e6;line-height:1.3}@media(max-width:640px){#combo-badge{top:62px;font-size:21px}.boost-tag{font-size:8px;margin-left:4px;padding:1px 3px}.win-boost{font-size:9px}}

/* A playable Bonus Game, with three locked targets and a visible reward bank. */
#bonus-ui{position:absolute;inset:0;z-index:7;pointer-events:none}#bonus-ui[hidden],#bonus-ui [hidden]{display:none!important}.bonus-session #special-banner{min-width:0;gap:10px;padding:11px 16px}.bonus-session #bonus-boost{display:block;font-size:16px;font-weight:800;color:#caff8f}.bonus-session .phase-dots,.bonus-session .arena-foot,.bonus-session #now-label{visibility:hidden}.bonus-session .hint{display:none}.bonus-prompt{position:absolute;top:31px;left:24px;font-size:11px;letter-spacing:.1px;color:#d5b8f5;max-width:220px;line-height:1.7}.bonus-running-total{position:absolute;top:25px;right:24px;text-align:right}.bonus-running-total small{display:block;font-size:8px;letter-spacing:1.8px;color:#b29ac9;margin-bottom:5px}.bonus-running-total strong{font-size:24px;line-height:1;font-weight:750;letter-spacing:-.6px;color:#cfff99;text-shadow:0 0 20px #b8ff6622}.bonus-session .target{opacity:.25}.bonus-session .target.bonus-column{opacity:1;background:linear-gradient(135deg,#4d24772b,#2c164b1a);border-color:#9672c266;color:#d5c1ed}.bonus-selecting .target.bonus-column:hover{background:#7947b84d;border-color:#ceb1ff}.bonus-session .target.bonus-pick,.bonus-session .target.selected{opacity:1;border:1px solid #c4ff8a;background:#aaff6310;box-shadow:inset 0 0 25px #bcff6320,0 0 18px #ba85ff38;color:#efffda}.bonus-session .target .stake{font-size:9px;font-weight:750;letter-spacing:1px}.bonus-session .target.bonus-hit{border-color:#d5ffa0;background:#b8ff6d26;box-shadow:0 0 22px #b8ff633d,inset 0 0 18px #ccff7d1c;animation:cell-win .7s ease-out}.bonus-session .target.bonus-miss{opacity:.55;border-color:#6a4c80;background:#25183366;color:#8a719f}.cell-result{font-size:11px;color:#e5ffc0;line-height:1;white-space:nowrap}.cell-result.miss{color:#a88abb;font-size:17px}.bonus-choice-bar{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#140b22ed;padding:8px;border:1px solid #704a985c;border-radius:14px;box-shadow:0 10px 30px #0004}#bonus-slots{display:flex;gap:6px}.bonus-slot{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 8px;min-width:79px;padding:9px 10px;background:#30203d8f;border:1px solid #63417d75;border-radius:8px}.bonus-slot small{font-size:9px;font-weight:650;color:#ae8ec8}.bonus-slot strong{font-size:11px;color:#dcc7ed;white-space:nowrap}.bonus-slot em{grid-column:2;font-size:9px;font-style:normal;color:#b5ff6c}.bonus-slot.empty{border-style:dashed;background:#24172d66}.bonus-slot.empty strong{color:#735985}.bonus-slot.won{background:#4f6a272b;border-color:#b5ff6361}.bonus-slot.won strong{color:#d6ff9f}.bonus-slot.lost{opacity:.48}#bonus-lock,#bonus-collect{pointer-events:auto;background:linear-gradient(120deg,#cfff99,#a6eb65);color:#1e300f;border-radius:8px;font-size:11px;font-weight:800;padding:13px 18px;white-space:nowrap;box-shadow:0 0 20px #b9ff631f}#bonus-lock:disabled{background:#3d2b4d;color:#8e719e;box-shadow:none;opacity:.65}.bonus-session:not(.bonus-selecting) #bonus-lock{display:none}.bonus-result .bonus-choice-bar,.bonus-result .bonus-running-total{visibility:hidden}#bonus-summary{pointer-events:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(375px,calc(100% - 32px));border:1px solid #a177d690;border-radius:22px;padding:28px;text-align:center;background:radial-gradient(ellipse at 50% 10%,#51316a,#21122f 57%,#160d23);box-shadow:0 30px 100px #030008cc,0 0 75px #8a52c83d;isolation:isolate}#bonus-summary:before{content:'';position:absolute;inset:-8px;border:1px solid #a883ca16;border-radius:29px;pointer-events:none}.bonus-result-halo{position:absolute;top:-30px;left:15%;right:15%;height:65px;background:radial-gradient(ellipse,#bdff6a20,transparent 70%);pointer-events:none;z-index:-1}#bonus-summary>small{font-size:9px;font-weight:750;letter-spacing:3.5px;color:#cca1f0}#bonus-summary h2{font-size:15px;font-weight:650;letter-spacing:1px;margin:13px 0 8px;color:#f0e5fb}#bonus-result-amount{display:block;font-size:47px;font-weight:800;letter-spacing:-1.9px;color:#d3ff9d;text-shadow:0 0 25px #b8ff633b}#bonus-result-combo{font-size:12px;font-weight:800;font-style:italic;letter-spacing:1.6px;color:#d1a0ff;min-height:16px;margin-top:10px}.bonus-result-breakdown{display:grid;grid-template-columns:1fr auto;gap:8px;margin:19px 0 20px;padding-top:16px;border-top:1px solid #dec1ff17;text-align:left;font-size:10px;color:#ad91c1}.bonus-result-breakdown b{color:#dac5eb;font-weight:650;text-align:right}.bonus-result-breakdown b:last-child{color:#cdff9d}.bonus-result-actions{display:flex;gap:8px}.bonus-result-actions button{flex:1}#bonus-retry{border:1px solid #a27ac882;color:#dbc1ef;border-radius:8px;font-size:11px;padding:12px;pointer-events:auto}#bonus-demo-note{font-size:9px;color:#94749f;margin:13px 0 0;line-height:1.5}.bonus-result #combo-badge{display:none}@keyframes cell-win{0%{filter:brightness(2.3);box-shadow:0 0 42px #cfff78aa}100%{filter:brightness(1)}}
@media(max-width:640px){.bonus-prompt{left:14px;top:62px;font-size:10px;max-width:80%}.bonus-running-total{right:15px;top:17px}.bonus-running-total strong{font-size:18px}.bonus-running-total small{font-size:7px;letter-spacing:1px}.bonus-session #special-banner{left:15px;transform:translate(0,-90px);top:12px;padding:10px 12px}.bonus-session #special-banner.visible{transform:translate(0,0)}.bonus-choice-bar{bottom:17px;padding:6px;gap:6px;border-radius:11px;max-width:calc(100% - 18px)}.bonus-slot{min-width:60px;padding:8px 7px;gap:2px 5px}.bonus-slot small{font-size:8px}.bonus-slot strong{font-size:9px}.bonus-slot em{font-size:8px}#bonus-lock{font-size:10px;padding:12px 10px}.bonus-session .target .stake{font-size:8px;letter-spacing:.5px}.bonus-session .target .cell-result{font-size:9px}.bonus-session .target{font-size:12px}#bonus-summary{padding:22px}#bonus-result-amount{font-size:39px}#bonus-summary h2{font-size:13px}#motion-launch{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bonus-hit{animation:none!important}}
.bonus-session #special-banner{pointer-events:none}.bonus-session .target{font-size:14px;gap:2px}.bonus-session .target.bonus-hit .stake{display:none}.bonus-choice-bar{bottom:12px}.bonus-prompt{top:25px}.bonus-running-total{top:20px}.bonus-session #special-banner{top:13px}@media(max-width:640px){#arena.bonus-session{min-height:500px;height:calc(100svh - 320px)}.bonus-prompt{top:63px}.bonus-session .target{font-size:11px}.bonus-session #special-banner{top:13px}.bonus-choice-bar{bottom:12px}}
#bonus-exit{position:absolute;pointer-events:auto;top:24px;left:255px;width:23px;height:23px;border:1px solid #79549488;border-radius:50%;font-size:17px;line-height:1;color:#bb9acc;background:#241433a8}@media(max-width:640px){#bonus-exit{left:auto;right:15px;top:61px}}
.bonus-session.bonus-loading #bonus-lock{display:block;cursor:wait}.bonus-loading #bonus-lock{animation:bonus-breathe 1.7s ease-in-out infinite}

/* Make the three-column decision explicit before the character enters. */
.bonus-prompt{top:12px;max-width:min(330px,calc(50% - 116px));font-size:10px;line-height:1.4}.bonus-prompt strong{display:block;color:#f1e4ff;font-size:15px;font-weight:750;letter-spacing:.25px;line-height:1.3}.bonus-prompt>span{display:block;margin-top:5px;color:#bda4cf;font-size:10px;line-height:1.5}.bonus-selecting .bonus-running-total{opacity:.5}.bonus-column-label{position:absolute;height:17px;display:flex;justify-content:center;align-items:center;gap:4px;white-space:nowrap;font-size:9px;font-weight:750;letter-spacing:.7px;color:#ac86cb}.bonus-column-label.next{color:#e4c4ff;text-shadow:0 0 12px #b87affaa}.bonus-column-label.picked{color:#c7ff99;text-shadow:0 0 10px #b7ff6340}.bonus-selecting .bonus-choice-bar{display:grid;grid-template-columns:auto auto;gap:6px 10px;padding:9px 10px}.bonus-selecting #bonus-pick-count{grid-column:1/-1;font-size:10px;letter-spacing:1px;color:#c6abd9;font-weight:650;line-height:1.3}.bonus-selecting .bonus-slot{min-width:79px;padding:7px 9px}.bonus-selecting .bonus-slot.picked{border-color:#baff7766;background:#a5ed6510}.bonus-selecting .bonus-slot.picked small{color:#c6ff99}.bonus-selecting #bonus-lock{min-width:124px;padding:14px 15px;font-size:11px}.bonus-selecting #bonus-lock:disabled{color:#c6a5dc;background:#3e2a53;border:1px solid #78539a55;opacity:1}#bonus-exit{left:auto;right:20px;top:62px}.bonus-session:not(.bonus-selecting) #bonus-column-labels{opacity:.65}
@media(max-width:640px){#arena.bonus-session{min-height:584px}.bonus-prompt{top:63px;left:14px;right:14px;width:auto;max-width:none}.bonus-prompt strong{font-size:15px;letter-spacing:0}.bonus-prompt>span{font-size:10px;line-height:1.6;margin-top:5px}.bonus-selecting .bonus-choice-bar{gap:5px 6px;padding:8px}.bonus-selecting .bonus-slot{min-width:55px;padding:7px 6px;gap:2px 4px}.bonus-selecting .bonus-slot strong{font-size:8px}.bonus-selecting .bonus-slot small{font-size:8px;letter-spacing:0}.bonus-selecting #bonus-pick-count{font-size:9px}.bonus-selecting #bonus-lock{min-width:100px;padding:14px 10px;font-size:9px}.bonus-column-label{font-size:8px;letter-spacing:.2px}#bonus-exit{right:15px;top:106px}}
.bonus-session #special-banner{top:6px;height:32px;padding:6px 12px;gap:8px}.bonus-session #special-banner .pause-bars{font-size:17px;line-height:1}.bonus-session #bonus-boost{font-size:15px;line-height:18px}.bonus-selecting .bonus-running-total{visibility:hidden}#bonus-exit{top:12px;right:24px}@media(max-width:640px){.bonus-session #special-banner{top:6px}#bonus-exit{top:12px;right:15px}}
