/* BLOCO RUSH arcade palette. All rules are scoped; ADMIN and payment contracts
   stay untouched. The identity compiler exposes these colors as usual. */
body.block-portal, body.block-landing, .bw-game {
  --rush-electric: #8350ff;
  --rush-cyan: #00dcff;
  --rush-lime: #beff32;
  --rush-pink: #ff3996;
  --rush-orange: #ff982e;
  --rush-text: #f6f4ff;
  --rush-muted: #c3bce3;
}
body.block-portal {
  background-color: #130b36;
  background-image: radial-gradient(ellipse at 4% 0%, #741aff80, transparent 44%), radial-gradient(ellipse at 100% 34%, #005ad780, transparent 40%), radial-gradient(ellipse at 12% 90%, #b600593a, transparent 42%);
  --block-green: var(--rush-lime);
}
.block-portal .topbar { border-color: #986aff38; }
.block-portal .block-profile { background: linear-gradient(145deg, #974bff, #5831dc); border-color: #b898ff; }
.block-portal .block-intro h1 em { color: var(--rush-cyan); }
.block-portal .block-intro > p { color: var(--rush-lime); font-size: .75rem; }
.block-portal .block-intro > span { color: var(--rush-muted); font-size: 1rem; }
.block-portal .block-entry-card { background: linear-gradient(145deg, #382070, #191442 66%, #12366b); border: 1px solid #ad7cff80; box-shadow: 0 8px 0 #090421, 0 24px 65px #07021f80, inset 0 1px #d7bfff38; }
.block-portal .block-entry-art { background: #332070; }
.block-portal .block-entry-form > label { font-size: .875rem; letter-spacing: .06em; color: #ece5ff; }
.block-portal .block-entry-form small { font-size: .8125rem; line-height: 1.6; color: var(--rush-muted); }
.block-portal .block-entry-chips button { min-height: 48px; background: #211943; border-color: #865fc96b; font-size: .9375rem; }
.block-portal .block-entry-chips button.is-active { background: linear-gradient(135deg, #a43dff, #6532ff); border-color: #dbb2ff; box-shadow: 0 3px #39126f, 0 0 24px #9134ff45; color: #fff; }
.block-portal .block-amount { background: #100c2d; border-color: #816bc780; }
.block-portal .block-goal { background: linear-gradient(120deg, #24351b, #22354c); border-color: #a4e54080; }
.block-portal .block-goal span { font-size: .875rem; color: #e3f6cf; }
.block-portal .block-goal strong { color: var(--rush-lime); }
.block-portal .block-play { background: linear-gradient(105deg, #d1ff49, #9fed20); border-color: #e3ff91; color: #142a09; box-shadow: 0 5px #3f7110, 0 10px 32px #96e61938; }
.block-portal .block-rule-note { font-size: .8125rem!important; color: #cbc3e8; }
.block-portal .block-shortcuts button { background: linear-gradient(130deg, #38226b, #211a49); border-color: #9c75e960; font-size: .875rem; min-height: 62px; }
.block-portal .block-shortcuts button:nth-child(2n) { background: linear-gradient(130deg, #153f71, #1b204a); border-color: #44beec66; }
.block-portal .block-shortcuts button:hover { border-color: var(--rush-cyan); background: #303369; }
.block-portal .block-shortcuts svg { color: #c39aff; }
.block-portal .block-guide li { font-size: .9375rem; color: var(--rush-muted); }
.block-portal .block-guide li b { font-size: 1rem; color: #fff; }
.block-portal .block-hub-heading > span, .block-portal .block-footer { font-size: .8125rem; }
.block-portal .bottom-nav { background: #140c32f5; border-color: #9566ff55; }
.block-portal .block-nav-play span { background: linear-gradient(135deg, #a23cff, #6430df); border-color: #c99aff; box-shadow: 0 3px #2d115b; }

/* Public page: electric purple, cyan and lime with existing original artwork. */
body.block-landing { background-color: #14092f; background-image: radial-gradient(ellipse at 85% 8%, #7c13eb91, transparent 38%), radial-gradient(ellipse at 0% 37%, #005eed70, transparent 34%), radial-gradient(ellipse at 95% 74%, #b20b6240, transparent 38%); }
.block-landing .rush-hero h1 em, .block-landing .rush-section-heading h2 em, .block-landing .rush-final h2 em { color: var(--rush-lime); }
.block-landing .rush-hero h1 > span { color: var(--rush-cyan); }
.block-landing .rush-hero-copy > p, .block-landing .rush-experience p, .block-landing .rush-section-heading p { color: #d0c6eb; font-size: 1rem; }
.block-landing .rush-eyebrow { color: #d4bfff; font-size: .8125rem; letter-spacing: .1em; }
.block-landing .rush-button { font-size: .9375rem; min-height: 54px; }
.block-landing .rush-button--lime { background: linear-gradient(110deg, #d6ff4b, #a8f323); border: 1px solid #e6ff9a; box-shadow: 0 4px #456b17, 0 12px 34px #a5ff2429; color: #14250a!important; }
.block-landing .rush-button--ghost { background: #44257b; border-color: #a272ec; color: #fff; }
.block-landing .rush-button--ghost:hover { background: #5f2ca6; }
.block-landing .rush-nav-cta { background: #6825c3; border-color: #b388f3; }
.block-landing .rush-art-frame { border: 2px solid #c098ff9c; box-shadow: 0 28px 75px #07021599, 0 0 60px #a23cff50; }
.block-landing .rush-art-caption { background: linear-gradient(110deg, #592599f5, #172968f5); border-color: #bf91ff; font-size: .8125rem; letter-spacing: .03em; }
.block-landing .rush-art-caption b { color: var(--rush-lime); }
.block-landing .rush-ribbon { border-color: #aa78ff66; background: linear-gradient(100deg, #57218b66, #122f7266, #51205a66); border-radius: 18px; }
.block-landing .rush-ribbon > span { font-size: .75rem; color: #d2c6ee; }
.block-landing .rush-ribbon b { color: var(--rush-cyan); }
.block-landing .rush-ribbon > span:nth-child(2) b { color: #ff8fbe; }
.block-landing .rush-ribbon > span:nth-child(3) b { color: var(--rush-lime); }
.block-landing .rush-step { background: linear-gradient(145deg, #342164, #211546); border-color: #9570db70; border-top: 3px solid var(--rush-tone); box-shadow: 0 8px #09041d4a; }
.block-landing .rush-step--cyan { --rush-tone: #00dcff; }
.block-landing .rush-step--pink { --rush-tone: #ff429d; }
.block-landing .rush-step--lime { --rush-tone: #beff32; }
.block-landing .rush-step p, .block-landing .rush-faq-list p { color: #ccc0e8; font-size: 1rem; }
.block-landing .rush-experience li, .block-landing .rush-text-link { font-size: 1rem; }
.block-landing .rush-faq-list summary { font-size: 1rem; }
.block-landing .rush-final { background: radial-gradient(ellipse at 50% -20%, #ac3cffb0, transparent 80%), linear-gradient(130deg, #322067, #171249); border-color: #c595ff88; box-shadow: 0 18px 70px #6022a433; }
.block-landing .block-public-demo-note, .block-landing .block-public-footer small { font-size: .8125rem; color: #b8a8d5; }

/* Board stays quiet enough to read. Saturation lives in the playable tiles. */
.bw-game { --sky-cold-top: #271263; --sky-cold-bottom: #100828; --sky-warm-top: #671559; --sky-warm-bottom: #241039; --bw-board: #19113c; --bw-line: #0b0624; }
.bw-game__ambient { background: radial-gradient(ellipse at 6% 7%, #9530ff85, transparent 46%), radial-gradient(ellipse at 98% 42%, #0089ef66, transparent 43%), radial-gradient(ellipse at 12% 95%, #d3157845, transparent 43%); }
.bw-game__score { background: linear-gradient(125deg, #47247caf, #182660c7); border-color: #ab83fc70; box-shadow: inset 0 1px #d6b9ff33, 0 5px 16px #08021b55; }
.bw-game__icon { background: #39216b; border-color: #bc91ff77; color: #fff; }
.bw-game__icon:hover { background: #6028a1; }
.bw-game__reward { color: #c5ff37; text-shadow: 0 3px #38570e, 0 0 26px #8df52e35; }
.bw-game__board { border-color: #7045bd; box-shadow: 0 6px #160631, 0 0 0 1px #c58cff66, 0 15px 40px #13032480; }
.bw-game__tile--1 { --block-color: #ff941c; }
.bw-game__tile--2 { --block-color: #00ccff; }
.bw-game__tile--3 { --block-color: #87f621; }
.bw-game__tile--4 { --block-color: #993aff; }
.bw-game__tile--5 { --block-color: #ff328f; }
.bw-game__tile--6 { --block-color: #ffdb1a; }
.bw-game__cell.is-filled, .bw-game__tile { border-top-color: #ffffffa6; border-left-color: #ffffff66; box-shadow: inset 0 0 0 1px #ffffff22, 0 2px 0 #070018b3; }
.bw-game__slot { background: linear-gradient(135deg, #322060, #171541); border-color: #aa79ff66; }
.bw-game__slot.is-selected { background: #542c8c; border-color: #dcbdff; box-shadow: 0 0 0 2px #b570ff44, 0 0 20px #aa42ff40; }
.bw-game__primary { background: linear-gradient(115deg, #dbff4b, #a5ef1d); border-color: #e4ffa0; color: #1b2c08; box-shadow: 0 4px #4a7212, 0 8px 24px #a3f3292e; }
.bw-game__dialog { background: radial-gradient(ellipse at 15% 0, #8935d575, transparent 65%), linear-gradient(150deg, #342261, #191032); border-color: #bd83ff80; }
.bw-game__win-banner { background: linear-gradient(125deg, #942fed, #443dd0 58%, #a32678); border-color: #d493ff; }
.bw-game__hint, .bw-game__progress-note { color: #d6caef; }

/* The entire affiliate surface shares the arcade palette, including widgets. */
body.block-portal .referral-center {
  --ref-surface: #211443; --ref-panel: #2c1d55; --ref-line: #a278df52;
  --ref-text: #f7f3ff; --ref-muted: #c7bbdf;
  background: #180f34; color: var(--ref-text); color-scheme: dark;
  border: 1px solid #b37eff80; box-shadow: 0 25px 90px #050014aa;
  scrollbar-color: #ae76ef #180f34;
}
.block-portal .referral-center .modal__header { background: linear-gradient(110deg, #6523b9, #34237c 62%, #184989); border-color: #bc8eff66; }
.block-portal .referral-center .modal__header h2 { color: #fff; }
.block-portal .referral-center .modal__header p { color: #daffc2; }
.block-portal .referral-center .modal__header .icon-button { color: #fff; background: #2c1559; border-color: #c398ff77; }
.block-portal .referral-center :is(.referral-links,.referral-card,.referral-metric,.referral-members,.referral-game-results,.referral-pixel,.referral-push) { background: var(--ref-surface); border-color: var(--ref-line); color: var(--ref-text); }
.block-portal .referral-center :is(h3,h4,.referral-metric strong,.referral-funnel strong,.referral-member__person strong) { color: var(--ref-text); }
.block-portal .referral-center :is(p,small,label,.referral-filter,.referral-pagination,.referral-disclosure,.referral-funnel > div > span,.referral-metric div > span) { color: var(--ref-muted); }
.block-portal .referral-center :is(.referral-eyebrow,.referral-links > summary,.referral-chart-total,.referral-level > span) { color: #bfff70; }
.block-portal .referral-center .referral-balance { background: radial-gradient(ellipse at 100% 0%, #a636f7, transparent 68%), linear-gradient(135deg, #6624b2, #392382); border-color: #d29effa3; box-shadow: 0 7px #0d082b66, inset 0 1px #ffffff35; }
.block-portal .referral-center .referral-balance > strong { color: #daff67; }
.block-portal .referral-center .referral-balance > p { color: #eee0ff; }
.block-portal .referral-center .referral-invite--sub { background: linear-gradient(125deg, #28386a, #262052); border-color: #44c9f278; }
.block-portal .referral-center :is(input[type="text"],input[readonly],select) { background: #100b29; color: #eee8ff; border-color: #a07bd873; }
.block-portal .referral-center input::placeholder { color: #a899c4; }
.block-portal .referral-center input[type="checkbox"] { accent-color: #a4ec37; }
.block-portal .referral-center .referral-button { background: #8240da; color: #fff; border-color: #c794ff; box-shadow: 0 3px #341356; }
.block-portal .referral-center .referral-button:is(:hover,:focus-visible):not(:disabled) { background: #9a4ef1; color: #fff; border-color: #e0baff; }
.block-portal .referral-center .referral-button--light { background: #c6fa42; color: #203308; border-color: #e2ff9b; }
.block-portal .referral-center .referral-button--light:is(:hover,:focus-visible):not(:disabled) { background: #ddff76; color: #203308; }
.block-portal .referral-center :is(.referral-share,.referral-refresh,.referral-push-disable,.referral-chart-data) { color: #76e7ff; }
.block-portal .referral-center .referral-periods { background: #100b2b; border-color: var(--ref-line); }
.block-portal .referral-center .referral-periods button { color: #d1c5e8; min-height: 44px; }
.block-portal .referral-center .referral-periods button[aria-pressed="true"] { background: #7233c8; color: #fff; }
.block-portal .referral-center .referral-tabs { background: #120b2d; border-color: #ac7ae066; gap: 12px; }
.block-portal .referral-center .referral-tabs button { color: #c6b8df; padding-inline: 12px; }
.block-portal .referral-center .referral-tabs button[aria-selected="true"] { color: #cfff65; border-bottom-color: #bdff32; background: #281c48; }
.block-portal .referral-center .referral-metric { border-top: 3px solid #aa5bff; }
.block-portal .referral-center .referral-metric:nth-child(4n+2) { border-top-color: #00d7ff; }
.block-portal .referral-center .referral-metric:nth-child(4n+3) { border-top-color: #b9f72e; }
.block-portal .referral-center .referral-metric:nth-child(4n+4) { border-top-color: #ff589b; }
.block-portal .referral-center :is(.referral-metric__icon,.referral-avatar,.referral-pixel-icon,.referral-push-icon) { background: #493070; color: #cf9eff; border-color: #b786f069; }
.block-portal .referral-center .referral-metric:nth-child(4n+2) .referral-metric__icon { background: #153f5d; color: #68e8ff; }
.block-portal .referral-center .referral-metric:nth-child(4n+3) .referral-metric__icon { background: #34471d; color: #c7ff6c; }
.block-portal .referral-center .referral-metric:nth-child(4n+4) .referral-metric__icon { background: #5c244b; color: #ff90bf; }
.block-portal .referral-center .referral-chart { border-color: var(--ref-line); background: repeating-linear-gradient(to top, transparent 0, transparent 49px, #ac82e522 50px); }
.block-portal .referral-center .referral-chart__day i { background: linear-gradient(#60e7ff, #8539f0); }
.block-portal .referral-center .referral-chart__day i.is-zero { background: #625078; }
.block-portal .referral-center :is(.referral-funnel > div > div,.referral-pixel-status) { background: #110c2b; }
.block-portal .referral-center .referral-funnel i { background: linear-gradient(90deg, #903aff, #00d7ff); }
.block-portal .referral-center :is(.referral-member,.referral-chart-data td,.referral-chart-data th,.referral-footer) { border-color: var(--ref-line); }
.block-portal .referral-center .referral-stage { background: #413055; color: #e0d0ef; }
.block-portal .referral-center :is(.referral-stage--active,.referral-stage--deposited) { background: #224539; color: #a4fac0; }
.block-portal .referral-center .referral-stage--played { background: #173e61; color: #8cdeff; }
.block-portal .referral-center .referral-stage--unattributed { background: #503918; color: #ffd89c; }
.block-portal .referral-center .referral-recent { color: #a4fac0; }
.block-portal .referral-center .referral-level { background: linear-gradient(135deg, #3e236c, #221847); border-color: #a678e773; }
.block-portal .referral-center :is(.referral-pixel-toggle,.referral-pixel-events > span,.referral-pixel-badge,.referral-push-install,.referral-push-options label) { background: var(--ref-panel); color: var(--ref-text); border-color: var(--ref-line); }
.block-portal .referral-center .referral-pixel-events code { color: #76e7ff; }
.block-portal .referral-center .referral-refund { color: #ffca83; }
.block-portal .referral-center :is(button,input,select,a,summary):focus-visible { outline: 3px solid #ceff61; outline-offset: 3px; }
.block-portal .referral-center button:disabled { opacity: .55; box-shadow: none; }

/* Motion is decorative and never changes timing, odds, hitboxes or balances. */
.rush-activity { position: relative; width: min(100%, 460px); box-sizing: border-box; margin: 16px auto; padding: 15px 48px 15px 16px; border: 1px solid #b682f388; border-left: 4px solid #beff32; border-radius: 15px; color: #f5f0ff; background: linear-gradient(115deg, #432774, #202052); box-shadow: 0 8px 25px #0b032440; }
.rush-activity[hidden] { display: none; }
.rush-activity[data-kind="withdrawal"] { border-left-color: #00dcff; }
.rush-activity > small { font: 750 .75rem/1.5 system-ui,sans-serif; color: #d4bef4; letter-spacing: .025em; }
.rush-activity > p { margin: 5px 0 0; font: 650 .875rem/1.5 system-ui,sans-serif; color: #fff; overflow-wrap: anywhere; }
.rush-activity > button { position: absolute; top: 8px; right: 4px; width: 40px; height: 44px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: #d3bced; font-size: 24px; cursor: pointer; }
.rush-activity > button:hover { color: #fff; background: #ffffff16; }
.rush-activity > button:focus-visible { outline: 3px solid #d6ff68; outline-offset: -3px; }
.block-portal .rush-activity-preferences { margin-top: 24px; padding: 16px; border: 1px solid #a27bdb75; border-radius: 14px; background: #271b45; color: #f0e9ff; }
.block-portal .rush-activity-preferences summary { min-height: 28px; cursor: pointer; font-weight: 750; font-size: .875rem; }
.block-portal .rush-activity-preferences label { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; font-size: .875rem; line-height: 1.5; }
.block-portal .rush-activity-preferences input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: #b6f52f; }
.block-portal .rush-activity-preferences p, .block-portal .rush-activity-preferences small { display: block; color: #cfc2e9; font-size: .8125rem; line-height: 1.6; margin-top: 14px; }
@media(prefers-reduced-motion:no-preference) {
  .rush-activity { animation: rush-surface-in .3s ease-out both; }
  .block-landing .rush-art-caption { animation: rush-caption-bob 6s ease-in-out infinite; }
  .block-landing .rush-step { transition: transform .22s, border-color .22s; }
  .block-landing .rush-step:hover { transform: translateY(-5px); }
  .block-portal .block-entry-card { animation: rush-surface-in .5s ease-out both; }
  .block-portal .block-shortcuts button { animation: rush-surface-in .45s ease-out both; }
  .block-portal .block-shortcuts button:nth-child(2) { animation-delay: .06s; }
  .block-portal .block-shortcuts button:nth-child(3) { animation-delay: .12s; }
  .block-portal .block-shortcuts button:nth-child(4) { animation-delay: .18s; }
  .bw-game__ambient { animation: rush-ambient-drift 16s ease-in-out infinite alternate; }
  .bw-game__slot.is-selected .bw-game__piece { animation: rush-piece-ready 1.8s ease-in-out infinite; }
  .bw-game__cashout:not([hidden]) { animation: rush-surface-in .35s ease-out both; }
  .block-portal .referral-center .referral-metric { animation: rush-surface-in .3s ease-out both; }
}
@keyframes rush-caption-bob { 50% { translate: 0 -7px; } }
@keyframes rush-ambient-drift { to { opacity: .6; } }
@keyframes rush-piece-ready { 50% { transform: translateY(-3px); } }
@keyframes rush-surface-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@media(max-width:680px) {
  .block-landing .rush-art-caption { padding: 14px; font-size: .75rem; }
  .block-landing .rush-ribbon > span { font-size: .75rem; letter-spacing: 0; }
  .block-portal .referral-center .referral-intro { padding: 18px 16px; gap: 16px; }
  .block-portal .referral-center .referral-content { padding: 20px 16px; }
  .block-portal .referral-center .referral-tabs { padding-inline: 10px; gap: 4px; }
  .block-portal .referral-center .referral-metric { padding: 14px 12px; }
  .block-portal .referral-center .referral-metric strong { font-size: 1.5rem; }
  .block-portal .block-shortcuts button { font-size: .875rem; }
}
@media(max-width:360px) {
  .block-portal .referral-center .referral-metrics { grid-template-columns: 1fr; }
  .block-portal .referral-center .referral-link-control { flex-direction: column; }
}
/* Keep the new dimensional logo proportional in every header. */
.block-landing .rush-logo img, .block-landing .block-public-footer img { height: auto; object-fit: contain; }
.block-portal .brand img { object-fit: contain; }
.bw-game .bw-game__logo { display: block; width: 138px; height: 62px; max-width: 100%; object-fit: contain; justify-self: center; }
.bw-game .bw-game__bar { min-height: 62px; height: auto; }
.block-portal .referral-brand { display: block; width: 138px; height: 69px; object-fit: contain; margin-bottom: 12px; }
.block-portal .referral-brand-strip { padding: 16px 26px 0; background: #21134a; }
@media(max-width:400px) {
  .block-portal .brand { width: min(106px,28vw); flex: 0 0 min(106px,28vw); }
  .block-portal .brand img { width: 100%; max-width: 100%; }
  .bw-game .bw-game__logo { width: 124px; height: 58px; }
  .bw-game .bw-game__bar { min-height: 58px; }
}
@media(prefers-reduced-motion:reduce) {
  .block-portal *, .block-landing *, .bw-game * { animation: none!important; transition: none!important; scroll-behavior: auto!important; }
}
