/* RBX Rush lobby: shared visual layer; no business data or demo balances. */
:root {
  --bg:#101116; --panel:#1a1c24; --panel-alt:#222530; --line:#30333f;
  --text:#f5f6fa; --muted:#a9aeba; --purple:#b8a0ff; --lime:#d5ff70;
  --gold:#ffd177; --radius:20px;
}
body { background:radial-gradient(ellipse at 78% 0,#28213c66,transparent 38rem),var(--bg); }
main { max-width:1510px; padding:30px 40px 0; }
.app { margin-left:236px; }
.sidebar { width:236px; background:#15161d; border-color:#282a34; padding:32px 20px 24px; }
.brand { font-size:1.4rem; gap:14px; margin-bottom:42px; }
.brand-mark { width:44px; height:46px; border-radius:9px; box-shadow:4px 4px 0 #505735; }
.nav-label { color:#858b9b; font-size:.75rem; letter-spacing:.08em; }
.navigation { gap:8px; }
.nav-item { min-height:48px; border-radius:11px; color:#b6bbc8; font-size:.875rem; }
.nav-item:hover { background:#252733; }
.nav-item.active { color:#e5d9ff; background:#302943; box-shadow:inset 3px 0 #b79aff; }
.nav-count { color:#d5c2ff; background:#ffffff0c; border-radius:5px; padding:0 6px; }
.sidebar-bottom p { color:#909789; font-size:1rem; }
.sidebar-version { color:#878b99; letter-spacing:.04em; }
.topbar { height:76px; padding:0 40px; background:#101116dd; border-color:#292b35; }
.breadcrumb { letter-spacing:.02em; }
.breadcrumb>strong { font-weight:600; }
.wallet-button { background:#25272c; border-color:#414635; border-radius:10px; min-height:42px; }
.avatar-button { background:#8a65e7; border-color:#c8afff; box-shadow:2px 2px 0 #4c396c; transform:none; }
.mobile-brand { display:none; font:800 1rem var(--display); letter-spacing:-.07em; }
.mobile-brand span { color:var(--lime); }
.page-heading { margin-bottom:23px; }
.page-heading .eyebrow { font-size:.75rem; letter-spacing:.14em; color:#a49bae; margin-bottom:9px; }
h1 { font-size:clamp(1.55rem,2.2vw,2.3rem); font-weight:600; }
h2 { font-size:clamp(1.3rem,1.65vw,1.65rem); }
.intro-grid { grid-template-columns:minmax(0,2.25fr) minmax(275px,1fr); gap:20px; }
.intro-grid>*,.competition-grid>*,.game-title-row,.lobby-shortcuts>a>span { min-width:0; }
.game-title-row h3,.ranking-player strong,.account-banner strong { overflow-wrap:anywhere; }
.welcome-card { min-height:302px; border:1px solid #605ba1; background:#312464; border-radius:22px; }
.welcome-art { object-position:80% 62%; }
.welcome-card::before { background:linear-gradient(90deg,#26234eef 0%,#26234edd 28%,#27215263 58%,#27215200 85%); }
.welcome-content { padding:28px 30px; width:69%; }
.welcome-content h2 { font-size:clamp(1.5rem,2.2vw,2.35rem); line-height:1.24; margin:19px 0 12px; letter-spacing:-.06em; }
.welcome-content p { font-size:.875rem; color:#efeafa; max-width:340px; margin-bottom:20px; }
.tag { border-radius:6px; padding:4px 9px; background:#ffffff0a; color:#c3c7d2; font-size:.75rem; }
.tag.light { font-size:.75rem; letter-spacing:.035em; }
.welcome-sticker { right:22px; bottom:20px; font-size:.75rem; border-width:2px; transform:rotate(-6deg); }
.button { min-height:46px; border-radius:10px; font-size:.875rem; padding:11px 18px; gap:16px; }
.button:active { transform:translateY(1px); }
.lime { box-shadow:0 3px 0 #738d38; }
.purple { background:#9368ed; box-shadow:0 3px 0 #55348e; }
.secondary { background:#2b2c39; border-color:#454655; }
.wallet-card { padding:24px; background:radial-gradient(ellipse at 110% 0,#82994a26,transparent 72%),#1d2025; border-color:#424938; justify-content:flex-start; }
.wallet-card .eyebrow { color:#c5d1b2; letter-spacing:.075em; }
.wallet-card>.card-top { flex-wrap:wrap; gap:8px; }
.wallet-value { margin-top:19px; }
.wallet-value>strong { font-size:clamp(2rem,2.5vw,2.75rem); }
.wallet-card>p { margin:5px 0 11px; }
.wallet-card>.snapshot-meta { margin:0 0 12px; }
.wallet-conversion { margin-top:auto; padding:12px 0; border-color:#394133; font-size:.875rem; }
.wallet-card>.text-button { font-size:.875rem; margin-top:14px; }
.lobby-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:18px; }
.lobby-shortcuts>a { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid #30313d; border-radius:13px; background:#1a1b24; transition:border-color .16s,background .16s; }
.lobby-shortcuts>a:hover { background:#222330; border-color:#746091; }
.lobby-shortcuts strong { display:block; font-size:.875rem; }
.lobby-shortcuts small { display:block; color:var(--muted); font-size:.75rem; margin-top:2px; }
.lobby-shortcuts>a>span:last-child { color:#89919c; margin-left:auto; }
.shortcut-icon { display:grid; place-items:center; width:39px; height:42px; flex:0 0 39px; border-radius:10px; font-size:1.5rem; }
.violet { background:#36304b; color:#c4a5ff; }.mint { background:#2e3e32; color:#d5ff70; }.amber { background:#443928; color:#ffd177; }
.section { margin-top:38px; }
.section-heading { margin-bottom:18px; align-items:center; }
.section-heading .eyebrow { color:#8f95a5; letter-spacing:.09em; font-size:.75rem; margin-bottom:6px; }
.game-grid { gap:18px; }
.game-card { border-radius:18px; background:#1d1f29; border-color:#343643; display:flex; flex-direction:column; }
.game-card:hover { border-color:#a58bd4; box-shadow:0 12px 28px #0003; transform:translateY(-3px); }
.game-art { height:185px; background:#302a45; }
.game-art>img { object-position:center; }
.game-index { position:absolute; right:14px; top:12px; font:600 .875rem var(--display); color:white; background:#11131abc; border:1px solid #ffffff24; border-radius:7px; padding:4px 8px; z-index:1; }
.game-body { padding:19px; display:flex; flex-direction:column; flex:1; }
.game-title-row { display:flex; align-items:center; gap:12px; }
.game-title-row h3 { font-size:1.1rem; letter-spacing:-.025em; }
.game-icon { width:46px; height:46px; border-radius:11px; object-fit:cover; border:2px solid #ffffff30; flex:0 0 46px; }
.game-body>p { min-height:0; margin:14px 0 20px; color:#b9becb; font-size:1rem; line-height:1.55; }
.store-links { display:flex; gap:8px; margin-top:auto; flex-wrap:wrap; }
.store-links .button { flex:1; min-width:118px; padding-inline:10px; font-size:.875rem; }
.game-body>.muted { margin-top:auto; padding:10px 0; }
.game-placeholder { background:linear-gradient(135deg,#332848,#232731); color:#c7b3ea; }
.catalog-waiting { display:grid; grid-template-columns:minmax(180px,34%) 1fr; min-height:220px; border:1px solid #393c4b; border-radius:18px; background:#1b1e29; overflow:hidden; }
.catalog-waiting>img { width:100%; height:100%; max-height:260px; object-fit:cover; }
.catalog-waiting>div { align-self:center; padding:26px 30px; }
.catalog-waiting h3 { font:600 1.25rem/1.4 var(--display); letter-spacing:-.04em; margin:8px 0 10px; }
.catalog-waiting p { color:#b9bfcd; font-size:1rem; max-width:580px; margin-bottom:15px; }
.catalog-note { color:#969eae; font-size:.875rem; margin-top:14px; }
.account-banner { margin:30px 0 0; padding:18px 22px; border:1px solid #393644; background:#211f2b; border-radius:14px; }
.account-banner>div:first-child>strong { font-size:1rem; }
.account-banner .button { flex-shrink:0; }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); }
.state-message { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 18px; border:1px solid #3a3c4b; border-radius:12px; background:#22242e; color:#bac0ce; font-size:.875rem; margin:0 0 16px; }
.state-message .button { margin:0; min-height:40px; }
.state-message p { flex:1 1 220px; }
.state-message.is-locked { background:#211f2d; border-color:#40374f; }
.state-message.is-loading { border-style:dashed; color:#afb8cd; }
.quest-card { padding:23px; background:linear-gradient(145deg,#292634,#1b1d25); }
.quest-card .quest-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; background:#3a314c; color:#c9acff; font-size:1.5rem; }
.quest-card:nth-child(2) .quest-symbol { color:#e1ff9f; background:#35402c; }
.quest-card:nth-child(3) .quest-symbol { color:#9bddff; background:#2b3a4e; }
.quest-card h3 { margin:18px 0 10px; font-size:1.05rem; }
.quest-card p { font-size:1rem; line-height:1.6; }
.quest-card progress { background:#35333f; height:8px; }
.quest-card.is-locked { border-style:dashed; }
.quest-card.is-locked .quest-symbol { opacity:.8; }
.quest-card.is-locked .text-button { margin-top:17px; color:#d3c1ef; min-height:40px; }
.competition-grid { grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr); }
.leaderboard { overflow:hidden; }
.leaderboard-toolbar { padding:19px; border-bottom:1px solid var(--line); }
.period-tabs { background:#111319; border-color:#353541; padding:5px; }
.period-tabs button { padding:9px 16px; min-height:40px; }
.period-tabs button[aria-selected="true"] { color:#eee4ff; background:#533c79; }
.state-inset { margin-top:16px; }
.ranking-table th { color:#969dad; font-size:.75rem; }
.ranking-table td { padding-block:15px; border-color:#2e303c; font-size:.875rem; }
.ranking-table tr.is-player { background:#352d48; }
.ranking-footnote { border-color:#30333e; color:#aeb4c2; line-height:1.6; }
.player-avatar { background:#45405a; color:#e0ceff; }
.chase-card { background:radial-gradient(ellipse at 100% 0,#a377f538,transparent 75%),#262033; border-color:#6b5489; }
.rank-number { color:#e1cbff; }
.opponent { border-color:#4e3e61; }
.draw-card { border-color:#4a3e60; background:linear-gradient(130deg,#30273f,#1c1d28); padding:25px; }
.draw-card:nth-child(2) { background:linear-gradient(130deg,#28372e,#1b2324); border-color:#3f5544; }
.draw-card:nth-child(3) { background:linear-gradient(130deg,#3c3029,#252026); border-color:#5e4c38; }
.draw-card h3 { margin-top:18px; font-size:1.15rem; }
.draw-card p { font-size:1rem; }
.draw-card .text-button { min-height:40px; font-size:.875rem; }
.exchange-layout { border-color:#424735; background:#1b1f22; }
.exchange-explainer { background:radial-gradient(ellipse at 0 90%,#a7d64a18,transparent 70%); padding:34px; }
.exchange-explainer h3 { font-size:clamp(1.8rem,3vw,2.7rem); }
.rate-callout strong { font-size:1.2rem; }
.rate-examples>div { border-color:#343a33; }
.claim-form { background:#252832; border-color:#454950; padding:26px; }
.claim-form input { background:#15181e; border-color:#515865; min-height:56px; }
.amount-presets button { min-height:42px; font-size:.875rem; background:#333740; border-color:#4b505a; }
.amount-presets button[aria-pressed="true"] { border-color:#d5ff70; color:#e4ffb0; background:#3f4932; }
.trust-card { background:#20282a; border-color:#3b4b47; }
.trust-card li { font-size:1rem; }
.how-strip { gap:25px; margin-top:38px; }
.how-strip strong { font-size:1rem; }
.how-strip b { color:#afbda0; font-size:1.4rem; }
footer { color:#9ca3b1; }
.site-dialog { background:#20212c; border-color:#66627a; border-radius:20px; }
.dialog-close { background:#383747; min-width:44px; min-height:44px; }
#dialog-body p,.rules-list { font-size:1rem; color:#c0c4d0; }
.dialog-record { background:#262833; border-color:#444555; }
.balance-list>div { background:#2b2c38; }
.toast { left:calc(50% + 118px); background:#2b253a; border-color:#8c70ac; }
.snapshot-meta { font-size:.75rem; }
.fine-print { color:#aeb4c2; }
@media(min-width:1600px) { .welcome-card { min-height:325px; }.game-art { height:220px; } }
@media(max-width:1250px) {
  .sidebar { width:210px; padding-inline:15px; }.app { margin-left:210px; }
  main,.topbar { padding-inline:25px; }.intro-grid { grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr); }
  .welcome-content { width:85%; padding:24px; }.welcome-sticker { display:none; }
  .lobby-shortcuts>a { gap:9px; padding:12px; }.shortcut-icon { width:32px; flex-basis:32px; height:36px; }
  .lobby-shortcuts>a>span:last-child { display:none; }.competition-grid { grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr); }
  .toast { left:calc(50% + 105px); }.game-art { height:160px; }.game-body { padding:16px; }
}
@media(max-width:980px) {
  .sidebar { width:78px; padding:25px 10px; }.brand { margin:0 auto 30px; }.brand>span:last-child { display:none; }
  .app { margin-left:78px; }.nav-item { font-size:0; padding:14px; }.nav-item.active { box-shadow:inset 0 -2px #b79aff; }
  .intro-grid { grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr); }.welcome-content { width:95%; }
  .welcome-content h2 { font-size:1.7rem; }.welcome-content p { max-width:270px; }.welcome-art { object-position:68% center; }
  .lobby-shortcuts { gap:9px; }.lobby-shortcuts .shortcut-icon { display:none; }.quest-grid { grid-template-columns:1fr; }
  .toast { left:calc(50% + 39px); }.store-links { flex-direction:column; }
}
@media(max-width:760px) {
  html { scroll-padding-top:82px; }.sidebar { inset:auto 0 0; width:100%; height:auto; padding:7px 8px max(7px,env(safe-area-inset-bottom)); background:#171921f5; border-top:1px solid #3c3b4b; }
  .navigation { grid-template-columns:repeat(6,minmax(0,1fr)); gap:3px; }.nav-item { min-height:52px; font-size:.75rem; padding:5px 1px; gap:3px; }.nav-item>span:first-child { font-size:1.15rem; }
  .sidebar .brand { display:none; }.app { margin-left:0; }.mobile-brand { display:block; }.breadcrumb { display:none; }
  .topbar { height:64px; padding-inline:18px; gap:12px; }.header-actions { gap:8px; }.demo-badge { display:none; }
  main { padding:24px 18px 85px; }.page-heading { margin-bottom:20px; }h1 { font-size:1.5rem; }.page-heading .eyebrow { font-size:.75rem; }
  .intro-grid { grid-template-columns:1fr; gap:15px; }.welcome-card { min-height:285px; }.welcome-content { width:72%; padding:25px; }
  .welcome-content h2 { font-size:1.95rem; }.welcome-art { object-position:75% 55%; }.welcome-content p { max-width:310px; }
  .welcome-card::before { background:linear-gradient(90deg,#28264ff0,#28264fba 45%,#29205310); }
  .wallet-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:20px; gap:8px 16px; }
  .wallet-card>.card-top { grid-column:1/-1; }.wallet-value { grid-column:1; grid-row:2; margin-top:6px; }.wallet-value>strong { font-size:2rem; }
  .wallet-card>p.muted { grid-column:1; grid-row:3; margin:0; }.wallet-card>.snapshot-meta { grid-column:1/-1; grid-row:6; margin:5px 0 0; }
  .wallet-conversion { grid-column:2; grid-row:2; border:0; margin:0; padding:0; align-items:flex-end; flex-direction:column; font-size:.875rem; }
  .wallet-card>.button { grid-column:2; grid-row:3 / span 2; font-size:.875rem; }.wallet-card>.text-button { grid-column:1; grid-row:4; margin:0; text-align:left; justify-content:flex-start; min-height:42px; }
  .lobby-shortcuts { gap:8px; margin-top:14px; }.lobby-shortcuts>a { display:block; padding:13px 10px; }.lobby-shortcuts strong { font-size:.875rem; line-height:1.4; }
  .lobby-shortcuts small { display:none; }.lobby-shortcuts .shortcut-icon { display:grid; margin-bottom:9px; width:32px; height:32px; font-size:1.25rem; }
  .section { margin-top:32px; }.section-heading { flex-wrap:wrap; }.section-note { display:none; }
  .game-grid { grid-template-columns:1fr; }.game-card { display:grid; grid-template-columns:36% minmax(0,1fr); }.game-art { height:100%; min-height:235px; }
  .game-body { padding:18px; }.game-title-row h3 { font-size:1.05rem; }.game-body>p { font-size:1rem; }.store-links { flex-direction:row; }
  .catalog-waiting { grid-template-columns:33% minmax(0,1fr); }.catalog-waiting>div { padding:20px; }.catalog-waiting h3 { font-size:1.1rem; }
  .account-banner { padding:18px; gap:14px; }.account-banner>.button { width:100%; }.account-banner>div { gap:10px; }
  .competition-grid { grid-template-columns:1fr; }.leaderboard-toolbar { flex-wrap:wrap; padding:15px; gap:12px; }.period-tabs { width:100%; }.period-tabs button { flex:1; padding:9px; }
  .draw-grid { grid-template-columns:1fr; }.draw-card { padding:22px; }.exchange-layout { grid-template-columns:1fr; }.claim-form { margin:0 14px 14px; padding:21px; }
  .exchange-explainer { padding:24px; }.how-strip { display:grid; gap:22px; }.toast { left:50%; bottom:calc(84px + env(safe-area-inset-bottom)); }
}
@media(max-width:420px) {
  main { padding-inline:14px; }.topbar { padding-inline:14px; }.mobile-brand { font-size:.875rem; }h1 { font-size:1.35rem; }
  .welcome-content { width:92%; padding:22px; }.welcome-content h2 { font-size:1.75rem; }.welcome-content p { max-width:240px; }
  .welcome-art { object-position:66% center; }.welcome-card { min-height:290px; }
  .wallet-card { padding:18px 16px; }.wallet-card .text-button { font-size:.875rem; }.wallet-card .button { font-size:.875rem; }
  .catalog-waiting { grid-template-columns:1fr; }.catalog-waiting>img { height:145px; object-position:center 38%; }.catalog-waiting>div { padding:20px; }
  .game-card { grid-template-columns:1fr; }.game-art { min-height:0; height:185px; }.game-icon { width:42px; height:42px; }
  .ranking-table td { font-size:.875rem; }.ranking-table th { font-size:.75rem; }.ranking-table td,.ranking-table th { padding-inline:8px; }
  .exchange-quote { grid-template-columns:1fr; }.exchange-quote small { grid-column:1; }.nav-item { letter-spacing:-.035em; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }
