/* CS RUSH — black titanium, warm chrome, expressive display typography. */
@font-face { font-family: RushDisplay; src: url('/fonts/Tektur-Variable.ttf') format('truetype'); font-weight: 400 900; font-style: normal; font-display: swap; }
@font-face { font-family: RushHero; src: url('/fonts/DelaGothicOne-CSRush.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Manrope; src: url('/fonts/Manrope-Variable.ttf') format('truetype'); font-weight: 200 800; font-display: swap; }
:root, :root[data-theme="light"] {
  color-scheme: dark;
  --bg: #0a0b0e; --surface: #14161c; --surface-2: #1d2028; --surface-3: #2b2e37;
  --line: #ffffff0e; --line-strong: #ffffff26; --text: #f6f5f1; --muted: #999ba7;
  --gold: #ffb34b; --gold-2: #ffe7b3; --primary-bg: #ffb34b; --primary-fg: #1c1104;
  --shadow: 0 18px 44px #0007; --display: RushDisplay, 'Arial Black', sans-serif;
}
body { font-family: Manrope, -apple-system, sans-serif; background: radial-gradient(ellipse 70% 430px at 70% 0, #80521813, transparent), var(--bg); }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
input:focus-visible { outline-color: var(--gold); }
.topbar { max-width: 1248px; padding: calc(12px + var(--safe-top)) 24px 12px; border-bottom: 1px solid var(--line); }
.logo { gap: 8px; }
.brand { font-family: var(--display); font-size: 32px; font-style: normal; font-weight: 800; letter-spacing: -.5px; }
.brand b { color: var(--gold); }
.logo-mark { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 0 8px #ff900029); }
.balance { border: 1px solid #ffb34b25; border-radius: 8px; height: 40px; background: #1e1b17; }
.bal-plus { border-radius: 4px; background: var(--gold); }
.lvl-track { fill: #14161b; }
.back-btn { border-radius: 7px; border: 1px solid var(--line); }
main { max-width: 740px; }
body[data-view="home"] main { max-width: 1248px; }
.page { padding: 24px 24px 30px; }
.section-head { margin-top: 30px; }
.section-head h3 { font-size: 18px; font-weight: 800; }
.tabbar { gap: 12px; padding-top: 12px; padding-bottom: calc(12px + var(--safe-bottom)); background: #101116ed; border-top-color: #ffffff0d; }
.tabbar button { max-width: 160px; position: relative; font-size: 10px; font-weight: 700; gap: 4px; }
.tabbar button.on { color: var(--gold); }
.tabbar button.on::before { content: ""; position: absolute; top: -13px; width: 28px; height: 2px; background: var(--gold); box-shadow: 0 0 14px #ffac4980; }
.btn { border-radius: 5px 14px 5px 14px; font-weight: 800; letter-spacing: .01em; }
.btn.primary { font-family: var(--display); font-style: normal; font-size: 22px; color: #fff8ec; border: 1px solid #ba864e; border-left: 4px solid #ffc076; background: linear-gradient(110deg, #423226, #22262e 68%); box-shadow: inset 0 1px 0 #ffffff14, 0 4px 0 #08090c; }
.btn.primary:hover:not(:disabled) { filter: brightness(1.08); }
.btn.ghost { border: 1px solid var(--line-strong); }
.btn.primary.sm { font-family: Manrope, sans-serif; font-size: 12px; font-style: normal; }
.chip { border-radius: 6px; border: 1px solid var(--line); background: #15171d; font-size: 12px; box-shadow: none; }
.chip.on { color: #f9d295; background: #ffb34b10; border-color: #ffb34b50; box-shadow: none; }
.search { border-radius: 7px; border: 1px solid var(--line-strong); background: #111318; box-shadow: none; }
.search:focus-within { border-color: #ffb34b80; }
.search input { font-size: 12px; }

/* Artwork leaves its left side empty for real, selectable HTML typography. */
.rush-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 426px; overflow: hidden; border: 1px solid #54403055; border-radius: 12px; background: #0c0d0e; }
.rush-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; pointer-events: none; z-index: -2; }
.rush-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, #0b0c0fe0, #0b0c0f25 51%, transparent 75%); }
.rush-hero::after { content: ""; position: absolute; bottom: 0; left: 38px; height: 3px; width: 90px; background: #ffb34b; box-shadow: 0 0 24px #ff980090; }
.rush-hero-copy { padding: 35px 46px 34px; position: relative; }
.rush-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 9px; font-weight: 800; line-height: 1.5; letter-spacing: .18em; color: #dbb781; }
.rush-eyebrow i { height: 5px; width: 5px; background: var(--gold); box-shadow: 0 0 8px #ffb34b80; }
.rush-hero h1 { font-family: var(--display); font-size: clamp(72px, 7.4vw, 104px); font-weight: 800; font-style: normal; line-height: .87; letter-spacing: -1px; margin: 23px 0 19px; }
.rush-hero h1 em { font-style: inherit; color: var(--gold); background: linear-gradient(180deg, #ffe5a3, #ffa331); background-clip: text; -webkit-text-fill-color: transparent; }
.rush-hero-copy > p { font-size: 13px; color: #c0c0c4; letter-spacing: .01em; }
.rush-hero-cta { width: 202px; margin: 25px 0 16px; justify-content: space-between; font-size: 12px; height: 47px; }
.rush-hero-cta > span { font-size: 23px; font-weight: 500; }
.rush-hero-note { display: block; font-size: 9px; color: #a3a1a3; }
.rush-hero-edition { position: absolute; right: 20px; bottom: 20px; writing-mode: vertical-rl; font-size: 8px; letter-spacing: .21em; color: #c1ac837a; }
.rush-facts { display: flex; align-items: center; justify-content: center; gap: 45px; padding: 19px 0; }
.rush-facts > div { display: flex; align-items: center; gap: 9px; }
.rush-facts b { font-size: 16px; font-weight: 800; color: #d5d5db; }
.rush-facts span { font-size: 10px; color: #8c8e9b; }
.rush-fact-icon svg { width: 19px; height: 19px; stroke: #9b8c70; fill: none; stroke-width: 1.8; vertical-align: middle; }
.rush-featured { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rush-feature { position: relative; isolation: isolate; display: flex; align-items: flex-start; flex-direction: column; min-width: 0; padding: 17px 19px; overflow: hidden; border: 1px solid #ffffff10; border-radius: 9px; background: radial-gradient(ellipse at 85% 100%, #c4791626, transparent 70%), #14161b; text-align: left; }
.rush-feature > span:not(.rush-feature-art) { position: relative; z-index: 1; }
.rush-feature-index { font-size: 7px; font-weight: 700; letter-spacing: .15em; color: #9e8c75; }
.rush-feature-name { font-family: var(--display); font-style: normal; font-size: 29px; line-height: 1.05; font-weight: 800; margin: 7px 0; }
.rush-feature-price { display: inline-flex; align-items: center; gap: 12px; font-size: 10px; color: #d6c8b1; }
.rush-feature-price .coin { width: 12px; height: 12px; }
.rush-feature-price > i { font-size: 17px; font-style: normal; color: #a49b8d; }
.rush-feature-art { position: absolute; z-index: 0; right: 1%; top: -10%; width: 53%; height: 125%; transform: rotate(-13deg); opacity: .9; }
.rush-feature-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 7px 12px #000); }
.rush-feature:hover { border-color: #ad81444d; background-color: #1b1b1e; }
.rush-catalog-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-top: 38px; scroll-margin-top: calc(100px + var(--safe-top)); }
.rush-catalog-head h2 { font-family: var(--display); font-size: 36px; font-weight: 800; font-style: normal; letter-spacing: .1px; margin-top: 3px; }
.rush-catalog-head h2 > span { white-space: nowrap; color: #565864; font-family: Manrope, sans-serif; font-size: 13px; font-style: normal; margin-left: 5px; vertical-align: middle; }
.rush-catalog-head .search { width: 270px; margin: 0 0 3px; }
.home-page #sections { margin-top: 19px; gap: 7px; padding-bottom: 5px; }
.home-page #sections .chip { height: 36px; }
.home-page .section-head { margin-bottom: 14px; }
.home-page .section-head h3 { display: flex; align-items: center; gap: 9px; font-size: 15px; letter-spacing: -.3px; }
.home-page .section-head h3::before { content: ""; width: 3px; height: 16px; background: #ffb34b; transform: skew(-15deg); }
.home-page .section-head > .small { font-family: var(--mono); font-size: 10px; color: #757783; }
.case-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.case-card { padding: 16px; gap: 5px; border: 1px solid #ffffff12; border-radius: 10px; background: radial-gradient(ellipse at 50% 27%, color-mix(in srgb, var(--case-accent) 13%, transparent), transparent 70%), linear-gradient(150deg, #1c1f27, #111318 80%); transition: border-color .2s, transform .2s; }
.case-card::before { content: ""; position: absolute; inset: 8% 16% 26%; border: 1px solid color-mix(in srgb, var(--case-accent) 12%, transparent); transform: rotate(-18deg); pointer-events: none; mask-image: linear-gradient(145deg, #000, transparent 70%); }
.case-card::after { content: ""; position: absolute; width: 26px; height: 3px; top: 0; right: 20px; background: var(--case-accent); transform: skew(-25deg); opacity: .8; }
.case-img { aspect-ratio: 1.3; position: relative; }
.case-img img { width: 104%; height: 100%; filter: drop-shadow(0 12px 16px #0009); }
.case-name { text-align: left; font-size: 15px; font-weight: 800; margin-top: 5px; }
.case-bottom { display: flex; align-items: center; justify-content: space-between; width: 100%; padding-top: 7px; margin-top: 1px; }
.case-card .price-tag { color: #edc282; background: #ffb34b0d; border-radius: 5px; padding: 6px 9px; font-size: 12px; }
.case-arrow { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 5px; border: 1px solid #ffffff0d; color: #95949b; font-size: 19px; }
.tag { border-radius: 3px; font-size: 7px; letter-spacing: .1em; padding: 4px 6px; }
.tag.hot { color: #251506; background: #ffb24b; box-shadow: none; }
.tag.new { color: #b1ddc3; background: #263b30; box-shadow: none; }
@media (hover: hover) {
  .case-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--case-accent) 55%, #34333b); }
  .case-card:hover .case-img img { transform: translateY(-6px) rotate(-4deg) scale(1.06); }
  .case-card:hover .case-arrow { background: var(--gold); color: #201205; }
}
.rush-bottom-perks { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 38px; border-top: 1px solid var(--line); padding-top: 24px; }
.rush-bottom-perks .perk { border-radius: 8px; border: 1px solid var(--line); background: #111318; }
.rush-bottom-perks .perk-icon { color: var(--gold); background: #ffb34b10; border-radius: 7px; width: 32px; height: 32px; }
.rush-bottom-perks .perk > b { font-size: 12px; }
.rush-bottom-perks .perk > span:last-child { font-size: 11px; }
.footnote { padding: 12px; font-size: 9px; line-height: 1.8; }
.footnote b { color: var(--gold); }

/* Interior views keep the same materials, with a quieter form surface. */
.case-page .stage { overflow: hidden; padding: 16px 8px; border-radius: 12px; border: 1px solid #ffb34b25; background: radial-gradient(ellipse at 50% 40%, #bc7e191a, transparent 65%), linear-gradient(150deg, #202128, #111318); }
.hero h1 { font-family: var(--display); font-size: 44px; font-style: normal; font-weight: 800; }
.hero-glow { background: radial-gradient(closest-side, #ff9d002c, transparent); }
.item { border-radius: 8px; border: 1px solid var(--line); }
.seg, .seg button, .icon-btn { border-radius: 6px; }
.seg button.on { color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold); }
.sheet { border-radius: 16px 16px 0 0; border-top: 1px solid #ffb34b55; background: linear-gradient(135deg, #202128, #111318); }
.tabs2 { border-radius: 8px; border: 1px solid var(--line); padding: 4px; }
.tabs2 button { border-radius: 5px; font-size: 12px; }
.tabs2 button.on { color: #ffce85; background: #ffb34b12; box-shadow: none; }
.wallet-card { position: relative; overflow: hidden; border-radius: 12px; padding: 24px; border: 1px solid #ffb34b25; background: url('/img/brand/rush-mark-v2.png') no-repeat right -25px center / 190px, linear-gradient(110deg, #25211b, #121419); box-shadow: 0 12px 36px #0003; }
.wallet-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent 35%, #15151899); }
.wallet-card > * { position: relative; }
.wc-top > .muted { font-size: 9px; text-transform: uppercase; letter-spacing: .16em; }
.wc-sign { color: #bba37c; font-size: 7px; letter-spacing: .16em; }
.wc-amount { margin: 12px 0 6px; font-size: 40px; font-weight: 800; letter-spacing: -1.5px; }
.wc-amount .coin { width: 24px; height: 24px; vertical-align: 2px; }
.wc-meta { font-size: 10px; color: #a7a2a0; }
.wallet-pane { margin-top: 17px; }
.deposit-heading { margin: 23px 0 18px; }
.deposit-heading h2 { font-size: 25px; font-weight: 800; letter-spacing: -1px; margin-top: 4px; }
.deposit-heading p { font-size: 11px; margin-top: 6px; }
.methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0 0 23px; }
.method { position: relative; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; padding: 15px; border-radius: 8px; background: #16191f; box-shadow: inset 0 0 0 1px #ffffff14; }
.method.on { background: linear-gradient(140deg, #30271b, #1c1b1a); box-shadow: inset 0 0 0 1px #ffb34b99; }
.method-text b { font-size: 13px; }
.method-text .small { font-size: 9px; margin-top: 2px; }
.method .req-mark { position: absolute; top: 16px; right: 12px; width: 15px; height: 15px; }
.method .req-mark.ok { background: var(--gold); border-color: var(--gold); color: #251707; }
.method .req-mark svg { width: 10px; height: 10px; }
.wallet-pane > .field-label { display: flex; align-items: center; justify-content: space-between; font-size: 11px; margin-bottom: 10px; }
.wallet-pane > .field-label > span { font-size: 9px; color: var(--muted); letter-spacing: .1em; }
.amount-box { height: 73px; border-radius: 8px; border: 1px solid #ffffff1a; background: #111318; box-shadow: none; }
.amount-input { font-size: 32px; font-weight: 700; }
.amount-cur { font-size: 18px; font-weight: 700; color: #e8c48f; }
.wallet .presets { gap: 7px; margin-top: 10px; }
.wallet .presets .chip { flex: 1 0 auto; font-size: 11px; height: 35px; padding: 0 10px; }
.presets .chip > span { font-size: 9px; color: var(--muted); margin-left: 3px; }
.wallet .sum-row { font-size: 12px; margin: 22px 0 17px; }
.deposit-promo-banner { display: flex; align-items: center; gap: 12px; margin: 19px 0 14px; padding: 12px 14px; border: 1px solid #f4a85d5c; border-radius: 9px; background: radial-gradient(circle at 100% 0, #fb89312e, transparent 62%), #231a18; }
.deposit-promo-mark { flex: none; display: grid; place-items: center; width: 54px; height: 47px; border-radius: 7px; background: #f7ad6630; color: #ffd29a; font: 800 22px/1 var(--display); letter-spacing: -.05em; }
.deposit-promo-banner > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.deposit-promo-banner b { color: #ffe0b2; font-size: 13px; }
.deposit-promo-banner small { color: #c9b2a3; font-size: 10px; line-height: 1.4; }
.promo-code-box { display: flex; align-items: center; gap: 8px; height: 49px; padding: 0 13px; border: 1px solid #ffffff2a; border-radius: 8px; background: #111318; transition: border-color .2s, box-shadow .2s; }
.promo-code-box:focus-within, .promo-code-box.valid { border-color: #f5b365; box-shadow: 0 0 0 2px #f5b36518; }
.promo-code-box.invalid { border-color: #e88383; }
.promo-code-box input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: #fff5e8; font: 700 13px var(--mono); letter-spacing: .12em; text-transform: uppercase; user-select: text; -webkit-user-select: text; }
.promo-code-box input::placeholder { color: #8e8e97; font: 400 12px system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
.promo-code-box > span { color: #ffc587; font: 800 11px var(--display); }
.promo-code-hint { min-height: 15px; margin: 6px 2px 0; color: #9e9da8; font-size: 10px; }
.promo-code-hint.valid { color: #f2bd7e; }
.promo-code-hint.invalid { color: #ee9999; }
.boo-promo-card { position: relative; overflow: hidden; margin: 15px 0; padding: 21px; border: 1px solid #f4a66374; border-radius: 10px; background: radial-gradient(ellipse at 86% 18%, #9d482d80, transparent 53%), linear-gradient(135deg, #281b1b, #12141c 75%); }
.boo-promo-card::after { content: '✦'; position: absolute; right: 22px; top: 9px; color: #ffaf6466; font-size: 108px; line-height: 1; transform: rotate(-18deg); pointer-events: none; }
.boo-promo-card > * { position: relative; z-index: 1; }
.boo-promo-card .rush-eyebrow { color: #f4b573; }
.boo-promo-card strong { display: block; margin-top: 8px; color: #fff2dc; font: 800 clamp(34px, 9vw, 53px)/1 var(--display); letter-spacing: -.05em; }
.boo-promo-card strong em { color: #ffb466; font-style: normal; }
.boo-promo-card p { max-width: 450px; margin: 9px 0 16px; color: #d6c5b8; font-size: 12px; line-height: 1.5; }
.wallet [data-deposit] { margin-top: 20px; height: 52px; font-size: 13px; }
.wallet-note { font-size: 10px; line-height: 1.7; }
.pay-wait { border-radius: 8px; border: 1px solid #ffb34b35; background: #221e17; box-shadow: none; align-items: center; }
.pay-wait .pw-text { min-width: 0; }
.pay-wait .pw-text > b { font-size: 12px; line-height: 1.6; }
.pay-wait .pw-text > span { font-size: 10px; line-height: 1.7; }
.pay-wait .spinner { color: var(--gold); }
.pay-error { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; padding: 14px; border: 1px solid #ff775035; border-radius: 8px; background: #251a18; }
.pay-error-mark { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid #ff986477; border-radius: 50%; color: #ffac80; font-weight: 800; }
.pay-error > div { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pay-error b { color: #f5bda4; font-size: 12px; line-height: 1.6; }
.pay-error .link { font-size: 11px; }
.pay-row, .steam-how, .trade-box, .reqs { border-radius: 8px; }
.test-note { border-radius: 6px; font-size: 10px; }
.login { background: radial-gradient(ellipse at 50% 15%, #bc4d0020, transparent 60%); }
.login-brand-art { height: 230px; width: 100%; margin: 6px auto 0; }
.login-brand-art img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 8px 24px #ff8b0020); }
.login-head { margin-top: 4px; }
.login-head .brand { font-size: 60px; }
.login .login-perks { margin-top: 20px; }
.login-bg { opacity: .25; }

@media (max-width: 900px) {
  .rush-hero { min-height: 390px; }
  .rush-hero-copy { padding: 30px; }
  .rush-hero h1 { font-size: 80px; }
  .rush-hero-art { object-position: 60% center; }
  .rush-hero::before { background: linear-gradient(90deg, #0b0c0fe0, #0b0c0f10 85%); }
  .rush-feature-name { font-size: 25px; }
  .case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rush-catalog-head h2 { font-size: 31px; }
  .rush-catalog-head .search { width: 220px; }
}
@media (max-width: 600px) {
  .topbar { padding: calc(8px + var(--safe-top)) 16px 8px; }
  .logo-mark { width: 39px; height: 39px; }
  .brand { font-size: 29px; }
  .logo { gap: 5px; }
  .page { padding: 15px 16px 24px; }
  .top-right { gap: 7px; }
  .balance { height: 36px; padding: 0 9px; gap: 5px; font-size: 12px; }
  .lvl { transform: scale(.9); }
  .rush-hero { min-height: 422px; align-items: flex-end; border-radius: 10px; }
  .rush-hero-art { height: 250px; object-fit: cover; object-position: 82% 30%; }
  .rush-hero::before { background: linear-gradient(0deg, #0d0e11 34%, #0d0e1100 77%); }
  .rush-hero-copy { width: 100%; padding: 169px 23px 22px; }
  .rush-eyebrow { font-size: 8px; letter-spacing: .16em; }
  .rush-hero h1 { font-size: clamp(57px, 16vw, 79px); line-height: .87; letter-spacing: -.5px; margin: 13px 0 12px; }
  .rush-hero-copy > p { font-size: 11px; }
  .rush-hero-cta { width: 183px; height: 43px; font-size: 11px; margin: 19px 0 13px; }
  .rush-hero-note { font-size: 8px; }
  .rush-hero-edition { display: none; }
  .rush-hero::after { left: 23px; width: 55px; height: 2px; }
  .rush-facts { gap: 0; justify-content: space-between; padding: 17px 2px; }
  .rush-facts > div { gap: 5px; }
  .rush-facts b { font-size: 12px; }
  .rush-facts span { font-size: 8px; }
  .rush-fact-icon svg { width: 15px; height: 15px; }
  .rush-featured { display: flex; gap: 9px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
  .rush-featured::-webkit-scrollbar { display: none; }
  .rush-feature { flex: 0 0 74%; scroll-snap-align: start; padding: 13px 15px; }
  .rush-feature-name { font-size: 25px; margin: 5px 0; }
  .rush-feature-index { font-size: 6px; }
  .rush-feature-price { font-size: 9px; }
  .rush-feature-art { width: 54%; right: 0; }
  .rush-catalog-head { margin-top: 26px; flex-direction: column; align-items: stretch; gap: 15px; }
  .rush-catalog-head h2 { font-size: 30px; }
  .rush-catalog-head h2 > span { font-size: 10px; }
  .rush-catalog-head .search { width: 100%; }
  .home-page #sections { margin-top: 12px; }
  .home-page #sections .chip { height: 33px; font-size: 10px; }
  .home-page .section-head { margin-top: 23px; margin-bottom: 11px; }
  .home-page .section-head h3 { font-size: 13px; }
  .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .case-card { padding: 12px; border-radius: 8px; }
  .case-img { aspect-ratio: 1.13; }
  .case-name { font-size: 12px; }
  .case-card .price-tag { font-size: 10px; padding: 5px 7px; }
  .case-arrow { width: 24px; height: 24px; font-size: 16px; }
  .rush-bottom-perks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wallet-card { padding: 19px; background-size: 155px, auto; }
  .wc-amount { font-size: 35px; }
  .wc-sign { font-size: 6px; }
  .deposit-heading h2 { font-size: 23px; }
  .methods { gap: 8px; }
  .method { padding: 13px 11px; gap: 9px; }
  .method .req-mark { right: 10px; top: 15px; width: 13px; height: 13px; }
  .method-text b { font-size: 12px; }
  .wallet .presets .chip { font-size: 10px; padding: 0 7px; }
  .amount-input { font-size: 30px; }
  .wallet-note { font-size: 9px; }
}
@media (max-width: 350px) {
  .topbar { padding-left: 12px; padding-right: 12px; }
  .brand { font-size: 26px; }
  .logo-mark { width: 34px; height: 34px; }
  .top-right { gap: 3px; }
  .rush-hero-copy { padding-left: 18px; padding-right: 18px; }
  .rush-catalog-head h2 { font-size: 24px; }
  .rush-facts b { font-size: 11px; }
  .rush-facts > div { gap: 3px; }
  .wc-sign { display: none; }
  .wallet .presets .chip { flex-basis: calc(50% - 7px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* September lobby: compact drops, collectible posters, dark control surfaces. */
.logo { min-width: 0; flex-shrink: 1; }
/* Keep the original orange wordmark in the Mini App. */
.logo-wordmark { width: 210px; height: 62px; object-fit: contain; max-width: 100%; }
.top-right { flex-shrink: 0; }
.balance { background: #1b1e26; border-color: #ffffff24; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bal-plus { flex: none; margin-right: 0; background: #303540; color: #ffe1aa; border: 1px solid #ffca6a55; }
.amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.rush-hero-cta { width: 224px; height: 51px; }
.rush-hero-note { color: #b5b4bd; }
.tag.hot { color: #ffd594; background: #53361e; border: 1px solid #eaa14b55; }
.case-arrow { color: #f4c886; }
.drop-section { padding: 17px 0 21px; border-top: 1px solid #ffffff12; border-bottom: 1px solid #ffffff12; }
.drop-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.drop-heading > span { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.drop-heading > small { color: #a5a9b7; font-size: 10px; text-align: right; }
.live-dot { display: block; width: 6px; height: 6px; border-radius: 50%; background: #95dcc8; box-shadow: 0 0 10px #70d6b866; }
.drop-track { display: flex; gap: 9px; overflow-x: auto; min-height: 157px; padding: 1px 1px 7px; scrollbar-width: thin; scrollbar-color: #3a414e transparent; }
.drop-empty { display: flex; align-items: center; justify-content: center; gap: 10px; flex: 1; min-height: 148px; border: 1px dashed #ffffff20; border-radius: 5px; background: #141820; color: #a5a9b7; font-size: 12px; }
.drop-card { position: relative; flex: 0 0 155px; display: flex; flex-direction: column; align-items: flex-start; padding: 10px 12px; text-align: left; overflow: hidden; border: 1px solid #ffffff0d; border-bottom: 2px solid var(--rc); border-radius: 5px; background: radial-gradient(ellipse at 75% 40%, color-mix(in srgb, var(--rc) 13%, transparent), transparent 75%), #141820; }
.drop-card:hover { background-color: #202530; }
.drop-player { color: #b7bdcc; font-size: 8px; letter-spacing: .03em; }
.drop-player small { display: block; color: #8992a3; font-size: 8px; margin-top: 3px; }
.drop-card img { width: 100%; height: 55px; object-fit: contain; margin: 2px 0; }
.drop-card b { font-size: 11px; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.drop-weapon { font-size: 9px; color: #aab2c3; }
.drop-value { color: #e6d9c6; font-size: 10px; margin-top: 5px; }
.drop-case { font-size: 9px; color: #929bad; margin-top: 4px; }
.promo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; }
.promo-banner { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: stretch; min-width: 0; min-height: 245px; padding: 20px; overflow: hidden; text-align: left; border: 1px solid #ffffff20; border-radius: 7px; background: #1b2442; transition: transform .2s, border-color .2s; }
.promo-banner::after { content: ''; position: absolute; z-index: -1; inset: 10px; border: 1px solid #ffffff0c; pointer-events: none; }
.promo-sixseven { background: radial-gradient(ellipse at 95% 15%, #8173ee66, transparent 65%), #23243d; }
.promo-stream { background: radial-gradient(ellipse at 100% 10%, #d59c4440, transparent 65%), #33271c; }
.promo-clutch { background: radial-gradient(ellipse at 80% 10%, #49959340, transparent 65%), #142c2d; }
.promo-tag { position: relative; z-index: 1; color: #e3dff2; font-size: 9px; letter-spacing: .15em; font-weight: 800; }
.promo-type { position: absolute; top: 4px; right: 10px; font: 800 138px/.9 var(--display); color: #b9acff; transform: rotate(-12deg); text-shadow: 5px 5px 0 #0a0c1a, 6px 6px 0 #c3b2ff; opacity: .88; }
.promo-stream .promo-type { color: #ffdc9d; right: 20px; transform: rotate(9deg); text-shadow: 5px 5px 0 #221a14, 6px 6px 0 #d2b573; }
.promo-copy { display: flex; position: relative; flex-direction: column; margin-top: auto; padding-top: 100px; z-index: 1; }
.promo-copy b { font: 800 31px/1 var(--display); text-shadow: 0 2px 10px #0009; }
.promo-copy small { font-size: 10px; color: #ccc9d7; margin-top: 7px; line-height: 1.5; }
.promo-bottom { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 700; margin-top: 13px; color: #fff1d9; }
.promo-arrow { display: grid; place-items: center; height: 26px; width: 32px; border: 1px solid #ffffff35; border-radius: 3px; font-size: 20px; }
.promo-art { position: absolute; right: -5%; top: 15px; width: 82%; height: 150px; object-fit: contain; transform: rotate(-13deg); filter: drop-shadow(0 12px 10px #0009); z-index: -1; }
@media (hover: hover) { .promo-banner:hover { transform: translateY(-3px); border-color: #ffffff66; } }
.login { max-width: 720px; padding-top: 20px; gap: 0; }
.login-masthead { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
.login-masthead img { width: 215px; height: 66px; object-fit: contain; }
.login-masthead > span { font: 11px var(--mono); color: #acadb8; padding: 6px 8px; border: 1px solid #ffffff25; border-radius: 4px; }
.login-poster { position: relative; isolation: isolate; overflow: hidden; min-height: 315px; padding: 24px; border: 1px solid #72839645; border-radius: 8px; background: radial-gradient(ellipse at 85% 20%, #506e8055, transparent 65%), repeating-linear-gradient(-45deg, transparent 0 50px, #ffffff03 51px 52px), #141b24; }
.poster-kicker { font-size: 9px; letter-spacing: .18em; color: #bed1dc; font-weight: 700; }
.login-poster > img { position: absolute; width: 65%; height: 95%; top: -15%; right: -8%; object-fit: contain; transform: rotate(-25deg); z-index: -1; filter: drop-shadow(0 18px 20px #0009); }
.poster-stamp { position: absolute; right: 20px; bottom: 26px; padding: 8px; border: 1px solid #a4b7c460; transform: rotate(9deg); color: #aec6d6; font: 800 17px/.95 var(--display); }
.login-poster .login-head { align-items: flex-start; text-align: left; margin-top: 100px; }
.login-poster h1 { font: 800 68px/.88 var(--display); letter-spacing: -.8px; }
.login-poster h1 em { color: #ffcb83; }
.login-poster .login-head p { margin-top: 12px; font-size: 11px; color: #bac3d2; }
.login .login-perks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.login-perks > div { display: grid; grid-template-columns: 28px 1fr; gap: 5px 8px; align-items: center; padding: 13px 10px; border-bottom: 1px solid #ffffff16; }
.login-perks .lp-icon { width: 28px; height: 28px; border: 1px solid #9babb44a; border-radius: 7px; background: #23303b; color: #b6d8e4; }
.login-perks .lp-icon svg { width: 17px; height: 17px; }
.login-perks b { font-size: 11px; }
.login-perks small { grid-column: 2; font-size: 10px; line-height: 1.5; color: #a8b0bf; }
.login-mini-banner { position: relative; overflow: hidden; padding: 19px; border: 1px solid #c2a48433; border-radius: 6px; background: linear-gradient(110deg, #392d28, #1b1925); }
.login-mini-banner small { display: block; color: #caafa6; font-size: 8px; letter-spacing: .12em; margin-bottom: 7px; }
.login-mini-banner b { position: relative; z-index: 1; font: 800 27px/1 var(--display); }
.login-mini-banner img { position: absolute; width: 160px; height: 160px; right: 0; top: -13px; transform: rotate(15deg); }
.btn.primary.login-btn { background: linear-gradient(110deg, #39382d, #202830); color: #fff6e3; box-shadow: inset 0 1px 0 #ffffff18, 0 4px 0 #08090c; }
.login-btn::after { display: none; }
.inventory-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 22px; }
.inventory-heading h1 { font: 800 36px var(--display); margin-top: 3px; }
.inventory-withdrawals:empty { display: none; }
.inventory-withdrawals { margin-bottom: 22px; padding: 14px; border: 1px solid #7cadca40; border-radius: 9px; background: #14202a; }
.withdraw-pending-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.withdraw-pending-head svg { flex: none; width: 23px; height: 23px; fill: none; stroke: #b5d5e6; stroke-width: 1.8; }
.withdraw-pending-head b { font-size: 13px; }
.withdraw-pending-head p { margin-top: 5px; font-size: 11px; line-height: 1.5; color: #adbdc9; }
.withdraw-form { padding: 6px 4px 16px; }
.withdraw-emblem { display: grid; place-items: center; margin: 0 auto 15px; width: 50px; height: 50px; border: 1px solid #94b6d04d; border-radius: 12px; color: #b8d8eb; background: #233442; }
.withdraw-emblem svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.withdraw-form .sheet-title { font: 800 32px var(--display); }
.withdraw-form > p { line-height: 1.6; font-size: 12px; }
.withdraw-steps { display: flex; padding: 0; margin: 24px 0; list-style: none; gap: 8px; counter-reset: step; }
.withdraw-steps li { flex: 1; padding: 8px 0; border-bottom: 2px solid #ffffff20; font-size: 11px; color: #989fae; }
.withdraw-steps li::before { counter-increment: step; content: '0' counter(step) ' / '; font-family: var(--mono); }
.withdraw-steps .on { color: #f1d2a5; border-color: #e4b277; }
.withdraw-input { width: 100%; border: 1px solid #ffffff35; background: #11151c; border-radius: 6px; min-height: 49px; padding: 12px; margin-top: 8px; font-size: 14px; color: #f5f3ef; }
.withdraw-error { color: #ffb0a3; min-height: 18px; margin: 10px 0; }
@media (max-width: 600px) {
  .logo-wordmark { width: 163px; height: 49px; }
  .topbar { padding-left: 12px; padding-right: 12px; gap: 6px; }
  .balance { padding: 0 7px; font-size: 11px; }
  .top-right { gap: 3px; }
  .rush-hero-cta { font-size: 22px; }
  .drop-card { flex-basis: 138px; }
  .drop-heading > span { font-size: 10px; }
  .drop-heading > small { font-size: 9px; }
  .promo-grid { grid-template-columns: 1fr 1fr; gap: 10px; margin: 19px 0; }
  .promo-banner { min-height: 210px; padding: 14px; }
  .promo-type { font-size: 104px; top: 13px; right: 7px; }
  .promo-copy { padding-top: 78px; }
  .promo-copy b { font-size: 27px; }
  .promo-copy small { font-size: 9px; }
  .promo-tag { font-size: 7px; }
  .promo-clutch { grid-column: 1 / -1; min-height: 146px; }
  .promo-clutch .promo-copy { padding-top: 25px; }
  .promo-clutch .promo-art { right: 3%; top: 0; width: 53%; height: 145px; }
  .promo-clutch .promo-bottom { width: 45%; }
  .login { padding: 12px 20px 24px; }
  .login-masthead { margin-bottom: 10px; }
  .login-masthead img { width: 182px; height: 60px; }
  .login-poster { min-height: 302px; padding: 19px; }
  .login-poster h1 { font-size: 62px; }
  .login-poster .login-head { margin-top: 108px; }
  .login-poster > img { width: 80%; right: -13%; top: -11%; }
  .poster-stamp { right: 12px; bottom: 52px; font-size: 14px; }
  .login .login-perks { gap: 4px 9px; }
  .login-perks > div { grid-template-columns: 1fr; gap: 8px; padding: 12px 3px; }
  .login-perks small { grid-column: 1; }
  .login-mini-banner b { font-size: 25px; }
  .login-foot { padding-top: 18px; }
  .inventory-heading h1 { font-size: 31px; }
  .inventory-withdrawals { padding: 10px; }
  .sheet-actions .btn.primary { font-size: 20px; }
}
@media (max-width: 360px) {
  .logo-wordmark { width: 130px; }
  .lvl { display: none; }
  .promo-copy b { font-size: 23px; }
  .drop-heading { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .promo-banner, .case-card, .case-card .case-img img { transition: none; }
}
.theme-case-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 88%; height: 92%; min-height: 110px; margin: 2% auto; border: 1px solid #afa0f877; border-radius: 10px; background: repeating-linear-gradient(-35deg, transparent 0 22px, #c3b2ff0c 23px 24px), linear-gradient(140deg, #4c426d, #1b203b); transform: rotate(-7deg); box-shadow: 7px 7px 0 #11141e, 8px 8px 0 #6e668d; }
.theme-case-art b { font: 800 clamp(60px, 8vw, 115px)/.9 var(--display); color: #d3c6ff; text-shadow: 3px 3px 0 #1b1c2a; }
.theme-case-art small { font-size: 8px; letter-spacing: .16em; color: #d8d0ed; }
.theme-case-art i { margin-top: 7px; font: normal 6px var(--mono); letter-spacing: .1em; color: #b0a7c9; }
.theme-stream { background: repeating-linear-gradient(-35deg, transparent 0 22px, #f3ce7e0c 23px 24px), linear-gradient(140deg, #59452a, #26201a); border-color: #cbb78677; box-shadow: 7px 7px 0 #191514, 8px 8px 0 #8a7251; }
.theme-stream b { color: #ffdc9d; }
.theme-stream small, .theme-stream i { color: #d7cbb7; }
.hero-img .theme-case-art { width: 80%; height: 90%; }
@media (max-width: 600px) { .theme-case-art b { font-size: 75px; } .hero-img .theme-case-art b { font-size: 110px; } }

/* Generated case posters and the expanded campaign wall. */
.case-card[data-case="six-seven"] .case-img img,
.case-card[data-case="mellstroy"] .case-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; filter: drop-shadow(0 10px 10px #0008); transform: rotate(-3deg) scale(.92); }
.case-page .hero-img img[src*="-art.jpg"] { width: min(75%, 330px); max-height: 330px; object-fit: contain; border-radius: 12px; box-shadow: 0 20px 36px #0009; transform: rotate(-4deg); }
.case-page .hero-poster { gap: 0; min-width: 0; }
.case-page .hero-poster .hero-glow { display: none; }
.case-page .hero-poster .hero-img { width: min(100%, 320px); height: auto; aspect-ratio: 1; margin-bottom: 16px; overflow: hidden; border-radius: 9px; animation: none; box-shadow: 0 16px 28px #0008; }
.case-page .hero-poster .hero-img img,
.case-page .hero-poster .hero-img img[src*="-art.jpg"] { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; border-radius: 0; box-shadow: none; filter: none; transform: none; }
.case-page .hero-poster h1 { width: 100%; padding: 0 8px; font-size: clamp(30px, 9vw, 44px); line-height: 1.04; overflow-wrap: anywhere; text-wrap: balance; }
.case-page .hero-poster .hero-meta { padding: 10px 8px 4px; }
.case-page .action-bar [data-open] { min-width: 0; padding-inline: 8px; font-size: clamp(16px, 5.5vw, 21px); }
.promo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 26px 0 31px; }
.promo-banner { min-height: 220px; padding: 20px; border-radius: 8px; background: #161a26; }
.promo-banner::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #08090de9 0%, #090b10b0 32%, #090b1050 64%, #090b1008 100%); pointer-events: none; }
.promo-artwork { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.promo-banner .promo-tag { color: #fcf5e9; background: #10141cac; width: fit-content; padding: 6px 8px; border-left: 2px solid #ffd09b; border-radius: 2px; text-shadow: 0 1px 5px #000; }
.promo-banner .promo-copy { padding-top: 95px; }
.promo-banner .promo-copy b { font-size: 38px; line-height: .95; color: #fffaf1; }
.promo-banner .promo-copy small { font-size: 11px; color: #e2e4ea; max-width: 260px; }
.promo-banner .promo-bottom { margin-top: 15px; font-size: 13px; color: #ffe8c6; }
.promo-banner .promo-arrow { border-color: #e8d9be80; width: 33px; }
.promo-feature { grid-column: span 3; min-height: 285px; }
.promo-wide { grid-column: span 6; min-height: 205px; }
.promo-mini { grid-column: span 2; min-height: 230px; }
.promo-sixseven .promo-artwork { object-position: center 40%; }
.promo-stream .promo-artwork { object-position: 67% 27%; }
.promo-budget .promo-artwork { object-position: right center; }
.promo-knife .promo-artwork { object-position: 62% center; }
.promo-cyber .promo-artwork { object-position: center 35%; }
.promo-sixseven .promo-tag { border-color: #c4b0ff; }
.promo-budget .promo-tag, .promo-clutch .promo-tag { border-color: #75d7e4; }
.promo-knife .promo-tag, .promo-cyber .promo-tag { border-color: #ad91ff; }
.promo-stream .promo-copy small { font-size: 10px; }
@media (max-width: 600px) {
  .promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .promo-feature { grid-column: span 1; min-height: 245px; }
  .promo-wide { grid-column: span 2; min-height: 180px; }
  .promo-mini { grid-column: span 1; min-height: 208px; }
  .promo-cyber { grid-column: span 2; min-height: 166px; }
  .promo-banner { padding: 13px; }
  .promo-banner .promo-copy { padding-top: 90px; }
  .promo-banner .promo-copy b { font-size: 27px; }
  .promo-banner .promo-copy small { font-size: 9px; line-height: 1.35; }
  .promo-banner .promo-tag { font-size: 7px; padding: 5px; }
  .promo-banner .promo-bottom { font-size: 12px; margin-top: 10px; }
  .promo-wide .promo-copy, .promo-cyber .promo-copy { padding-top: 24px; max-width: 52%; }
  .promo-budget .promo-artwork { object-position: 65% center; }
  .promo-stream .promo-artwork { object-position: 66% center; }
  .promo-stream .promo-copy b { font-size: 25px; }
  .promo-knife .promo-artwork { object-position: 60% center; }
}
.promo-banner .promo-artwork { z-index: 0; }
.promo-banner::before { z-index: 1; }
.promo-banner::after { z-index: 3; }
.promo-banner .promo-tag, .promo-banner .promo-copy, .promo-banner .promo-bottom { position: relative; z-index: 2; }
.profile-withdraw-note,
.inventory-preview-access {
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(255, 190, 91, .3);
  border-radius: 14px;
  background: rgba(255, 190, 91, .08);
  color: #e8dfce;
  font-size: 13px;
  line-height: 1.45;
}
.inventory-preview-access { display: grid; gap: 3px; margin: 0 0 16px; }
.inventory-preview-access b { color: #ffd38a; }
@media (max-width: 480px) {
  .balance-card .sheet-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .balance-card .sheet-actions .btn { width: 100%; min-width: 0; max-width: 100%; font-size: 15px; }
}

/* The two featured cases use their own arcade wordmarks across the catalog. */
@font-face { font-family: Bungee; src: url('/fonts/Bungee-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: RussoOne; src: url('/fonts/RussoOne-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
.promo-sixseven .promo-copy b,
.case-card[data-case="six-seven"] .case-name,
.case-page .hero[data-case="six-seven"] h1 {
  font-family: Bungee, Impact, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.07em;
  text-transform: uppercase;
  color: #e7ff8a;
  background: linear-gradient(180deg, #f4ffb7 0%, #b5ff45 52%, #7aef4b 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 3px 0 #6131ac) drop-shadow(2px 3px 0 #16102a);
}
.promo-stream .promo-copy b,
.case-card[data-case="mellstroy"] .case-name,
.case-page .hero[data-case="mellstroy"] h1 {
  font-family: RussoOne, Impact, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.055em;
  text-transform: uppercase;
  color: #fff1bd;
  background: linear-gradient(180deg, #fff6cd 5%, #ffb64c 50%, #ff6352 100%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 3px 0 #952b33) drop-shadow(2px 3px 0 #321319);
}
.promo-sixseven .promo-copy b { font-size: clamp(27px, 3.6vw, 50px); white-space: nowrap; transform: rotate(-2deg); transform-origin: left center; }
.promo-stream .promo-copy b { font-size: clamp(29px, 4vw, 54px); white-space: nowrap; transform: skewX(-6deg); transform-origin: left center; }
.case-card[data-case="six-seven"] .case-name,
.case-card[data-case="mellstroy"] .case-name { font-size: clamp(12px, 1.4vw, 17px); overflow: visible; text-overflow: clip; }
.case-page .hero[data-case="six-seven"] h1,
.case-page .hero[data-case="mellstroy"] h1 { font-size: clamp(34px, 7vw, 62px); margin: 12px 0 4px; }
.case-page .hero-poster[data-case="six-seven"] h1,
.case-page .hero-poster[data-case="mellstroy"] h1 { margin: 0; }
@media (max-width: 600px) {
  .promo-sixseven .promo-copy b { font-size: clamp(20px, 6vw, 27px); }
  .promo-stream .promo-copy b { font-size: clamp(20px, 5.7vw, 26px); }
}

/* Responsive campaign carousel: image and selectable copy stay in separate layers. */
.campaign-carousel { margin: 20px 0 8px; }
.campaign-stage { position: relative; height: 290px; overflow: hidden; border: 1px solid #ffffff24; border-radius: 12px; background: #101118; }
.campaign-slide { position: absolute; inset: 0; isolation: isolate; display: flex; align-items: center; width: 100%; padding: 30px 34px; text-align: left; color: #fff; opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .45s ease, transform .65s ease, visibility 0s .45s; }
.campaign-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); transition-delay: 0s; }
.campaign-slide > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.campaign-slide::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #090b10fa 0%, #090b10dd 33%, #090b1059 64%, #090b1008 100%); }
.campaign-content { display: flex; flex-direction: column; align-items: flex-start; width: min(51%, 490px); min-width: 0; }
.campaign-content > small { color: #f2c58c; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.campaign-content > strong { margin-top: 10px; font: 400 clamp(29px, 4vw, 52px)/.96 RushHero, var(--display); letter-spacing: -.045em; word-break: normal; overflow-wrap: normal; text-shadow: 0 3px 15px #000a; }
.campaign-content > strong span { display: block; white-space: nowrap; }
.campaign-content > span { margin-top: 11px; max-width: 390px; color: #dedee3; font-size: 12px; line-height: 1.42; }
.campaign-content > em { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 158px; margin-top: 18px; padding: 10px 13px; color: #fff5e9; font-size: 11px; font-style: normal; font-weight: 800; border: 1px solid #e6ae746b; border-left: 3px solid #ffc37d; border-radius: 5px 12px 5px 12px; background: #2c292bdb; }
.campaign-content > em i { font-size: 17px; font-style: normal; line-height: 1; }
.campaign-controls { display: flex; align-items: center; gap: 12px; padding: 11px 2px; color: #8f949f; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.campaign-dots { display: flex; justify-content: center; gap: 6px; margin-left: auto; }
.campaign-dots button { width: 18px; height: 4px; padding: 0; border: 0; border-radius: 10px; background: #4a4b56; }
.campaign-dots button.is-active { width: 31px; background: #ffb34b; }
.campaign-next { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; color: #d9c8ac; font-size: 20px; border: 0; background: transparent; }

/* Specific case banners replace the oversized text compositions. */
.promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 22px 0 30px; }
.promo-grid .promo-banner { grid-column: auto; min-height: 222px; padding: 16px; border-radius: 9px; }
.promo-grid .promo-banner::before { background: linear-gradient(90deg, #08090de8, #08090d9c 47%, #08090d05 100%); }
.promo-grid .promo-artwork { object-position: 68% center; }
.promo-grid .promo-copy { max-width: 58%; margin-top: auto; padding-top: 50px; }
.promo-grid .promo-copy b { font: 800 clamp(25px, 2.9vw, 37px)/.94 var(--display); overflow-wrap: anywhere; }
.promo-grid .promo-copy small { max-width: 180px; color: #e1d9d5; font-size: 10px; line-height: 1.3; }
.promo-grid .promo-bottom { width: 58%; margin-top: 14px; }
.promo-grid .promo-arrow { display: none; }
.promo-grid .promo-tag { font-size: 8px; }

.drop-heading .drop-online { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; padding: 5px 7px; border: 1px solid #95dcc82a; border-radius: 5px; background: #83d9c611; color: #9fdcca; font-size: 9px; white-space: nowrap; }
.drop-online b { color: #c8f8e6; font-variant-numeric: tabular-nums; }
.drop-online i { margin-left: 2px; padding: 2px 3px; border: 1px solid #d9ac684c; border-radius: 2px; color: #edc78f; font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.drop-heading > small { margin-left: 4px; }
.drop-card.entering { animation: drop-enter .45s cubic-bezier(.18,.8,.28,1.15) both; }
@keyframes drop-enter { from { opacity: 0; transform: translateX(-16px) scale(.95); } to { opacity: 1; transform: translateX(0) scale(1); } }

@media (max-width: 600px) {
  .campaign-stage { height: 260px; }
  .campaign-slide { padding: 16px 17px; }
  .campaign-slide::before { background: linear-gradient(90deg, #090b10f7 0%, #090b10d8 48%, #090b1055 82%, #090b1010 100%); }
  .campaign-slide > img { object-position: 66% center; }
  .campaign-content { width: min(68%, 230px); }
  .campaign-content > small { font-size: 8px; }
  .campaign-content > strong { font-size: clamp(24px, 6.5vw, 34px); line-height: .96; margin-top: 8px; }
  .campaign-content > span { margin-top: 8px; font-size: 10px; line-height: 1.35; }
  .campaign-content > em { min-width: 0; width: auto; margin-top: 12px; padding: 8px 10px; font-size: 10px; }
  .campaign-controls { font-size: 8px; }
  .promo-grid { grid-template-columns: 1fr; }
  .promo-grid .promo-banner { min-height: 188px; }
  .promo-grid .promo-copy { max-width: 55%; padding-top: 25px; }
  .promo-grid .promo-copy b { font-size: clamp(23px, 6vw, 31px); }
  .promo-grid .promo-bottom { width: 55%; }
  .drop-heading { flex-wrap: wrap; }
  .drop-heading > small { width: 100%; margin-left: 14px; text-align: left; }
}
@media (max-width: 360px) {
  .campaign-stage { height: 278px; }
  .campaign-content { width: 70%; }
  .campaign-content > strong { font-size: 23px; }
  .campaign-controls > span { display: none; }
  .campaign-dots { margin-left: 0; }
  .drop-online { font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .campaign-slide, .drop-card.entering { transition: none; animation: none; }
}

/* Игровые режимы и акции: короткие заголовки поверх затемнённого арта. */
.modes-title { padding: 16px 0 10px; }
.modes-title h1, .mode-cover h1, .promo-page-hero h1 { margin: 6px 0; font: 800 clamp(39px, 6vw, 60px)/.92 var(--display); }
.modes-title p, .mode-cover p, .promo-page-hero p { margin: 7px 0 0; color: #b8bac4; font-size: 12px; }
.modes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0 22px; }
.mode-banner { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; min-height: 220px; padding: 17px; overflow: hidden; text-align: left; color: #fff; border: 1px solid #ffffff26; border-radius: 10px; background: #171c24; }
.mode-banner > img, .mode-cover > img, .promo-page-hero > img, .profile-promo > img, .promo-feature-strip > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.mode-banner::before, .mode-cover::before, .promo-page-hero::before, .profile-promo::before, .promo-feature-strip::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #080a0ef2, #080a0e70 48%, #080a0e50); }
.mode-no { color: #ffc88b; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.mode-banner-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.mode-banner-copy strong { max-width: 100%; font: 800 clamp(29px, 4vw, 43px)/.92 var(--display); text-transform: uppercase; overflow-wrap: anywhere; }
.mode-banner-copy small { color: #dedee4; font-size: 11px; line-height: 1.3; }
.mode-banner-copy em { margin-top: 7px; color: #ffcb90; font-size: 11px; font-style: normal; font-weight: 800; }
.mode-banner:hover { border-color: #ffbf79; transform: translateY(-2px); }
.mode-cover, .promo-page-hero { position: relative; isolation: isolate; min-height: 225px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; overflow: hidden; border: 1px solid #ffffff24; border-radius: 10px; }
.mode-cover > img, .promo-page-hero > img { object-position: 65% center; }
.mode-cover .rush-eyebrow, .promo-page-hero .rush-eyebrow { color: #ffd19e; }
.mode-cover p, .promo-page-hero p { color: #e5e4e9; }
.mode-explain, .promo-info-card { margin: 15px 0; padding: 15px 17px; border: 1px solid #ffffff1e; border-left: 3px solid #ffbc73; border-radius: 5px 10px 10px 5px; background: #1b1e25; color: #d4d6df; font-size: 12px; line-height: 1.5; }
.mode-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.mode-inventory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-height: 380px; overflow: auto; padding: 2px 0; }
.mode-item { display: flex; align-items: center; min-width: 0; gap: 8px; padding: 7px; text-align: left; color: #eee; border: 1px solid #ffffff1f; border-radius: 7px; background: #1b1f29; }
.mode-item.selected { border-color: #ffbc73; background: #382e28; }
.mode-item:disabled { opacity: .36; }
.mode-item img { flex: 0 0 56px; width: 56px; height: 50px; object-fit: contain; }
.mode-item span { min-width: 0; display: flex; flex-direction: column; }
.mode-item span b, .mode-item span small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mode-item span b { font-size: 10px; }
.mode-item span small { color: #9a9eaa; font-size: 9px; }
.mode-item em { margin-left: auto; white-space: nowrap; color: #ffcb90; font-size: 10px; font-style: normal; }
.mode-quote { margin: 18px 0 12px; padding: 15px; border: 1px solid #ffffff20; border-radius: 8px; background: #171b23; color: #b5b8c3; font-size: 12px; }
.mode-quote-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.mode-quote-head b { color: #fff; }
.mode-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.mode-outcome { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 5px; border: 1px solid #ffffff18; border-radius: 6px; background: #222733; }
.mode-outcome img { width: 40px; height: 40px; object-fit: contain; }
.mode-outcome span:not(.mode-empty-mark) { display: flex; min-width: 0; flex-direction: column; }
.mode-outcome b, .mode-outcome small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mode-outcome b { color: #fff; font-size: 10px; }
.mode-outcome small { color: #aeb3bf; font-size: 8px; }
.mode-empty-mark { padding: 0 10px; color: #ed777a; font-size: 24px; }
.mode-play-button { width: 100%; }
.mode-result-card { display: flex; flex-direction: column; align-items: center; gap: 7px; margin: 17px 0; padding: 21px; border: 1px solid #ffc17d77; border-radius: 10px; background: radial-gradient(circle at top, #63452e, #191b23 70%); text-align: center; }
.mode-result-card.lost { border-color: #b45d6b66; background: radial-gradient(circle at top, #3d2733, #191b23 70%); }
.mode-result-card img { width: 160px; height: 140px; object-fit: contain; }
.mode-result-card strong { font: 800 32px/1 var(--display); }
.mode-result-card p { margin: 0; color: #d5d8dd; font-size: 12px; }
.mode-result-mark { color: #d06777; font: 800 90px/1 var(--display); }
.promo-info-card b { display: block; color: #fff; font: 800 27px/1 var(--display); }
.promo-info-card p { margin: 7px 0 0; }
.reward-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 12px 0 18px; }
.reward-card { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 12px 8px; border: 1px solid #ffffff1d; border-radius: 8px; background: #1b1e27; text-align: center; }
.reward-card.available { border-color: #ffb86a; box-shadow: 0 0 17px #ffab5430; }
.reward-card > b { color: #ffd49b; font: 800 22px/1 var(--display); }
.reward-card > img { width: 78px; height: 73px; object-fit: contain; border-radius: 5px; }
.reward-card > span { color: #e8e8ec; font-size: 10px; font-weight: 800; }
.reward-card .btn { width: 100%; min-height: 31px; padding: 3px; font-size: 12px; }
.promo-feature-strip { position: relative; isolation: isolate; display: flex; min-height: 130px; margin: 10px 0; padding: 14px; overflow: hidden; border: 1px solid #ffffff1c; border-radius: 8px; }
.promo-feature-strip > img { object-position: right center; }
.promo-feature-strip::before { background: linear-gradient(90deg, #080a0ef4, #080a0eb0 60%, #080a0e1a); }
.promo-feature-strip > span { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; max-width: 60%; }
.promo-feature-strip b { font: 800 25px/1 var(--display); }
.promo-feature-strip small { color: #d4d6dc; font-size: 10px; line-height: 1.4; }
.profile-promo { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-height: 153px; gap: 6px; margin: 17px 0; padding: 15px 18px; overflow: hidden; text-align: left; color: #fff; border: 1px solid #ffc17d55; border-radius: 8px; }
.profile-promo::before { background: linear-gradient(90deg, #080a0ef4, #080a0ed0 48%, #080a0e35); }
.profile-promo strong { font: 800 31px/1 var(--display); }
.profile-promo small { color: #d6d7dc; font-size: 11px; }
.profile-promo em { color: #ffcd92; font-size: 11px; font-style: normal; font-weight: 800; }
.level-prize { display: flex; align-items: center; flex-direction: column; gap: 10px; padding: 16px; text-align: center; }
.level-prize img { width: 200px; height: 160px; object-fit: contain; }
.level-prize h2 { margin: 0; font: 800 30px/1 var(--display); }
@media (max-width: 650px) {
  .modes-grid { gap: 9px; }
  .mode-banner { min-height: 190px; padding: 12px; }
  .mode-banner-copy strong { font-size: clamp(26px, 7vw, 35px); }
  .mode-banner-copy small { font-size: 9px; }
  .mode-no { font-size: 8px; }
  .mode-item { flex-wrap: wrap; }
  .mode-item img { flex-basis: 47px; width: 47px; height: 44px; }
  .mode-item em { width: 100%; margin: 0 0 0 3px; }
  .reward-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* A more geometric Cyrillic display face; scale it for narrow screens. */
.rush-hero h1 { font-size: clamp(43px, 5.3vw, 70px); line-height: 1.02; letter-spacing: -.06em; }
.rush-catalog-head h2 { font-size: clamp(22px, 3vw, 31px); line-height: 1.12; }
.rush-feature-name { font-size: clamp(18px, 2.1vw, 25px); line-height: 1.12; }
.campaign-content > strong { font-size: clamp(24px, 3vw, 38px); line-height: 1.08; }
.campaign-slide[data-campaign="themes"] .campaign-content > strong { font-size: clamp(27px, 3.3vw, 42px); }
.modes-title h1, .mode-cover h1, .promo-page-hero h1 { font-size: clamp(30px, 4vw, 46px); line-height: 1.08; }
.mode-banner-copy strong { font-size: clamp(20px, 2.6vw, 32px); line-height: 1.08; }
.login-poster h1 { font-size: clamp(42px, 8vw, 62px); line-height: 1.03; }
.promo-grid .promo-copy b { font-size: clamp(20px, 2.2vw, 29px); line-height: 1.05; }
.btn.primary { font-size: 15px; line-height: 1.25; }
.mode-result-card strong { font-size: 24px; line-height: 1.1; }
@media (max-width: 600px) {
  .rush-hero h1 { font-size: clamp(35px, 10vw, 53px); }
  .campaign-content > strong { font-size: clamp(20px, 5.6vw, 28px); }
  .campaign-slide[data-campaign="themes"] .campaign-content > strong { font-size: clamp(21px, 6vw, 27px); }
  .mode-banner-copy strong { font-size: clamp(16px, 5.2vw, 24px); }
  .mode-contract .mode-banner-copy strong { font-size: clamp(14px, 4.4vw, 21px); letter-spacing: -.04em; }
  .modes-title h1, .mode-cover h1, .promo-page-hero h1 { font-size: clamp(26px, 8vw, 37px); }
  .rush-catalog-head h2 { font-size: 22px; }
}

/* Footer, shared by all player pages. */
.site-footer { max-width: 1248px; margin: 24px auto 0; padding: 33px 24px calc(105px + var(--safe-bottom)); border-top: 1px solid #ffffff17; background: none; }
body.has-tabs .page { padding-bottom: 20px; }
body.booting .site-footer { display: none; }
body:not(.has-tabs) .site-footer { padding-bottom: calc(30px + var(--safe-bottom)); }
.site-footer-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.site-footer-top img { width: 145px; max-width: calc(100% - 67px); height: auto; object-fit: contain; }
.age-badge { display: grid; place-items: center; min-width: 47px; height: 34px; border: 1px solid #ff5c63; border-radius: 5px; background: #ff404016; color: #ff656d; font: 800 16px var(--display); }
.site-footer-intro { max-width: 360px; margin: 11px 0 28px; color: #a7a9b2; font-size: 12px; line-height: 1.55; }
.site-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; max-width: 690px; }
.site-footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.site-footer-links b { margin-bottom: 6px; color: #fff; font: 700 11px var(--display); letter-spacing: .08em; }
.site-footer-links a, .site-footer-links button { padding: 0; border: 0; background: none; color: #9fa1ac; font: 600 13px/1.5 Manrope, sans-serif; text-decoration: none; text-align: left; cursor: pointer; }
.site-footer-links a:hover, .site-footer-links button:hover { color: #ffca88; }
.site-footer-bottom { display: flex; justify-content: space-between; gap: 12px; margin-top: 31px; padding-top: 17px; border-top: 1px solid #ffffff12; color: #70727d; font-size: 10px; }
.info-page { max-width: 740px; }
.info-hero { padding: 25px 0 23px; border-bottom: 1px solid #ffffff20; }
.info-hero h1 { max-width: 100%; margin: 11px 0; font: 800 clamp(26px, 5vw, 45px)/1.12 var(--display); overflow-wrap: anywhere; }
.info-hero p { max-width: 570px; margin: 0; color: #b8bac4; font-size: 14px; line-height: 1.6; }
.info-sections article { display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 14px; padding: 22px 0; border-bottom: 1px solid #ffffff14; }
.info-sections article > span { padding-top: 3px; color: #ffbd74; font: 700 11px var(--display); }
.info-sections h2 { margin: 0 0 8px; color: #f6f5f1; font-size: 17px; }
.info-sections p { margin: 0; color: #b2b4bf; font-size: 13px; line-height: 1.75; }
.info-sections a { color: #ffbc76; }
.info-next { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 5px; }
.info-sheet-close { float: right; position: sticky; top: 0; z-index: 5; width: 36px; height: 36px; margin: 8px 8px -44px 0; border: 1px solid #ffffff30; border-radius: 7px; background: #24262d; color: #fff; font-size: 23px; text-align: center; }

/* Each mode has its own game surface. Only transform/opacity animate on play. */
.game-stage { position: relative; isolation: isolate; min-height: 257px; margin: 17px 0 20px; overflow: hidden; border: 1px solid #ffffff28; border-radius: 15px; background: #10151e; box-shadow: inset 0 1px 0 #ffffff12, 0 20px 35px #0003; }
.game-stage::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .85; }
.game-stage-title { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-bottom: 1px solid #ffffff16; color: #fff; font: 800 12px var(--display); letter-spacing: .02em; }
.game-stage-title span { max-width: 55%; color: #aeb5c3; font: 600 10px/1.3 Manrope, sans-serif; text-align: right; letter-spacing: 0; }
.game-stage.won { border-color: #ffc2769c; box-shadow: 0 0 0 1px #ffc2763b, 0 20px 45px #ffb34b16; }
.game-stage.lost { border-color: #f3657069; }
.game-stage.won .game-stage-title span { color: #ffcc84; }
.game-stage.lost .game-stage-title span { color: #f28b94; }

.game-stage-contract::before { background: radial-gradient(circle at center, #a6a0e530, transparent 63%), linear-gradient(135deg, #171a29, #10131b); }
.contract-arena { position: relative; display: grid; place-items: center; height: 215px; }
.contract-core { display: grid; place-items: center; width: 124px; height: 124px; border: 1px solid #ded0ff9c; border-radius: 17px; background: linear-gradient(135deg, #4d4266, #1d2036); box-shadow: 0 0 40px #b294ff30, inset 0 1px 0 #fff6; color: #fff; font: 800 19px/1.15 var(--display); text-align: center; transform: rotate(-7deg); }
.contract-gear { position: absolute; color: #c9a9ff45; font-size: 215px; line-height: 1; }
.game-stage-contract.playing .contract-gear { animation: spin 6s linear infinite; }
.contract-chip { position: absolute; top: calc(20px + var(--i) * 32px); left: calc(12% + var(--i) * 2%); display: grid; place-items: center; width: 34px; height: 27px; border: 1px solid #d7b4ff66; border-radius: 4px; background: #3b3550; color: #e6d5ff; font: 700 10px var(--display); transform: rotate(-15deg); }
.game-stage-contract.playing .contract-chip { animation: contract-feed .9s ease-in forwards; animation-delay: calc(var(--i) * 170ms); }
@keyframes contract-feed { to { transform: translate3d(170px, calc(54px - var(--i) * 31px), 0) rotate(280deg) scale(.1); opacity: 0; } }

@media (max-width: 600px) {
  .site-footer { margin-top: 22px; padding: 25px 20px calc(105px + var(--safe-bottom)); }
  .site-footer-links { gap: 15px; }
  .site-footer-links a, .site-footer-links button { font-size: 11px; }
  .site-footer-bottom { flex-direction: column; gap: 3px; }
  .game-stage { min-height: 245px; }
  .game-stage-title { font-size: 10px; }
  .game-stage-title span { font-size: 9px; }
  .info-hero h1 { font-size: 26px; }
  .info-next .btn { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-stage *, .game-stage *::before, .game-stage *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
.modes-title h1, .mode-cover h1, .promo-page-hero h1, .mode-banner-copy strong, .inventory-heading h1 { font-family: RushHero, var(--display); font-weight: 400; }

/* Viewing is open; registration and a credited deposit unlock play. */
#play-access-notice { width: calc(100% - 40px); max-width: 1200px; margin: 14px auto 0; }
#play-access-notice[hidden], body.booting #play-access-notice, body.gated #play-access-notice, body.miniapp-gate #play-access-notice { display: none; }
#play-access-notice .pay-card-body { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 18px; }
#play-access-notice strong { display: block; font-size: 13px; line-height: 1.5; }
#play-access-notice p { margin: 3px 0 0; font-size: 11px; line-height: 1.6; color: var(--color-base-content); opacity: .65; }
#play-access-notice .pay-btn { flex: none; }
@media (max-width: 540px) {
  #play-access-notice .pay-card-body { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px; }
}
