:root {
  --green: #78be45;
  --green-dark: #3a8a29;
  --green-soft: rgba(120, 190, 69, .14);
  --blue: #4ea7ea;
  --blue-soft: rgba(78, 167, 234, .16);
  --yellow: #ffd74a;
  --yellow-soft: rgba(255, 215, 74, .18);
  --text: #1c2128;
  --muted: #67717c;
  --line: rgba(26, 34, 44, .11);
  --card: rgba(255, 255, 255, .84);
  --card-strong: rgba(255, 255, 255, .92);
  --shadow: 0 10px 24px rgba(22, 30, 39, .08);
  --radius: 18px;
  --game-fair-max-width: 430px;
  --game-fair-max-height: 932px;
  --game-side-wall-width: 7px;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  color: var(--text);
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overscroll-behavior: none;
  background: #faf9f3 var(--paper-bg) repeat 0 0;
}
button, a, input, textarea { font: inherit; }
button { border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
.app-shell {
  position: relative;
  width: min(100%, 430px);
  min-height: 100dvh;
  margin: 0 auto;
  padding: max(10px, env(safe-area-inset-top)) 12px calc(84px + env(safe-area-inset-bottom));
}
.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 0 10px;
}
.user-chip {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 9px 5px 5px;
  border-radius: 15px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(0,0,0,.05);
  box-shadow: 0 4px 12px rgba(20, 28, 34, .06);
}
.user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: linear-gradient(135deg, #8edb54, #48a9e9);
  border: 2px solid rgba(255,255,255,.9);
}
.user-info { min-width: 0; display: grid; line-height: 1.05; }
.user-info strong {
  max-width: 152px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 900;
}
.user-info small {
  max-width: 152px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.top-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.icon-button, .flag-button {
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.68);
  color: var(--text);
  box-shadow: 0 4px 12px rgba(20, 28, 34, .06);
  border: 1px solid rgba(0,0,0,.05);
}
.icon-button { width: 38px; font-size: 26px; font-weight: 800; }
.flag-button {
  width: auto;
  min-width: 58px;
  grid-auto-flow: column;
  gap: 5px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 900;
}
.flag-button img { width: 22px; height: 16px; border-radius: 3px; object-fit: cover; box-shadow: 0 1px 2px rgba(0,0,0,.12); }
.burger { gap: 3px; }
.burger span {
  width: 18px;
  height: 2.5px;
  border-radius: 99px;
  background: #111;
  display: block;
}
.screen { display: grid; gap: 10px; }
.paper-card, .compact-card {
  background: var(--card);
  border: 1px solid rgba(20, 28, 34, .10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}
.stats-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 8px 6px;
}
.stat-item {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 6px;
  border-right: 1px solid var(--line);
}
.stat-item:last-child { border-right: 0; }
.stat-item img { width: 25px; height: 25px; object-fit: contain; flex: 0 0 auto; }
.stat-item span { display: block; color: var(--muted); font-size: 10px; font-weight: 800; line-height: 1.1; }
.stat-item strong { display: block; font-size: clamp(14px, 3.9vw, 18px); line-height: 1.05; letter-spacing: -.03em; }
.game-card { padding: 10px; }
.game-head {
  display: grid;
  grid-template-columns: 1fr 124px;
  gap: 10px;
  align-items: start;
  margin-bottom: 8px;
}
.game-head span, .claim-row span, .section-title span, .triple-card span { color: var(--muted); font-weight: 800; }
.score-block strong { display: block; margin-top: 1px; font-size: clamp(24px, 7vw, 32px); line-height: .95; letter-spacing: -.04em; }
.level-block { text-align: right; }
.level-block b { font-size: 16px; }
.level-block small { color: var(--muted); font-weight: 800; font-size: 11px; }
.progress-line {
  height: 12px;
  margin: 6px 0 2px;
  border-radius: 999px;
  border: 1px solid rgba(20, 28, 34, .18);
  background: rgba(130, 138, 145, .12);
  overflow: hidden;
}
.progress-line i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #98dd5e, #5cad31);
  transition: width .35s ease;
}
.stage-shell {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255,255,255,.18) var(--paper-bg) repeat 0 0;
  background-size: 620px auto;
  border: 1px solid rgba(26, 34, 44, .08);
  width: 100%;
  max-width: var(--game-fair-max-width);
  margin-inline: auto;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  box-shadow: inset var(--game-side-wall-width) 0 0 rgba(35, 52, 30, .45), inset calc(-1 * var(--game-side-wall-width)) 0 0 rgba(35, 52, 30, .45);
}
.stage-shell::before,
.stage-shell::after {
  content: '';
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: var(--game-side-wall-width);
  pointer-events: none;
  background: linear-gradient(180deg, rgba(60, 105, 40, .65), rgba(29, 68, 29, .8));
  box-shadow: 0 0 10px rgba(12, 32, 14, .2);
}
.stage-shell::before { left: 0; }
.stage-shell::after { right: 0; }
.stage-overlay {
  position: absolute;
  z-index: 4;
  top: 8px;
  padding: 7px 9px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(8px);
  box-shadow: 0 3px 10px rgba(20,28,34,.06);
  border: 1px solid rgba(20,28,34,.06);
}
.stage-overlay.left { left: 8px; }
.stage-overlay.right { right: 8px; text-align: right; }
.stage-overlay span { display: block; font-size: 9px; line-height: 1; }
.stage-overlay strong { display: block; margin-top: 2px; font-size: 12px; line-height: 1.1; }
.game-canvas {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 330px;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.field-controls {
  position: absolute;
  z-index: 5;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.control-button {
  pointer-events: auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.72);
  color: rgba(28,33,40,.78);
  font-size: 36px;
  line-height: 1;
  font-weight: 900;
  border: 1px solid rgba(28,33,40,.10);
  box-shadow: 0 6px 16px rgba(19,27,35,.12), inset 0 -2px 0 rgba(0,0,0,.08);
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  backdrop-filter: blur(8px);
}
.control-button:active, .control-button.active {
  transform: translateY(1px) scale(.98);
  background: rgba(120,190,69,.84);
  color: #fff;
}
.claim-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding: 9px 10px;
  border-radius: 14px;
  background: rgba(117, 191, 67, .10);
  border: 1px solid rgba(67, 145, 44, .15);
}
.claim-row strong { display: block; font-size: 18px; line-height: 1.05; }
.claim-row small { display: block; color: var(--muted); font-weight: 800; font-size: 10px; }
.claim-actions { display: flex; gap: 6px; }
.mini-button {
  min-width: 92px;
  padding: 10px 12px;
  border-radius: 12px;
  background: linear-gradient(180deg, #8bd855, #5fad35);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
  text-shadow: 0 1px 0 rgba(35, 80, 20, .20);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.14), 0 5px 12px rgba(72, 148, 44, .18);
}
.mini-button.ghost {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,247,235,.92));
  color: var(--green-dark);
  text-shadow: none;
}
.upgrades-card { padding: 10px; }
.section-title { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin: 2px 2px 6px; }
.section-title h2 { margin: 0; font-size: 17px; letter-spacing: -.03em; }
.section-title span { text-align: right; font-size: 10px; max-width: 155px; line-height: 1.2; }
.upgrade-row {
  display: grid;
  grid-template-columns: 40px 1fr auto 34px;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.upgrade-row:first-of-type { border-top: 0; }
.upgrade-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.upgrade-icon.green { background: var(--green-soft); }
.upgrade-icon.blue { background: var(--blue-soft); }
.upgrade-icon.yellow { background: var(--yellow-soft); }
.upgrade-icon img { width: 28px; height: 28px; object-fit: contain; }
.upgrade-main strong { display: block; font-size: 15px; margin-bottom: 5px; }
.dots { display: flex; align-items: center; gap: 4px; min-height: 16px; flex-wrap: wrap; }
.dots i { width: 10px; height: 10px; border-radius: 50%; background: #dededb; box-shadow: inset 0 1px 1px rgba(0,0,0,.08); }
.dots i.filled { background: var(--green); }
[data-upgrade="speed"] .dots i.filled { background: var(--blue); }
[data-upgrade="bonus"] .dots i.filled { background: var(--yellow); }
.dots em { color: var(--muted); font-size: 10px; font-style: normal; font-weight: 900; margin-left: 3px; }
.upgrade-price { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 900; white-space: nowrap; }
.upgrade-price img, .triple-card img { width: 16px; height: 16px; }
.upgrade-row button, .triple-card button {
  min-width: 34px;
  height: 34px;
  border-radius: 11px;
  background: linear-gradient(180deg, #8dd95a, #62b23a);
  color: #0c3105;
  font-size: 24px;
  font-weight: 950;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.16);
}
.triple-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  padding: 10px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,213,38,.18), rgba(117,191,67,.12));
  border: 1px solid rgba(87, 134, 27, .16);
}
.triple-card strong { display: block; font-size: 15px; }
.triple-card span { font-size: 11px; }
.triple-card button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: auto; padding: 0 10px; font-size: 14px; color: #17210f; }
.panel { padding: 12px; }
.copy-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 13px;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
}
.copy-box span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 800; color: var(--muted); font-size: 12px; }
.copy-box button { padding: 8px 10px; border-radius: 10px; background: var(--green); color: #fff; font-weight: 900; font-size: 12px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
.grid-3 article { padding: 10px 6px; border-radius: 14px; text-align: center; background: rgba(117,191,67,.10); }
.grid-3 span, .grid-3 small { color: var(--muted); font-weight: 900; font-size: 10px; }
.grid-3 strong { display: block; font-size: 18px; }
.finance-list { display: grid; gap: 8px; }
.finance-list p { display: flex; justify-content: space-between; margin: 0; padding: 10px; border-radius: 13px; background: rgba(255,255,255,.72); color: var(--muted); font-weight: 850; font-size: 12px; }
.finance-list b { color: var(--text); }
.bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 20;
  width: min(100%, 430px);
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  padding: 7px 12px max(6px, env(safe-area-inset-bottom));
  background: rgba(255,255,255,.84);
  border-top: 1px solid rgba(18,25,32,.10);
  backdrop-filter: blur(14px);
}
.bottom-nav button {
  display: grid;
  justify-items: center;
  gap: 2px;
  background: transparent;
  color: #5f646b;
  font-weight: 850;
  font-size: 10px;
}
.bottom-nav img { width: 22px; height: 22px; object-fit: contain; filter: grayscale(1); opacity: .72; }
.bottom-nav button.active { color: var(--green-dark); }
.bottom-nav button.active img { filter: none; opacity: 1; }
.bottom-nav button.active::after { content: ''; width: 26px; height: 3px; margin-top: 2px; border-radius: 99px; background: var(--green); }
.drawer {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  justify-content: flex-end;
  background: rgba(7, 12, 16, .0);
  pointer-events: none;
  transition: background .25s ease;
}
.drawer.open { background: rgba(7,12,16,.24); pointer-events: auto; }
.drawer-card {
  width: min(84vw, 292px);
  height: 100%;
  padding: max(16px, env(safe-area-inset-top)) 12px 12px;
  background: rgba(255,255,255,.97);
  box-shadow: -14px 0 36px rgba(12,16,20,.14);
  transform: translateX(110%);
  transition: transform .25s ease;
}
.drawer.open .drawer-card { transform: translateX(0); }
.drawer-card h2 { margin: 0 0 12px; font-size: 22px; }
.drawer-card button, .drawer-card a {
  display: block;
  width: 100%;
  margin: 6px 0;
  padding: 11px 12px;
  border-radius: 13px;
  background: #f3f5f1;
  text-align: left;
  font-weight: 900;
  font-size: 13px;
}
.drawer-close { width: 38px !important; margin-left: auto !important; text-align: center !important; font-size: 22px !important; }
.lang-popover {
  position: fixed;
  right: calc(50% - min(50%, 215px) + 52px);
  top: 52px;
  z-index: 50;
  width: 184px;
  padding: 7px;
  border-radius: 17px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 14px 32px rgba(18, 26, 35, .14);
  border: 1px solid rgba(20,28,34,.10);
}
.lang-popover::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 24px;
  width: 14px;
  height: 14px;
  transform: rotate(45deg);
  background: rgba(255,255,255,.96);
  border-left: 1px solid rgba(20,28,34,.08);
  border-top: 1px solid rgba(20,28,34,.08);
}
.lang-popover button {
  position: relative;
  z-index: 1;
  display: grid;
  width: 100%;
  grid-template-columns: 26px 1fr auto;
  align-items: center;
  gap: 8px;
  margin: 2px 0;
  padding: 9px 10px;
  border-radius: 12px;
  text-align: left;
  background: transparent;
  font-weight: 900;
  font-size: 12px;
}
.lang-popover img { width: 24px; height: 18px; object-fit: cover; border-radius: 4px; box-shadow: 0 1px 2px rgba(0,0,0,.13); }
.lang-popover b { color: var(--muted); font-size: 10px; }
.lang-popover button.active, .lang-popover button:hover { background: rgba(117,191,67,.13); }
.lang-popover button.active::after { content: "✓"; color: var(--green-dark); font-weight: 900; margin-left: 5px; }
.loader {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  place-items: center;
  align-content: center;
  gap: 14px;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(10px);
  font-weight: 900;
}
.is-loading .loader { display: grid; }
.loader span { width: 46px; height: 46px; border-radius: 50%; border: 5px solid rgba(117,191,67,.25); border-top-color: var(--green); animation: spin .75s linear infinite; }
.toast {
  position: fixed;
  z-index: 80;
  left: 50%;
  bottom: calc(72px + env(safe-area-inset-bottom));
  max-width: min(92vw, 360px);
  transform: translate(-50%, 14px);
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(20,25,29,.92);
  color: #fff;
  font-weight: 850;
  font-size: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.toast.show { opacity: 1; transform: translate(-50%, 0); }

.confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: grid;
  place-items: center;
  padding: 18px;
}
.confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,14,18,.34);
  backdrop-filter: blur(5px);
}
.confirm-card {
  position: relative;
  z-index: 1;
  width: min(100%, 340px);
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(20,28,34,.10);
  box-shadow: 0 22px 54px rgba(10,14,18,.25);
}
.confirm-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #f2f4ef;
  color: var(--muted);
  font-size: 22px;
  font-weight: 900;
}
.confirm-card h2 {
  margin: 4px 34px 8px 0;
  font-size: 20px;
  letter-spacing: -.025em;
}
.confirm-card p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.confirm-price {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border-radius: 14px;
  background: rgba(255,215,74,.18);
  border: 1px solid rgba(180,139,23,.12);
  font-size: 18px;
  font-weight: 900;
}
.confirm-price img { width: 24px; height: 24px; object-fit: contain; }
.confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}
.confirm-actions button {
  min-height: 42px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 900;
}
.confirm-cancel { background: #eef1ec; color: var(--muted); }
.confirm-ok { background: linear-gradient(180deg, #8bd855, #5fad35); color: #fff; box-shadow: inset 0 -2px 0 rgba(0,0,0,.14); }

.hidden { display: none !important; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (max-width: 360px) {
  .game-head { grid-template-columns: 1fr 108px; }
  .stage-shell, .game-canvas { min-height: 300px; height: 300px; }
  .claim-row { align-items: flex-start; flex-direction: column; }
  .claim-actions { width: 100%; }
  .mini-button { flex: 1; }
}


/* Gameplay / leaderboard / partner rework */
.burger {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0;
}
.burger span {
  flex: 0 0 auto;
  width: 22px;
  height: 2px;
  border-radius: 99px;
  display: block;
}

.stage-overlay.center {
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
.stage-shell.manual {
  box-shadow: inset 0 0 0 2px rgba(120,190,69,.24);
}
.field-controls.hidden {
  display: none !important;
}

.gameover-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 18px;
}
.gameover-card {
  position: relative;
  z-index: 2;
  width: min(92vw, 360px);
  padding: 22px 18px 18px;
  border-radius: 24px;
  text-align: center;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(20,28,34,.12);
  box-shadow: 0 22px 60px rgba(10,16,20,.22);
}
.gameover-card h2 {
  margin: 0;
  font-size: 38px;
  line-height: .95;
  letter-spacing: -.04em;
}
.gameover-card p {
  margin: 12px 0 18px;
  color: var(--muted);
  font-weight: 900;
}
.gameover-card p strong {
  color: var(--text);
  font-size: 32px;
}
.share-button {
  width: 100%;
  min-height: 56px;
  border-radius: 18px;
  background: linear-gradient(180deg, #8bd855, #5fad35);
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  text-shadow: 0 2px 0 rgba(35,80,20,.20);
  box-shadow: inset 0 -3px 0 rgba(0,0,0,.15), 0 10px 18px rgba(72,148,44,.20);
}
.gameover-card .confirm-cancel {
  width: 100%;
  margin-top: 8px;
}

.leaderboard-self {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 8px 0 12px;
}
.leaderboard-self article {
  min-width: 0;
  padding: 10px 6px;
  border-radius: 14px;
  background: rgba(120,190,69,.10);
  text-align: center;
}
.leaderboard-self span {
  display: block;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
}
.leaderboard-self strong {
  display: block;
  margin-top: 2px;
  font-size: 15px;
  font-weight: 950;
}
.leaderboard-list,
.referral-list,
.career-list {
  display: grid;
  gap: 7px;
}
.leader-row,
.ref-row,
.career-row {
  display: grid;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border-radius: 14px;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(26,34,44,.08);
}
.leader-row {
  grid-template-columns: 30px 32px 1fr auto;
}
.leader-row.me {
  background: rgba(120,190,69,.14);
  border-color: rgba(75,150,42,.18);
}
.leader-place {
  font-weight: 950;
  color: var(--green-dark);
  text-align: center;
}
.mini-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(120,190,69,.15);
}
.leader-main,
.ref-main {
  min-width: 0;
}
.leader-main strong,
.ref-main strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.leader-main span,
.ref-main span,
.leader-meta span,
.ref-meta span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}
.leader-meta,
.ref-meta {
  text-align: right;
  font-weight: 900;
}
.leader-meta strong {
  font-size: 13px;
}
.partner-hero {
  padding: 12px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(120,190,69,.16), rgba(255,215,74,.15));
  border: 1px solid rgba(26,34,44,.08);
  margin-bottom: 9px;
}
.partner-hero span,
.partner-hero small,
.partner-summary span {
  color: var(--muted);
  font-weight: 850;
}
.partner-hero strong {
  display: block;
  font-size: 22px;
  line-height: 1;
  margin: 3px 0;
}
.partner-progress {
  height: 9px;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(26,34,44,.10);
  overflow: hidden;
}
.partner-progress i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, #98dd5e, #5cad31);
  transition: width .25s ease;
}
.partner-summary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: 9px 0;
}
.partner-summary p {
  margin: 0;
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.70);
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.partner-summary b {
  white-space: nowrap;
}
.career-row {
  grid-template-columns: 1fr auto;
}
.career-row.active {
  background: rgba(120,190,69,.14);
  border-color: rgba(75,150,42,.18);
}
.career-row strong {
  font-size: 12px;
}
.career-row span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
}
.career-row b {
  font-size: 11px;
}
.ref-row {
  grid-template-columns: 32px 1fr auto;
}
.ref-level {
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(78,167,234,.14);
  color: #2273ae;
  font-size: 10px;
  font-weight: 950;
}
.empty-list {
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.58);
  color: var(--muted);
  text-align: center;
  font-size: 12px;
  font-weight: 850;
}
.small-title {
  margin-top: 12px;
}

@media (max-width: 360px) {
  .stage-overlay.center { top: 48px; }
  .leader-row { grid-template-columns: 26px 30px 1fr auto; }
  .mini-avatar { width: 30px; height: 30px; }
}


/* Session/menu/game-head fixes */
.game-head {
  grid-template-columns: 1fr;
  gap: 8px;
  margin: 2px 4px 10px;
}
.game-metric {
  border-radius: 15px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(26,34,44,.08);
  padding: 11px 12px;
}
.total-metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.game-metric span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.15;
  font-weight: 900;
}
.total-metric strong {
  font-size: clamp(20px, 6vw, 28px);
  line-height: 1;
  letter-spacing: -.04em;
}
.level-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.level-title strong {
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.03em;
}
.level-metric small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  font-weight: 850;
}
.level-metric .progress-line {
  margin: 8px 0 5px;
}
.stage-shell {
  background-size: 620px auto;
}
.drawer-card h2[data-i18n="menu"] {
  font-size: 24px;
  letter-spacing: -.03em;
}
@media (max-width: 360px) {
  .game-head { grid-template-columns: 1fr; }
}

/* Partner program 1:1 compact layout from reference */
.partners-panel {
  padding: 10px;
  background: rgba(255,255,255,.78);
}
.friends-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 9px;
  padding: 4px;
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(26,34,44,.08);
}
.friends-tabs button {
  min-height: 34px;
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}
.friends-tabs button.active {
  background: linear-gradient(180deg, #8bd855, #5fad35);
  color: #fff;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.13);
}
.friends-block {
  margin: 9px 0;
  padding: 11px;
  border-radius: 15px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(26,34,44,.08);
  box-shadow: 0 6px 16px rgba(20,28,34,.045);
}
.friends-block h2 {
  margin: 0 0 5px;
  font-size: 16px;
  line-height: 1.05;
  letter-spacing: -.02em;
}
.friends-block p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 800;
}
.friends-share-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
}
.friends-link-input {
  min-width: 0;
  height: 38px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(26,34,44,.10);
  background: rgba(255,255,255,.72);
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
}
.friends-copy-btn {
  min-height: 38px;
  padding: 0 12px;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}
.partner-hero.compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.partner-hero.compact > div {
  min-width: 0;
  padding: 9px;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(120,190,69,.14), rgba(255,215,74,.12));
  border: 1px solid rgba(26,34,44,.08);
}
.partner-hero.compact strong {
  font-size: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.friends-career-table,
.friends-stats-table,
.friends-ref-table {
  display: grid;
  gap: 4px;
  padding: 7px 6px;
  border-radius: 13px;
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(26,34,44,.08);
}
.friends-career-row,
.friends-stat-row,
.friends-ref-row {
  display: grid;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 6px 7px;
  border-radius: 10px;
  background: rgba(255,255,255,.55);
  color: var(--text);
  font-size: 11px;
  font-weight: 850;
}
.friends-career-row { grid-template-columns: minmax(86px, 1fr) 46px 46px 46px; }
.friends-stat-row { grid-template-columns: minmax(66px, 1fr) 68px 84px; }
.friends-ref-row { grid-template-columns: minmax(0, 1fr) 70px 44px; }
.friends-career-row--head,
.friends-stat-row--head,
.friends-ref-row--head {
  background: rgba(120,190,69,.10);
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .02em;
  font-size: 9px;
}
.friends-career-row.is-active,
.friends-stat-row.is-active {
  background: rgba(120,190,69,.17);
  border: 1px solid rgba(75,150,42,.18);
}
.friends-career-row > span:first-child,
.friends-stat-row > span:first-child,
.friends-ref-row > span:first-child { text-align: left; }
.friends-career-row > span:not(:first-child),
.friends-career-row > strong,
.friends-stat-row > span:not(:first-child),
.friends-stat-row > strong,
.friends-ref-row > span:not(:first-child),
.friends-ref-row > strong {
  text-align: right;
  justify-content: flex-end;
}
.friends-user-chip {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.friends-user-chip img,
.friends-user-chip span {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(120,190,69,.14);
}
.friends-user-chip b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.friends-turnover-note {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.friends-turnover-note strong { margin-left: auto; color: var(--text); }
.leaderboard_formula_note,
[data-i18n="leaderboard_formula"] { font-size: 10px; }
@media (max-width: 360px) {
  .friends-career-row { grid-template-columns: minmax(74px, 1fr) 41px 41px 41px; }
  .friends-stat-row { grid-template-columns: minmax(58px, 1fr) 58px 76px; }
  .friends-ref-row { grid-template-columns: minmax(0, 1fr) 60px 38px; }
}

/* 2026-05-29 profile/tasks/profit polish */
.user-avatar-button {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  overflow: hidden;
  flex: 0 0 auto;
}
.user-level-pill {
  width: max-content;
  max-width: 100px;
  margin-top: 2px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(120,190,69,.16);
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
}
.claim-row--compact {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.claim-row--compact .mini-button { width: 100%; }
.profit-link-card {
  width: 100%;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line);
  text-align: left;
}
.profit-link-card span { color: var(--muted); font-size: 11px; font-weight: 900; }
.profit-link-card strong { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.profit-link-card img, .rate-card img { width: 18px; height: 18px; }
.ref-quick-card {
  display: grid;
  grid-template-columns: 1fr 42px 42px;
  align-items: center;
  gap: 8px;
  padding: 10px;
}
.ref-quick-card strong { display: block; font-size: 14px; }
.ref-quick-card span { display: block; max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 10px; font-weight: 800; }
.ref-quick-card button {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgba(120,190,69,.16);
  color: var(--green-dark);
  font-size: 20px;
  font-weight: 900;
}
.rate-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin-bottom: 10px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,215,74,.22), rgba(120,190,69,.14));
  border: 1px solid rgba(120,190,69,.16);
}
.rate-card span { color: var(--muted); font-weight: 900; }
.rate-card strong { display: inline-flex; align-items: center; gap: 5px; font-size: 16px; }
.profit-table { display: grid; gap: 6px; }
.profit-row {
  display: grid;
  grid-template-columns: .7fr 1fr 1fr;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.68);
  font-size: 12px;
  font-weight: 850;
}
.profit-row--head { color: var(--muted); background: transparent; padding-top: 0; }
.task-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 10px;
}
.task-tabs button {
  padding: 10px;
  border-radius: 13px;
  background: rgba(255,255,255,.68);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.task-tabs button.active { background: var(--green); color: #fff; }
.task-list { display: grid; gap: 8px; }
.task-row {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  align-items: center;
  gap: 9px;
  padding: 10px;
  border-radius: 15px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line);
}
.task-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(120,190,69,.16);
  color: var(--green-dark);
  font-size: 11px;
  font-weight: 950;
}
.task-main strong { display: block; font-size: 13px; }
.task-main span { display: block; color: var(--muted); font-size: 10px; font-weight: 800; }
.task-main small { display: block; color: var(--muted); font-size: 10px; font-weight: 900; }
.task-progress { height: 6px; margin: 5px 0 3px; border-radius: 999px; background: rgba(20,28,34,.10); overflow: hidden; }
.task-progress i { display: block; height: 100%; border-radius: 999px; background: var(--green); }
.task-row > button {
  min-width: 72px;
  padding: 9px 10px;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.task-row > button:disabled { background: #d9ded4; color: #8a9188; cursor: default; }
.task-row.is-claimed { opacity: .72; }
.profile-modal {
  position: fixed;
  inset: 0;
  z-index: 75;
  display: grid;
  place-items: center;
  padding: 16px;
}
.profile-card {
  position: relative;
  z-index: 2;
  width: min(100%, 390px);
  padding: 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 55px rgba(0,0,0,.20);
}
.profile-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-right: 34px;
}
.profile-avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  background-size: cover;
}
.profile-head h2 { margin: 0; font-size: 20px; }
.profile-head span { color: var(--muted); font-size: 12px; font-weight: 900; }
.profile-exp { height: 8px; margin: 12px 0; border-radius: 999px; background: rgba(20,28,34,.10); overflow: hidden; }
.profile-exp i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--green); }
.profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.profile-grid article {
  padding: 10px;
  border-radius: 13px;
  background: rgba(120,190,69,.08);
}
.profile-grid span { display: block; color: var(--muted); font-size: 10px; font-weight: 900; }
.profile-grid strong { display: block; margin-top: 2px; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.leader-main span { color: var(--muted); }

/* 2026-05-30 task/gameover hotfix */
.gameover-card {
  width: min(92vw, 360px);
  padding: 22px 18px 18px;
  border-radius: 28px;
  background: rgba(255,255,255,.98);
  border: 2px solid rgba(120,190,69,.24);
  text-align: center;
  box-shadow: 0 24px 70px rgba(12, 18, 24, .28);
}
.gameover-badge {
  width: 58px;
  height: 58px;
  margin: 0 auto 8px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffdf58, #f5b92f);
  color: #fff;
  font-size: 30px;
  text-shadow: 0 2px 0 rgba(90,55,0,.2);
  box-shadow: inset 0 -4px 0 rgba(0,0,0,.12), 0 10px 22px rgba(216,146,28,.25);
}
.gameover-card h2 {
  margin: 0;
  color: #1c2128;
  font-size: 30px;
  font-weight: 950;
  letter-spacing: -.03em;
}
.gameover-score-label { margin: 8px 0 0; color: var(--muted); font-weight: 900; }
.gameover-score {
  display: block;
  margin: 0 0 10px;
  color: var(--green-dark);
  font-size: 54px;
  line-height: .95;
  font-weight: 950;
}
.gameover-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 10px 0 14px;
}
.gameover-stats span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 9px;
  border-radius: 14px;
  background: rgba(120,190,69,.10);
  font-weight: 950;
}
.gameover-stats img { width: 22px; height: 22px; }
.gameover-card .share-button { width: 100%; min-height: 52px; border-radius: 16px; font-size: 18px; }

.task-list { display: grid; gap: 10px; }
.task-card {
  display: grid;
  gap: 9px;
  padding: 11px;
  border-radius: 17px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(20,28,34,.10);
}
.task-card.is-ready { border-color: rgba(120,190,69,.42); box-shadow: 0 8px 22px rgba(120,190,69,.12); }
.task-card__top {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
}
.task-card__title { min-width: 0; }
.task-card__title strong { display: block; font-size: 13px; line-height: 1.12; }
.task-card__title span { display: block; margin-top: 2px; color: var(--muted); font-size: 10px; font-weight: 800; line-height: 1.15; }
.task-reward { display: grid; gap: 4px; justify-items: end; color: var(--green-dark); font-size: 11px; font-weight: 950; white-space: nowrap; }
.task-reward span { display: inline-flex; align-items: center; gap: 4px; }
.task-reward img { width: 15px; height: 15px; }
.task-progress-line { display: grid; gap: 4px; }
.task-progress-line small { color: var(--muted); font-size: 10px; font-weight: 900; }
.task-progress-line i { height: 7px; border-radius: 999px; background: rgba(20,28,34,.09); overflow: hidden; }
.task-progress-line b { display: block; height: 100%; border-radius: 999px; background: var(--green); }
.task-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.task-actions .task-btn:only-child { grid-column: 1 / -1; }
.task-btn {
  min-height: 38px;
  padding: 8px 10px;
  border-radius: 13px;
  background: rgba(20,28,34,.07);
  color: var(--text);
  font-size: 12px;
  font-weight: 950;
}
.task-btn--primary { background: linear-gradient(180deg, #8bd855, #5fad35); color: #fff; }
.task-btn:disabled { background: #d9ded4; color: #8a9188; cursor: default; }

.profit-table {
  width: 100%;
  max-height: 420px;
  overflow: auto;
  padding-right: 2px;
}
.profit-row {
  width: 100%;
  grid-template-columns: .7fr 1.2fr 1.2fr;
  text-align: center;
  justify-items: center;
}
.profit-row span { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.profit-row img { width: 15px; height: 15px; }
.profit-cost-cell { flex-wrap: wrap; gap: 3px 4px; }
.profit-cost-cell > span { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.profit-cost-total { color: var(--muted); font-size: 11px; font-weight: 850; line-height: 1; }
.profit-row--head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(255,255,255,.92);
  color: var(--text);
  font-weight: 950;
}
.inline-coin { width: 16px; height: 16px; object-fit: contain; vertical-align: -2px; margin-right: 3px; }
.stage-overlay.center strong { display: inline-flex; align-items: center; justify-content: center; gap: 3px; }
.inline-energy {
  width: 15px;
  height: 15px;
  object-fit: contain;
  vertical-align: -2px;
  margin-left: 3px;
}
.ref-level-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 10px 0;
}
.ref-level-tabs button {
  height: 36px;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  color: var(--muted);
  font-weight: 900;
  border: 1px solid rgba(24,32,42,.08);
}
.ref-level-tabs button.active {
  background: linear-gradient(180deg, #8dd95a, #62b23a);
  color: #fff;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.14);
}

/* Security/finance/leaderboard expansion */
.extra-attempt-card{margin-top:12px;width:100%;border:0;border-radius:22px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#fff7c8,#ffd66e 60%,#ffad3b);box-shadow:0 14px 28px rgba(139,86,5,.18);font-family:inherit;color:#4c2d00;text-align:left;cursor:pointer}
.extra-attempt-card:disabled{filter:grayscale(.45);opacity:.65;cursor:not-allowed}.extra-attempt-card span{display:flex;flex-direction:column;gap:3px}.extra-attempt-card b{font-size:16px}.extra-attempt-card em{font-style:normal;font-size:12px;opacity:.78}.extra-attempt-card strong{display:flex;align-items:center;gap:6px;background:#fff;padding:8px 10px;border-radius:999px;white-space:nowrap}.extra-attempt-card img{width:18px;height:18px}
.leaderboard-tabs,.finance-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.finance-tabs{grid-template-columns:repeat(3,1fr)}.leaderboard-tabs button,.finance-tabs button{border:0;border-radius:999px;padding:10px 12px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(91,141,45,.12);font-weight:900;color:#456427}.leaderboard-tabs button.active,.finance-tabs button.active{background:linear-gradient(135deg,#74cf45,#c9f65d);color:#173b0d;box-shadow:0 10px 22px rgba(73,155,39,.22)}
.leaderboard-countdown{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 12px;padding:13px 14px;border-radius:20px;background:rgba(21,48,84,.08);box-shadow:inset 0 0 0 1px rgba(38,85,137,.09)}.leaderboard-countdown span{font-size:12px;font-weight:800;color:#5f6f88}.leaderboard-countdown strong{font-size:22px;color:#153054;letter-spacing:.5px}.leaderboard-table{display:flex;flex-direction:column;gap:8px}.leader-table-head,.leader-row{display:grid;grid-template-columns:1.6fr .8fr .8fr;gap:8px;align-items:center}.leader-table-head{padding:0 10px;color:#7b8a62;font-size:12px;font-weight:900;text-transform:uppercase}.leader-row{padding:10px;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 10px 22px rgba(48,87,25,.08)}.leader-row.me{background:linear-gradient(135deg,#ecffd4,#fff7c4)}.leader-player{display:flex;align-items:center;gap:7px;min-width:0}.leader-player b{color:#6daf31}.leader-player strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-points{font-weight:900;color:#183b57}.leader-reward{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-weight:900;color:#a66c00}.leader-reward img{width:17px;height:17px}
.finance-panel .section-title span{max-width:220px}.finance-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.finance-stats p{margin:0;padding:12px;border-radius:18px;background:rgba(255,255,255,.78);display:flex;flex-direction:column;gap:3px}.finance-stats span{font-size:12px;color:#718061;font-weight:800}.finance-stats b{font-size:18px;color:#173b0d}.finance-pack-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}.coin-pack{position:relative;display:grid;grid-template-columns:58px 1fr;grid-template-areas:'img title' 'img meta' 'img bonus' 'img value';gap:2px 12px;align-items:center;border-radius:22px;padding:12px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(238,255,219,.9));box-shadow:0 12px 26px rgba(47,91,37,.11);border:2px solid transparent;cursor:pointer}.coin-pack.active{border-color:#7bd64b;box-shadow:0 14px 30px rgba(84,172,52,.22)}.coin-pack img{grid-area:img;width:58px;height:58px;object-fit:contain;border-radius:16px}.coin-pack strong{grid-area:title;font-size:16px;color:#233b12}.coin-pack span{grid-area:meta;font-weight:900;color:#183b57}.coin-pack em{grid-area:bonus;font-style:normal;color:#6b7a55;font-size:12px}.coin-pack small{grid-area:value;display:inline-flex;width:max-content;border-radius:999px;padding:3px 8px;background:#fff2a6;color:#7a4c00;font-weight:900}.finance-subtitle{font-size:14px;color:#315123;margin:14px 0 8px}.finance-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.finance-method{border:0;border-radius:18px;padding:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(255,255,255,.78);font-weight:900;color:#314821;box-shadow:inset 0 0 0 1px rgba(65,112,37,.12)}.finance-method.active{background:linear-gradient(135deg,#dfffb9,#77d84a)}.finance-method img{width:24px;height:24px;object-fit:contain}.finance-pay{grid-column:1/-1;margin-top:4px}.withdraw-card{display:flex;flex-direction:column;gap:10px}.withdraw-card label{display:flex;flex-direction:column;gap:6px;font-weight:900;color:#51613d}.withdraw-card input{border:0;border-radius:16px;padding:12px 14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(52,95,31,.14);font:inherit}.finance-history{display:flex;flex-direction:column;gap:8px}.finance-history-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.8)}.finance-history-row b{text-transform:capitalize}.finance-history-row span{font-weight:900}.finance-history-row em{font-style:normal;font-size:12px;color:#69795b}.finance-modal{position:fixed;inset:0;background:rgba(13,25,34,.44);z-index:80;display:grid;place-items:center;padding:18px}.finance-modal.hidden{display:none}.finance-modal-card{width:min(420px,100%);max-height:86vh;overflow:auto;border-radius:28px;background:#fffdf4;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);position:relative}.finance-modal-card h2{margin:0 34px 12px 0}.modal-close{position:absolute;right:14px;top:12px;border:0;background:#ffe4e4;border-radius:999px;width:32px;height:32px;font-weight:900}.deposit-instructions{display:flex;flex-direction:column;gap:12px}.deposit-instructions label{display:flex;flex-direction:column;gap:6px;font-weight:900}.deposit-instructions textarea{min-height:80px;resize:none;border:0;border-radius:16px;background:#f5f9ef;padding:12px;font:inherit;word-break:break-all}.deposit-instructions small{color:#6d7a62;font-weight:700}
@media (min-width:430px){.finance-pack-grid{grid-template-columns:1fr 1fr}.coin-pack{grid-template-columns:48px 1fr}.coin-pack img{width:48px;height:48px}}

/* Finance rework — Doodle style */
.finance-panel{padding-bottom:18px}
.finance-panel__title{margin-bottom:8px}
.finance-tabs{grid-template-columns:repeat(2,1fr)!important;margin:10px 0 12px}
.finance-tabs button{border-radius:18px;background:rgba(255,255,255,.72);color:#456427;box-shadow:inset 0 0 0 1px rgba(91,141,45,.12);font-weight:950}
.finance-tabs button.active{background:linear-gradient(180deg,#91df5b,#61b73d);color:#103506;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12),0 10px 22px rgba(73,155,39,.18)}
.finance-rate-card,.finance-topup-card,.finance-withdraw-card,.coin-pack,.finance-modal-card--theme{background:rgba(255,255,255,.86);border:1px solid rgba(41,86,24,.12);box-shadow:0 12px 26px rgba(45,75,33,.10);backdrop-filter:blur(8px);color:var(--text)}
.finance-rate-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-radius:22px;padding:14px 16px;margin:8px 0 12px;background:linear-gradient(135deg,rgba(239,255,221,.95),rgba(255,249,211,.92))}
.finance-rate-card span{display:block;font-size:11px;font-weight:900;color:#70805c;text-transform:uppercase;letter-spacing:.04em}
.finance-rate-card b{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:22px;line-height:1.1;color:#183b10}
.finance-rate-card small{max-width:170px;font-size:12px;line-height:1.35;color:#6f7d62;font-weight:800}
.finance-rate-card--small{margin-bottom:14px}
.finance-topup-card{border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,255,215,.9))}
.finance-topup-card h3,.finance-block-title h3{margin:0;font-size:18px;color:#233b12;letter-spacing:-.02em}
.finance-amount-shell{display:block;border-radius:19px;padding:1px;background:rgba(68,119,38,.12)}
.finance-amount-shell input{width:100%;border:0;border-radius:18px;background:#fff;padding:14px 16px;color:#1e2a17;font:900 24px/1 inherit;outline:none;box-shadow:inset 0 0 0 1px rgba(52,95,31,.14)}
.finance-amount-shell input::placeholder{color:#9aa989}
.finance-receive-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:18px;background:rgba(244,255,232,.92);padding:12px 14px;box-shadow:inset 0 0 0 1px rgba(76,132,42,.12)}
.finance-receive-preview span{font-size:13px;font-weight:900;color:#718061}
.finance-receive-preview strong{display:flex;align-items:center;gap:6px;font-size:22px;font-weight:950;color:#2a8b23}
.finance-receive-preview em{font-style:normal;border-radius:999px;padding:6px 10px;background:linear-gradient(180deg,#ffe679,#ffc234);color:#5d3700;font-size:13px;font-weight:950;box-shadow:inset 0 -1px 0 rgba(0,0,0,.08)}
.finance-coin-icon{width:22px!important;height:22px!important;object-fit:contain;vertical-align:-4px;display:inline-block!important;border-radius:0!important;margin:0!important;filter:none!important;grid-area:auto!important}
.finance-cta,.finance-ghost,.finance-cta--link{border:0;border-radius:18px;padding:14px 16px;text-align:center;font:950 16px/1 inherit;cursor:pointer;text-decoration:none}
.finance-cta{background:linear-gradient(180deg,#8bd855,#5fad35);color:#123c06;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14),0 8px 18px rgba(72,148,44,.20)}
.finance-ghost{background:#eef3e8;color:#46523a;box-shadow:inset 0 0 0 1px rgba(75,102,54,.12)}
.finance-cta--link{display:block}
.finance-block-title{margin:0 0 10px}
.finance-block-title--spaced{margin-top:16px}
.finance-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.coin-pack{position:relative;border-radius:24px;padding:12px 12px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(238,255,219,.92));border:1px solid rgba(51,105,30,.12);box-shadow:0 12px 24px rgba(42,80,28,.10);min-height:230px}
.coin-pack__badge{position:absolute;left:10px;top:10px;border-radius:999px;padding:5px 9px;background:#fff2a6;color:#825100;font-size:12px;font-weight:950;box-shadow:inset 0 0 0 1px rgba(255,199,43,.28)}
.coin-pack>img{width:82px!important;height:72px!important;object-fit:contain;margin-top:14px;filter:drop-shadow(0 8px 14px rgba(55,95,30,.16));border-radius:0!important;grid-area:auto!important}
.coin-pack strong{font-size:17px;color:#203514;min-height:22px}
.coin-pack span{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;justify-content:center;font-size:12px;font-weight:900;color:#667359}
.coin-pack span b{font-size:17px;color:#8a5a00}
.coin-pack span s{color:#aab29d;font-size:13px}
.coin-pack em{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;font-style:normal;color:#4b5f3c;font-size:13px;line-height:1.25;min-height:34px;font-weight:900}
.finance-cta--pack{margin-top:auto;width:100%;font-size:14px;padding:12px 14px;border-radius:16px}
.finance-method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.finance-method{border:0;border-radius:20px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(65,112,37,.12),0 6px 14px rgba(39,72,22,.06);color:#314821;font-weight:950;min-height:104px}
.finance-method.active{background:linear-gradient(135deg,#e9ffd3,#87db55);box-shadow:inset 0 0 0 2px #6dca42,0 10px 20px rgba(93,166,52,.16)}
.finance-method img,.finance-popup-system img,.finance-invoice-method img{width:38px;height:38px;object-fit:contain}
.finance-method span{font-size:15px}
.finance-method small{font-size:11px;color:#6b7a55;font-weight:900}
.finance-withdraw-card{border-radius:24px;padding:14px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,255,222,.9))}
.finance-withdraw-card label{display:flex;flex-direction:column;gap:6px;margin-top:12px;color:#51613d;font-weight:900}
.finance-withdraw-card input{border:0;border-radius:16px;padding:13px 14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(52,95,31,.14);color:#1e2a17;font:inherit;outline:none}
.finance-history{display:flex;flex-direction:column;gap:8px}
.finance-history-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:'method amount' 'status status';gap:3px 10px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.84);box-shadow:inset 0 0 0 1px rgba(65,112,37,.10)}
.finance-history-row b{grid-area:method;color:#203514;font-size:15px}
.finance-history-row span{grid-area:amount;color:#2a8b23;font-weight:950}
.finance-history-row em{grid-area:status;font-style:normal;color:#6b7a55;font-size:12px;font-weight:800}
.finance-modal{position:fixed;inset:0;background:rgba(27,38,20,.44);backdrop-filter:blur(6px);z-index:80;display:grid;place-items:center;padding:18px}
.finance-modal.hidden{display:none}
.finance-modal-card--theme{width:min(430px,100%);max-height:88vh;overflow:auto;border-radius:28px;padding:18px 18px 20px;position:relative;background:#fffdf4;color:#203514;box-shadow:0 24px 70px rgba(40,55,27,.25)}
.finance-modal-card--theme h2{margin:0 40px 14px 0;color:#203514;font-size:22px;letter-spacing:-.03em}
.finance-modal-card--theme .modal-close{position:absolute;right:14px;top:12px;border:0;width:38px;height:38px;border-radius:14px;background:#eef5e9;color:#355121;font-size:26px;line-height:1;display:grid;place-items:center;font-weight:950}
.finance-popup{display:flex;flex-direction:column;gap:12px}
.finance-popup-total,.finance-invoice-head,.finance-copy-card,.finance-invoice-reward{border-radius:20px;background:rgba(245,255,235,.92);padding:13px 14px;box-shadow:inset 0 0 0 1px rgba(69,124,36,.12)}
.finance-popup-total span,.finance-copy-card span,.finance-invoice-reward span{display:block;font-size:12px;font-weight:900;color:#6f7d62;margin-bottom:5px}
.finance-popup-total strong{font-size:22px;color:#8a5a00}
.finance-popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.finance-popup-system{border:0;border-radius:20px;min-height:118px;padding:11px 8px;background:linear-gradient(145deg,#fff,#efffdf);color:#233b12;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 0 1px rgba(65,112,37,.12),0 7px 14px rgba(40,75,24,.08);font-weight:950}
.finance-popup-system strong{font-size:15px}
.finance-popup-system span{font-size:11px;color:#6b7a55}
.finance-invoice-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.finance-invoice-method{display:flex;align-items:center;gap:10px}
.finance-invoice-method strong{font-size:20px;color:#203514}
.finance-status-badge{border-radius:999px;padding:7px 11px;background:#e5ffd0;color:#2f8125;font-weight:950}
.finance-copy-card div{display:flex;align-items:center;gap:9px}
.finance-copy-card strong{flex:1;color:#203514;font-size:18px;line-height:1.3;word-break:break-word}
.finance-copy-card button{border:0;border-radius:15px;min-width:50px;height:50px;background:linear-gradient(180deg,#8bd855,#5fad35);color:#fff;font-size:23px;font-weight:950;box-shadow:inset 0 -2px 0 rgba(0,0,0,.14)}
.finance-copy-card small{display:block;margin-top:9px;color:#6f7d62;font-weight:800;font-size:12px}
.finance-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.finance-invoice-reward strong{display:flex;align-items:center;gap:7px;font-size:25px;color:#203514}
@media (max-width:420px){.finance-pack-grid{grid-template-columns:1fr 1fr}.finance-popup-grid{grid-template-columns:repeat(2,1fr)}.finance-receive-preview{flex-wrap:wrap}.finance-receive-preview strong{font-size:21px}.finance-rate-card{flex-direction:column}.coin-pack>img{width:76px!important;height:66px!important}.coin-pack{min-height:220px}}
@media (max-width:360px){.finance-pack-grid{grid-template-columns:1fr}.finance-popup-grid{grid-template-columns:repeat(2,1fr)}}

/* 2026-05-29 cosmetic unification: Doodle style */
.leaderboard-tabs,
.finance-tabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  margin: 0 0 9px !important;
  padding: 4px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.62) !important;
  border: 1px solid rgba(26,34,44,.08) !important;
  box-shadow: none !important;
}
.leaderboard-tabs button,
.finance-tabs button {
  min-height: 34px !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  padding: 0 10px !important;
  box-shadow: none !important;
}
.leaderboard-tabs button.active,
.finance-tabs button.active {
  background: linear-gradient(180deg, #8bd855, #5fad35) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.13) !important;
}
.leaderboard-countdown.rate-card,
.finance-rate-card.rate-card {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px !important;
  margin: 0 0 10px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(255,215,74,.22), rgba(120,190,69,.14)) !important;
  border: 1px solid rgba(120,190,69,.16) !important;
  box-shadow: none !important;
  color: var(--text) !important;
}
.leaderboard-countdown span,
.finance-rate-card span {
  color: var(--muted) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.leaderboard-countdown strong,
.finance-rate-card b {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: var(--text) !important;
  white-space: nowrap !important;
}
.finance-rate-card small { display: none !important; }
.finance-topup-card,
.finance-withdraw-card {
  border-radius: 18px !important;
  padding: 12px !important;
  background: rgba(255,255,255,.72) !important;
  color: var(--text) !important;
  border: 1px solid rgba(26,34,44,.08) !important;
  box-shadow: 0 6px 16px rgba(20,28,34,.045) !important;
}
.finance-topup-card h3,
.finance-block-title h3 {
  margin: 0 !important;
  color: var(--text) !important;
  font-size: 17px !important;
  letter-spacing: -.03em !important;
}
.finance-amount-shell { background: transparent !important; padding: 0 !important; }
.finance-amount-shell input,
.finance-withdraw-card input {
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: inset 0 0 0 1px rgba(52,95,31,.14) !important;
  color: var(--text) !important;
  font: 900 18px/1.15 inherit !important;
  outline: none !important;
}
.finance-receive-preview {
  border-radius: 14px !important;
  background: rgba(117,191,67,.10) !important;
  border: 1px solid rgba(67,145,44,.15) !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
}
.finance-receive-preview span { color: var(--muted) !important; font-size: 12px !important; font-weight: 900 !important; }
.finance-receive-preview strong { color: var(--green-dark) !important; font-size: 18px !important; font-weight: 950 !important; }
.finance-cta,
.finance-ghost,
.finance-cta--link {
  min-width: 92px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-align: center !important;
}
.finance-cta,
.finance-cta--link {
  background: linear-gradient(180deg, #8bd855, #5fad35) !important;
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(35,80,20,.20) !important;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.14), 0 5px 12px rgba(72,148,44,.18) !important;
}
.finance-ghost {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,247,235,.92)) !important;
  color: var(--green-dark) !important;
  box-shadow: inset 0 0 0 1px rgba(65,112,37,.10) !important;
}
.finance-pack-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: 6px !important;
}
.coin-pack {
  min-height: 186px !important;
  border-radius: 18px !important;
  padding: 10px !important;
  gap: 5px !important;
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(26,34,44,.08) !important;
  color: var(--text) !important;
  box-shadow: 0 6px 16px rgba(20,28,34,.045) !important;
}
.coin-pack__badge {
  left: 8px !important;
  top: 8px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: var(--yellow-soft) !important;
  color: #7a4c00 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  box-shadow: none !important;
}
.coin-pack>img {
  width: 62px !important;
  height: 54px !important;
  margin-top: 16px !important;
  object-fit: contain !important;
  filter: none !important;
}
.coin-pack strong { color: var(--text) !important; font-size: 14px !important; line-height: 1.05 !important; }
.coin-pack span { color: var(--muted) !important; font-size: 11px !important; gap: 4px !important; }
.coin-pack span b { color: var(--green-dark) !important; font-size: 16px !important; }
.coin-pack span s { display: none !important; }
.coin-pack em { color: var(--muted) !important; font-size: 11px !important; min-height: 28px !important; }
.finance-cta--pack { margin-top: auto !important; width: 100% !important; }
.finance-method-grid,
.finance-popup-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 7px !important;
}
.finance-method,
.finance-popup-system {
  min-height: 86px !important;
  border-radius: 15px !important;
  padding: 8px 5px !important;
  background: rgba(255,255,255,.78) !important;
  color: var(--text) !important;
  box-shadow: inset 0 0 0 1px rgba(65,112,37,.12), 0 4px 10px rgba(20,28,34,.04) !important;
}
.finance-method.active,
.finance-popup-system:active {
  background: linear-gradient(135deg,#e9ffd3,#87db55) !important;
  box-shadow: inset 0 0 0 2px #6dca42, 0 8px 16px rgba(93,166,52,.14) !important;
}
.finance-method img,
.finance-popup-system img,
.finance-invoice-method img { width: 30px !important; height: 30px !important; object-fit: contain !important; }
.finance-method span,
.finance-popup-system strong { font-size: 11px !important; line-height: 1.05 !important; color: var(--text) !important; }
.finance-method small,
.finance-popup-system span { font-size: 9px !important; line-height: 1.05 !important; color: var(--muted) !important; }
.finance-payout-check {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,215,74,.14);
  border: 1px solid rgba(255,215,74,.24);
  color: #725000;
  font-size: 12px;
  font-weight: 900;
}
.finance-payout-check.is-ok {
  background: rgba(120,190,69,.12);
  border-color: rgba(120,190,69,.20);
  color: var(--green-dark);
}
.finance-payout-details { margin-top: 10px; display: grid; gap: 10px; }
.finance-modal { z-index: 80 !important; background: rgba(10,14,18,.34) !important; backdrop-filter: blur(5px) !important; }
.finance-modal-card--theme {
  width: min(100%, 360px) !important;
  max-height: 88vh !important;
  overflow: auto !important;
  border-radius: 22px !important;
  padding: 18px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(20,28,34,.10) !important;
  box-shadow: 0 22px 54px rgba(10,14,18,.25) !important;
  color: var(--text) !important;
}
.finance-modal-card--theme h2 { margin: 4px 34px 12px 0 !important; font-size: 20px !important; letter-spacing: -.025em !important; color: var(--text) !important; }
.finance-modal-card--theme .modal-close { top: 10px !important; right: 10px !important; width: 34px !important; height: 34px !important; border-radius: 12px !important; background: #f2f4ef !important; color: var(--muted) !important; font-size: 22px !important; font-weight: 900 !important; }
.finance-popup-total,
.finance-invoice-head,
.finance-copy-card,
.finance-invoice-reward {
  border-radius: 14px !important;
  background: rgba(117,191,67,.10) !important;
  border: 1px solid rgba(67,145,44,.15) !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
}
.finance-popup-total span,
.finance-copy-card span,
.finance-invoice-reward span { color: var(--muted) !important; font-size: 11px !important; font-weight: 900 !important; }
.finance-popup-total strong,
.finance-invoice-method strong,
.finance-copy-card strong,
.finance-invoice-reward strong { color: var(--text) !important; font-size: 16px !important; }
.finance-copy-card button { min-width: 42px !important; height: 42px !important; border-radius: 13px !important; font-size: 18px !important; background: rgba(120,190,69,.16) !important; color: var(--green-dark) !important; box-shadow: none !important; }
.finance-status-badge { padding: 5px 8px !important; font-size: 11px !important; color: var(--green-dark) !important; background: var(--green-soft) !important; }
.finance-popup-actions { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
.finance-coin-icon { width: 18px !important; height: 18px !important; vertical-align: -4px !important; object-fit: contain !important; }
@media (max-width: 360px) {
  .finance-pack-grid { grid-template-columns: 1fr !important; }
  .finance-method-grid,.finance-popup-grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* 2026-05-29 payout / invoice polish */
.finance-withdrawable-card {
  position: relative;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
.finance-info-button {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(120,190,69,.16);
  color: var(--green-dark);
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(67,145,44,.18);
}
.finance-payout-rule {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  font-weight: 850;
}
.finance-detecting-note {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,215,74,.16);
  border: 1px solid rgba(255,190,45,.28);
  color: #6b4b05;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 900;
}
.finance-popup-actions--single { grid-template-columns: 1fr !important; }
.finance-popup--loading {
  min-height: 132px;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--muted);
  font-weight: 900;
}
.finance-spinner {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 4px solid rgba(120,190,69,.22);
  border-top-color: var(--green);
  animation: finance-spin .8s linear infinite;
}
@keyframes finance-spin { to { transform: rotate(360deg); } }
.finance-popup-grid { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
.finance-popup--payout-confirm { gap: 10px; }
.finance-confirm-intro { margin: 0 0 4px; color: var(--text); font-weight: 900; line-height: 1.35; }
.finance-confirm-row { display: grid; gap: 5px; padding: 11px 12px; border-radius: 14px; background: rgba(255,255,255,.72); border: 1px solid rgba(20,28,34,.08); }
.finance-confirm-row span { color: var(--muted); font-weight: 900; font-size: 12px; }
.finance-confirm-row strong { display: inline-flex; align-items: center; gap: 6px; color: var(--text); font-size: 15px; line-height: 1.25; word-break: break-word; }
.finance-confirm-row strong img:not(.finance-coin-icon) { width: 26px; height: 26px; object-fit: contain; }
.finance-confirm-row strong em { color: var(--muted); font-style: normal; font-size: 12px; font-weight: 900; }
.finance-confirm-wallet { display: block !important; }

.finance-cta[disabled], .finance-ghost[disabled] {
  opacity: .62;
  cursor: wait;
  transform: none !important;
  pointer-events: none;
}

/* Leaderboard column alignment + mini-app swipe protection */
html.no-app-swipe,
body.no-app-swipe {
  overscroll-behavior: none;
  overscroll-behavior-y: none;
}

.leaderboard-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin: 12px 0 10px;
  padding: 4px;
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(26,34,44,.08);
}
.leaderboard-tabs button {
  min-height: 34px;
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  box-shadow: none;
}
.leaderboard-tabs button.active {
  background: linear-gradient(180deg, #8bd855, #5fad35);
  color: #fff;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.13);
}

.leaderboard-countdown {
  min-height: 52px;
  margin: 10px 0 12px;
  padding: 10px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,213,38,.18), rgba(117,191,67,.12));
  border: 1px solid rgba(87, 134, 27, .16);
  box-shadow: 0 6px 16px rgba(20,28,34,.045);
}
.leaderboard-countdown span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.leaderboard-countdown strong {
  color: var(--text);
  font-size: 17px;
  letter-spacing: .02em;
  font-weight: 950;
}

.leader-table-head,
.leader-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 68px 124px;
  column-gap: 0;
  align-items: center;
}
.leader-table-head {
  padding: 0 10px;
}
.leader-table-head span:nth-child(1) { text-align: left; }
.leader-table-head span:nth-child(2) { text-align: center; }
.leader-table-head span:nth-child(3) { text-align: right; }
.leader-row {
  padding: 10px;
}
.leader-player {
  min-width: 0;
  overflow: hidden;
}
.leader-player strong {
  min-width: 0;
}
.leader-points {
  width: 100%;
  text-align: center;
  justify-self: center;
  font-variant-numeric: tabular-nums;
}
.leader-reward {
  width: 100%;
  justify-content: flex-end;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@media (max-width: 380px) {
  .leader-table-head,
  .leader-row {
    grid-template-columns: minmax(0, 1fr) 60px 108px;
  }
  .leader-reward {
    font-size: 13px;
  }
}

/* Mobile input / keyboard fixes */
input, textarea {
  caret-color: var(--green-dark);
  -webkit-text-fill-color: currentColor;
}
body.keyboard-open .bottom-nav,
.app-shell.keyboard-open .bottom-nav {
  opacity: 0;
  transform: translateY(calc(110% + env(safe-area-inset-bottom)));
  pointer-events: none;
}
body.keyboard-open .app-shell {
  padding-bottom: max(18px, env(safe-area-inset-bottom));
}

.task-section-label {
  margin: 10px 2px 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.play-intro-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 850;
}
.play-intro-card .gameover-badge {
  margin: 0 auto 8px;
}
.play-intro-warning {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255, 215, 74, .16);
  border: 1px solid rgba(196, 154, 20, .18);
  color: #5f4c0d !important;
}

/* Daily combo */
.combo-panel { padding: 12px; }
.combo-timer-card { margin: 8px 0 10px; }
.combo-reward-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 0;
  padding: 11px 12px;
  border-radius: 15px;
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(26,34,44,.08);
  box-shadow: 0 6px 16px rgba(20,28,34,.045);
}
.combo-reward-card span { color: var(--muted); font-size: 12px; font-weight: 900; }
.combo-reward-card strong { display: inline-flex; align-items: center; gap: 5px; font-size: 16px; }
.combo-reward-card img { width: 18px; height: 18px; }
.combo-slots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 11px 0;
}
.combo-slot {
  min-height: 98px;
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  border: 2px dashed rgba(87, 134, 27, .28);
  display: grid;
  place-items: center;
  padding: 8px;
  color: var(--muted);
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45), 0 6px 16px rgba(20,28,34,.045);
}
.combo-slot.is-filled { border-style: solid; border-color: rgba(120,190,69,.55); background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(238,255,219,.88)); }
.combo-slot.is-ok { border-style: solid; border-color: rgba(79,183,80,.72); background: linear-gradient(180deg, #efffdf, #dcffd0); }
.combo-slot.is-bad { border-style: solid; border-color: rgba(255,108,108,.58); background: linear-gradient(180deg, #fff2eb, #ffe2dd); }
.combo-slot em { font-style: normal; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(120,190,69,.12); color: var(--green-dark); }
.combo-slot img { width: 54px; height: 54px; object-fit: contain; filter: drop-shadow(0 5px 9px rgba(40,60,20,.14)); }
.combo-slot span { display: none; }
.combo-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 7px;
  margin: 11px 0;
}
.combo-card {
  min-height: 74px;
  border-radius: 16px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(26,34,44,.08);
  display: grid;
  place-items: center;
  padding: 6px;
  box-shadow: 0 6px 16px rgba(20,28,34,.045);
}
.combo-card.is-used { opacity: .48; transform: scale(.96); }
.combo-card img { width: 48px; height: 48px; object-fit: contain; }
.combo-card span { display: none; }
.combo-submit { width: 100%; margin-top: 8px; }
.combo-help, .combo-result-card {
  margin: 8px 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(117, 191, 67, .10);
  border: 1px solid rgba(67, 145, 44, .15);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.combo-result-card { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.combo-result-card b { color: var(--text); font-size: 14px; }
.combo-result-card span { display: inline-flex; align-items: center; gap: 5px; }
.combo-result-card.is-win { background: linear-gradient(135deg, rgba(255,213,38,.18), rgba(117,191,67,.14)); }
@media (max-width: 380px) {
  .combo-cards { gap: 5px; }
  .combo-card img { width: 42px; height: 42px; }
  .combo-slot { min-height: 90px; }
}

/* DooDay event */
.dooday-top-button {
  height: 38px;
  min-width: 82px;
  padding: 0 10px;
  border-radius: 14px;
  background: linear-gradient(180deg, #ffd95c, #ffb12b);
  color: #4a2b00;
  font-size: 12px;
  font-weight: 950;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.14), 0 6px 14px rgba(195,123,10,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  flex: 0 0 auto;
}
.dooday-top-button b {
  border-radius: 999px;
  padding: 2px 5px;
  background: rgba(255,255,255,.38);
  font-size: 10px;
}
.dooday-top-button.hidden { display: none; }
.dooday-card { width: min(100%, 370px); }
.dooday-modal-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 2px 36px 12px 0;
}
.dooday-modal-head strong {
  font-size: 24px;
  letter-spacing: -.04em;
  color: #3f8b27;
}
.dooday-modal-head span { color: var(--muted); font-size: 12px; font-weight: 900; }
.dooday-modal-body { display: grid; gap: 10px; }
.dooday-info-card,
.dooday-progress-card,
.dooday-status-card,
.dooday-next-card,
.dooday-active-skin {
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(26,34,44,.08);
  box-shadow: 0 6px 16px rgba(20,28,34,.045);
}
.dooday-info-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.28; font-weight: 800; }
.dooday-info-card p + p { margin-top: 7px; }
.dooday-warning { color: #506b35 !important; }
.dooday-progress-card div { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.dooday-progress-card span,
.dooday-status-card span,
.dooday-next-card span,
.dooday-active-skin span { color: var(--muted); font-size: 11px; font-weight: 900; }
.dooday-progress-card strong { color: var(--text); font-size: 18px; }
.dooday-progress-card i { display:block; height:12px; margin-top:9px; border-radius:999px; background:rgba(120,190,69,.14); overflow:hidden; box-shadow: inset 0 0 0 1px rgba(70,130,35,.10); }
.dooday-progress-card i b { display:block; height:100%; border-radius:999px; background:linear-gradient(180deg,#8bd855,#5fad35); }
.dooday-status-card { background: linear-gradient(135deg, rgba(255,213,38,.16), rgba(117,191,67,.10)); }
.dooday-status-card.is-ready { background: linear-gradient(135deg, rgba(137,222,83,.28), rgba(255,246,155,.24)); }
.dooday-status-card strong { display:block; margin-top:4px; font-size:13px; color:#32451e; }
.dooday-active-skin { display:grid; grid-template-columns:64px 1fr; align-items:center; gap:10px; }
.dooday-active-skin img { width:64px; height:64px; object-fit:contain; filter:drop-shadow(0 6px 10px rgba(40,60,20,.14)); }
.dooday-active-skin strong { display:block; font-size:16px; }
.dooday-active-skin em { display:block; color:#5a6c4c; font-size:11px; font-style:normal; font-weight:900; }
.dooday-next-card { position:relative; min-height:70px; padding-right:82px; background:linear-gradient(135deg,rgba(255,213,38,.22),rgba(117,191,67,.14)); }
.dooday-next-card strong { display:block; margin-top:4px; font-size:16px; }
.dooday-next-card img { position:absolute; right:14px; top:8px; width:58px; height:58px; object-fit:contain; }
.dooday-skin-road { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; }
.dooday-skin-road div { min-width:0; display:grid; place-items:center; gap:2px; padding:7px 4px; border-radius:13px; background:rgba(255,255,255,.68); border:1px solid rgba(26,34,44,.08); }
.dooday-skin-road div.active { background:linear-gradient(180deg,#efffdf,#dcffd0); border-color:rgba(120,190,69,.42); }
.dooday-skin-road img { width:38px; height:38px; object-fit:contain; }
.dooday-skin-road span { font-size:10px; color:var(--muted); font-weight:900; }
.dooday-skin-road b { font-size:10px; color:#3f8b27; }
.dooday-claim { width:100%; margin-top:2px; }
.dooday-claim:disabled { opacity:.58; filter:grayscale(.2); cursor:not-allowed; }
@media (max-width: 380px) {
  .dooday-top-button { min-width: 74px; padding: 0 8px; font-size: 11px; }
  .dooday-top-button b { display:none; }
  .topbar { gap: 6px; }
}

/* DooDay modal usability fixes */
.dooday-card {
  max-height: min(86vh, 720px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.dooday-modal-body {
  padding-bottom: 4px;
}
.dooday-status-card strong,
.dooday-active-skin em,
.dooday-skin-road b {
  display: none !important;
}
.dooday-skin-road div {
  min-height: 66px;
}

/* Referral tables alignment polish */
.friends-ref-row {
  grid-template-columns: 46% 25% 29% !important;
  column-gap: 6px !important;
}
.friends-stat-row {
  grid-template-columns: 34% 31% 35% !important;
  column-gap: 6px !important;
}
.friends-ref-row > span:nth-child(2),
.friends-ref-row > strong:nth-child(2),
.friends-stat-row > span:nth-child(2),
.friends-stat-row > strong:nth-child(2) {
  text-align: center !important;
  justify-content: center !important;
}
.friends-ref-row > span:nth-child(3),
.friends-ref-row > strong:nth-child(3),
.friends-stat-row > span:nth-child(3),
.friends-stat-row > strong:nth-child(3) {
  text-align: right !important;
  justify-content: flex-end !important;
}
.friends-ref-row > strong,
.friends-stat-row > strong,
[data-bind="refEarned"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.friends-ref-row > strong .inline-coin,
.friends-stat-row > strong .inline-coin,
[data-bind="refEarned"] .inline-coin {
  display: inline-block !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
  transform: translateY(0) !important;
}
.friends-ref-row--head > span,
.friends-stat-row--head > span {
  display: flex;
  align-items: center;
}
.friends-ref-row--head > span:nth-child(2),
.friends-stat-row--head > span:nth-child(2) { justify-content: center; }
.friends-ref-row--head > span:nth-child(3),
.friends-stat-row--head > span:nth-child(3) { justify-content: flex-end; }
@media (max-width: 360px) {
  .friends-ref-row { grid-template-columns: 45% 26% 29% !important; }
  .friends-stat-row { grid-template-columns: 32% 32% 36% !important; }
}

/* Referral tables tighter right columns */
.friends-ref-table,
.friends-stats-table {
  overflow: hidden;
}
.friends-ref-row {
  grid-template-columns: minmax(0, 40%) minmax(58px, 22%) minmax(82px, 38%) !important;
  column-gap: 4px !important;
}
.friends-stat-row {
  grid-template-columns: minmax(54px, 29%) minmax(54px, 27%) minmax(84px, 44%) !important;
  column-gap: 4px !important;
}
.friends-ref-row > span:nth-child(2),
.friends-ref-row > strong:nth-child(2),
.friends-stat-row > span:nth-child(2),
.friends-stat-row > strong:nth-child(2) {
  text-align: center !important;
  justify-content: center !important;
}
.friends-ref-row > span:nth-child(3),
.friends-ref-row > strong:nth-child(3),
.friends-stat-row > span:nth-child(3),
.friends-stat-row > strong:nth-child(3) {
  text-align: center !important;
  justify-content: center !important;
}
.friends-ref-row > strong:nth-child(3),
.friends-stat-row > strong:nth-child(3) {
  justify-self: center !important;
  max-width: 100% !important;
}
.friends-ref-row > strong,
.friends-stat-row > strong {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.friends-ref-row > strong .inline-coin,
.friends-stat-row > strong .inline-coin,
[data-bind="refEarned"] .inline-coin {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  transform: translateY(0) !important;
  vertical-align: middle !important;
}
.friends-ref-row--head > span,
.friends-stat-row--head > span {
  display: flex !important;
  align-items: center !important;
}
.friends-ref-row--head > span:nth-child(2),
.friends-ref-row--head > span:nth-child(3),
.friends-stat-row--head > span:nth-child(2),
.friends-stat-row--head > span:nth-child(3) {
  justify-content: center !important;
  text-align: center !important;
}
@media (max-width: 360px) {
  .friends-ref-row {
    grid-template-columns: minmax(0, 38%) minmax(54px, 22%) minmax(78px, 40%) !important;
    column-gap: 3px !important;
  }
  .friends-stat-row {
    grid-template-columns: minmax(48px, 28%) minmax(48px, 26%) minmax(78px, 46%) !important;
    column-gap: 3px !important;
  }
}
.finance-tx-link{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;padding:4px 9px;background:rgba(84,172,52,.12);color:#2f7a1e;font-weight:900;text-decoration:none;white-space:nowrap}
.finance-tx-link:after{content:'↗';font-size:.9em;line-height:1}

/* Mobile/tablet gameplay fullscreen. Triggered only from the Play/Start buttons in app.js. */
html.game-fullscreen-playing,
body.game-fullscreen-playing {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
body.game-fullscreen-playing {
  position: fixed;
  inset: 0;
  touch-action: none;
}
.app-shell.game-fullscreen-mode:fullscreen,
.app-shell.game-fullscreen-mode:-webkit-full-screen {
  width: 100vw;
  max-width: none;
  height: 100dvh;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #faf9f3 var(--paper-bg) repeat 0 0;
}
@media (hover: none), (pointer: coarse), (max-width: 1024px) {
  .app-shell.game-fullscreen-playing {
    width: 100vw;
    max-width: none;
    min-height: 100dvh;
    height: var(--tg-viewport-height, 100dvh);
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #faf9f3 var(--paper-bg) repeat 0 0;
  }
  .app-shell.game-fullscreen-playing .topbar,
  .app-shell.game-fullscreen-playing .stats-card,
  .app-shell.game-fullscreen-playing .upgrades-card,
  .app-shell.game-fullscreen-playing .bottom-nav,
  .app-shell.game-fullscreen-playing .claim-row,
  .app-shell.game-fullscreen-playing [data-panel],
  .app-shell.game-fullscreen-playing .drawer {
    display: none !important;
  }
  .app-shell.game-fullscreen-playing .screen {
    display: block;
    width: 100vw;
    height: var(--tg-viewport-height, 100dvh);
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  .app-shell.game-fullscreen-playing .game-card {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    height: var(--tg-viewport-height, 100dvh);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    backdrop-filter: none;
  }
  .app-shell.game-fullscreen-playing .stage-shell {
    width: min(100vw, var(--game-fair-max-width));
    max-width: var(--game-fair-max-width);
    height: min(var(--tg-viewport-height, 100dvh), var(--game-fair-max-height));
    min-height: min(var(--tg-viewport-height, 100dvh), var(--game-fair-max-height));
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    box-shadow: inset var(--game-side-wall-width) 0 0 rgba(35, 52, 30, .5), inset calc(-1 * var(--game-side-wall-width)) 0 0 rgba(35, 52, 30, .5), 0 0 0 1px rgba(26, 34, 44, .1);
    touch-action: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
  .app-shell.game-fullscreen-playing .game-canvas {
    width: 100%;
    height: 100%;
    min-height: min(var(--tg-viewport-height, 100dvh), var(--game-fair-max-height));
  }
  .app-shell.game-fullscreen-playing .stage-overlay {
    top: max(10px, env(safe-area-inset-top));
  }
  .app-shell.game-fullscreen-playing .stage-overlay.left { left: max(10px, env(safe-area-inset-left)); }
  .app-shell.game-fullscreen-playing .stage-overlay.right { right: max(10px, env(safe-area-inset-right)); }
  .app-shell.game-fullscreen-playing .field-controls {
    left: max(12px, calc(env(safe-area-inset-left) + var(--game-side-wall-width)));
    right: max(12px, calc(env(safe-area-inset-right) + var(--game-side-wall-width)));
    bottom: max(14px, env(safe-area-inset-bottom));
  }
  .app-shell.game-fullscreen-playing .control-button {
    width: 58px;
    height: 58px;
    font-size: 42px;
    background: rgba(255,255,255,.62);
  }
}

/* RTL drawer fix: keep side menu anchored to the right when Arabic sets html[dir="rtl"].
   Without this, flex-end is resolved against the RTL inline direction and the drawer card
   is placed on the left, while translateX(110%) leaves part of it visible on the right. */
.drawer {
  direction: ltr;
}

.drawer-card {
  margin-left: auto;
  margin-right: 0;
}

html[dir="rtl"] .drawer-card {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .drawer-card button,
html[dir="rtl"] .drawer-card a {
  text-align: right;
}

html[dir="rtl"] .drawer-close {
  text-align: center !important;
}


.friends-ref-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 6px 0 2px;
  font-size: 11px;
  font-weight: 900;
  color: var(--muted);
}
.friends-ref-pager button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 999px;
  background: rgba(120,190,69,.16);
  color: var(--green-dark);
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
}
.friends-ref-pager button:disabled {
  opacity: .38;
}

/* 2026-06-02 upgrade layout and yield labels */
.extra-attempt-wrap { display: block; }
.triple-level-line {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}
.triple-yield {
  color: #2f7dbd;
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}
.profit-head-cell {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3px;
}
.profit-head-muted {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
.profit-rate-cell {
  flex-wrap: wrap;
  gap: 3px 4px;
}
.profit-rate-cell > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.profit-rate-percent {
  color: #2f7dbd;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
}

/* 2026-06-02 individual upgrade lock: keep rows visible, hide only + buttons */
.upgrade-row--single-locked {
  grid-template-columns: 40px 1fr auto;
}
.upgrade-row--single-locked .upgrade-price {
  opacity: .78;
}
.upgrade-row--single-locked button[data-action="upgrade"] {
  display: none !important;
}

/* 2026-06-02 profit table: value and parentheses on separate lines */
.profit-cost-cell,
.profit-rate-cell {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  line-height: 1.1;
}
.profit-cost-cell > span,
.profit-rate-cell > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.profit-cost-total,
.profit-rate-percent {
  display: block;
}


.star-panel .finance-method-grid{margin-bottom:14px}.star-panel .finance-method{min-height:86px}.star-panel .finance-method small{display:flex;align-items:center;gap:5px}.star-panel .finance-stats b{display:inline-flex;align-items:center;gap:5px}.star-info-modal .finance-list{display:grid;gap:8px}.star-info-modal .finance-list p{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.star-info-modal .finance-list span{text-align:left}.star-info-modal .finance-list b{text-align:right}
.leader-reward--multi{display:flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.05;white-space:normal}
.leader-reward--multi span{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}
