:root {
  --cb2-neon: #a8ff3e;
  --cb2-green: #38c957;
  --cb2-blue: #62d6ff;
  --cb2-gold: #ffd75d;
  --cb2-red: #ff6b6b;
  --cb2-bg: #061006;
  --cb2-panel: rgba(7, 19, 9, .88);
  --cb2-card: rgba(255, 255, 255, .075);
  --cb2-line: rgba(168, 255, 62, .26);
  --cb2-muted: rgba(245, 255, 232, .74);
}

html.contraband-v2-scroll-root {
  scroll-behavior: auto;
}

.contraband-v2-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 16% 0%, rgba(168, 255, 62, .16), transparent 34%),
    radial-gradient(circle at 82% 12%, rgba(98, 214, 255, .10), transparent 34%),
    linear-gradient(180deg, #061006 0%, #0b180b 52%, #050805 100%);
  color: #f5ffe8;
}

.cb2-wrap {
  width: min(1420px, calc(100% - 28px));
  margin: 0 auto;
  padding: 18px 0 54px;
}

.cb2-console {
  border: 1px solid var(--cb2-line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 16% 0%, rgba(168, 255, 62, .14), transparent 36%),
    radial-gradient(circle at 86% 12%, rgba(98, 214, 255, .09), transparent 34%),
    rgba(4, 12, 6, .90);
  box-shadow: 0 24px 76px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .08);
  padding: clamp(12px, 2vw, 22px);
}

.cb2-playbar {
  position: sticky;
  top: var(--cb2-sticky-playbar-top, 87px);
  z-index: 40;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  padding: 10px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 22px;
  background: rgba(5, 15, 7, .94);
  box-shadow: 0 18px 45px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(12px);
}

.cb2-mobile-playbar-header,
.cb2-mobile-game-menu-toggle { display: none; }

.cb2-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cb2-tab,
.cb2-quick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 950;
  line-height: 1;
}

.cb2-tab {
  padding: 9px 13px;
  border: 1px solid rgba(168, 255, 62, .20);
  background: rgba(255, 255, 255, .06);
  color: rgba(245, 255, 232, .84);
}

.cb2-tab:hover,
.cb2-tab.active {
  border-color: rgba(168, 255, 62, .72);
  background: rgba(168, 255, 62, .16);
  color: #dfffad;
}

.cb2-quick {
  min-width: 146px;
  border: 0;
  padding: 10px 18px;
  background: linear-gradient(135deg, var(--cb2-gold), var(--cb2-neon) 54%, var(--cb2-green));
  color: #061006;
  box-shadow: 0 12px 28px rgba(168, 255, 62, .24);
  cursor: pointer;
}

.cb2-quick strong {
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, .16);
}

.cb2-quick-cluster { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; flex-wrap: nowrap; }
.cb2-playbar .cb2-quick-cluster > .game-room-quick-toke { min-width: 112px; padding: 9px 11px; }
.cb2-playbar .cb2-edible-indicator { min-width: 116px; }
.cb2-playbar .cb2-alpha-warning-link { flex: 0 1 112px; max-width: 112px; }
.cb2-alpha-warning-link {
  max-width: 150px;
  padding: 3px 5px;
  border: 0;
  background: transparent;
  color: #ff0000 !important;
  font: inherit;
  font-size: .68rem;
  font-weight: 1000;
  line-height: 1.05;
  text-align: center;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  cursor: pointer;
  filter: drop-shadow(0 0 6px rgba(255, 42, 42, .38));
}
.cb2-alpha-warning-link:hover,
.cb2-alpha-warning-link:focus-visible { color: #ff0000 !important; outline: none; filter: drop-shadow(0 0 8px rgba(255, 42, 42, .72)); }
.cb2-edible-indicator { --edible-glow: rgba(168, 255, 62, .14); min-width: 142px; min-height: 40px; box-sizing: border-box; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "cookie copy" "pips pips"; align-items: center; column-gap: 7px; row-gap: 3px; padding: 5px 9px; border: 1px solid rgba(255, 215, 93, .24); border-radius: 15px; background: radial-gradient(circle at 18% 20%, var(--edible-glow), transparent 48%), rgba(255, 255, 255, .055); color: #f5ffe8; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 7px 20px var(--edible-glow); }
.cb2-edible-cookie { grid-area: cookie; font-size: 1.25rem; filter: grayscale(.7); transform: rotate(-9deg); transition: transform .3s ease, filter .3s ease; }
.cb2-edible-copy { grid-area: copy; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 5px; }
.cb2-edible-indicator button.cb2-edible-cookie,
.cb2-edible-indicator button.cb2-edible-copy { min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 7px; background: transparent; color: inherit; box-shadow: none; cursor: pointer; font: inherit; }
.cb2-edible-indicator button.cb2-edible-cookie { display: inline-grid; width: 27px; height: 27px; place-items: center; line-height: 1; }
.cb2-edible-indicator button.cb2-edible-copy { width: 100%; text-align: left; }
.cb2-edible-indicator button.cb2-edible-cookie:hover { filter: none; transform: rotate(8deg) scale(1.14); }
.cb2-edible-indicator button.cb2-edible-copy:hover small { color: #fff2b5; text-decoration: underline; }
.cb2-edible-indicator button:focus-visible { outline: 2px solid #ffd75d; outline-offset: 2px; }
.cb2-edible-copy small { min-width: 0; overflow: hidden; color: rgba(245, 255, 232, .62); font-size: .59rem; font-weight: 950; line-height: 1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.cb2-edible-copy strong { color: #ffd75d; font-size: .74rem; line-height: 1; }
.cb2-edible-pips { grid-area: pips; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.cb2-edible-pips i { height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .12); transition: background .25s ease, box-shadow .25s ease, transform .25s ease; }
.cb2-edible-pips i.active { background: linear-gradient(90deg, #ffd75d, #ff8a00); box-shadow: 0 0 8px rgba(255, 138, 0, .68); transform: scaleY(1.35); }
.cb2-edible-indicator:not(.cb2-edible-level-0) { --edible-glow: rgba(255, 138, 0, .2); border-color: rgba(255, 215, 93, .58); }
.cb2-edible-indicator:not(.cb2-edible-level-0) .cb2-edible-cookie { filter: none; animation: cb2-cookie-bob 1.8s ease-in-out infinite; }
.cb2-edible-indicator.cb2-edible-overload { --edible-glow: rgba(255, 48, 48, .42); border-color: rgba(255, 94, 94, .9); background: radial-gradient(circle at 15% 10%, rgba(255, 215, 93, .28), transparent 34%), linear-gradient(135deg, rgba(255, 48, 48, .22), rgba(160, 58, 255, .22)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 0 18px rgba(255, 48, 48, .36), 0 7px 24px var(--edible-glow); }
.cb2-edible-indicator.cb2-edible-overload .cb2-edible-copy small,
.cb2-edible-indicator.cb2-edible-overload .cb2-edible-copy strong { color: #ff8a8a; text-shadow: 0 0 9px rgba(255, 48, 48, .74); }
.cb2-edible-indicator.cb2-edible-overload .cb2-edible-pips i.active { background: linear-gradient(90deg, #ff3d3d, #de8cff); box-shadow: 0 0 11px rgba(255, 61, 61, .88); }
.cb2-edible-indicator-dashboard { width: 100%; min-width: 0; }
@keyframes cb2-cookie-bob { 0%, 100% { transform: translateY(0) rotate(-9deg); } 50% { transform: translateY(-3px) rotate(8deg); } }

.cb2-lunchbox-popup { width: min(780px, calc(100vw - 28px)); }
.cb2-lunchbox-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; max-height: min(56vh, 520px); margin: 14px 0; padding: 2px; overflow-y: auto; }
.cb2-lunchbox-item { display: flex; min-width: 0; flex-direction: column; gap: 8px; padding: 10px; border: 1px solid rgba(255, 215, 93, .26); border-radius: 17px; background: linear-gradient(145deg, rgba(45, 35, 9, .68), rgba(8, 16, 9, .96)); }
.cb2-lunchbox-item-image { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 13px; background: rgba(0, 0, 0, .28); }
.cb2-lunchbox-item-image img { width: 100%; height: 100%; object-fit: contain; }
.cb2-lunchbox-item h3 { margin: 0; overflow: hidden; color: #fff3ba; font-size: .92rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-lunchbox-item p { margin: 0; color: rgba(245, 255, 232, .72); font-size: .78rem; font-weight: 800; }
.cb2-lunchbox-item .cb2-btn { width: 100%; margin-top: auto; border-radius: 999px; }
.cb2-lunchbox-popup .game-popup-actions { display: flex; justify-content: center; gap: 9px; flex-wrap: wrap; }

.cb2-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 16px;
  padding: clamp(14px, 2vw, 22px);
  border: 1px solid rgba(168, 255, 62, .20);
  border-radius: 24px;
  background: rgba(255, 255, 255, .055);
}

.cb2-eyebrow {
  margin: 0 0 5px;
  color: var(--cb2-neon);
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .76rem;
  font-weight: 950;
}

.cb2-hero h1 {
  margin: 0;
  color: #dfffad;
  font-size: clamp(2rem, 4vw, 4.1rem);
  line-height: .95;
}

.cb2-hero p {
  margin: 8px 0 0;
  color: var(--cb2-muted);
  font-weight: 800;
}

.cb2-cloud-conflict {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 0 0 16px;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid rgba(255, 107, 107, .7);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255, 107, 107, .18), transparent 45%),
    rgba(39, 8, 8, .9);
  box-shadow: 0 16px 42px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.cb2-cloud-conflict h2 {
  margin: 0 0 7px;
  color: #ffd2d2;
}

.cb2-cloud-conflict p {
  margin: 6px 0 0;
}

.cb2-cloud-conflict .cb2-actions {
  justify-content: flex-end;
  min-width: 220px;
}

.cb2-cloud-conflict button {
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  padding: 10px 14px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  font: inherit;
  font-weight: 950;
  cursor: pointer;
}

.cb2-cloud-conflict button.primary {
  color: #061006;
  background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green));
}

.cb2-cloud-conflict button.danger {
  background: rgba(255, 107, 107, .22);
  border-color: rgba(255, 107, 107, .55);
}

.cb2-status-grid,
.cb2-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.cb2-card,
.cb2-panel {
  min-width: 0;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 20% 0%, rgba(168, 255, 62, .08), transparent 40%),
    var(--cb2-card);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07);
  padding: 16px;
}

.cb2-card h2,
.cb2-card h3,
.cb2-panel h2,
.cb2-panel h3 {
  margin: 0 0 8px;
  color: #dfffad;
}

.cb2-card p,
.cb2-panel p,
.cb2-muted {
  color: var(--cb2-muted);
  font-weight: 750;
}

.cb2-stat {
  display: grid;
  gap: 4px;
}

.cb2-stat span {
  color: var(--cb2-muted);
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cb2-stat strong {
  color: var(--cb2-neon);
  font-size: clamp(1.5rem, 3vw, 2.4rem);
  line-height: 1;
}

.cb2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}

.cb2-actions .cb2-btn,
.cb2-tissue-status .cb2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.cb2-btn,
.cb2-card button,
.cb2-panel button,
.cb2-card select,
.cb2-card input,
.cb2-panel select,
.cb2-panel input {
  font: inherit;
}

.cb2-btn,
.cb2-card button,
.cb2-panel button {
  border: 1px solid rgba(168, 255, 62, .34);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(168, 255, 62, .18), rgba(56, 201, 87, .14));
  color: #f5ffe8;
  cursor: pointer;
  font-weight: 950;
  padding: 10px 14px;
}

.cb2-btn.primary,
.cb2-card button.primary,
.cb2-panel button.primary {
  border: 0;
  background: linear-gradient(135deg, var(--cb2-green), var(--cb2-neon));
  color: #061006;
}

.cb2-btn.danger {
  border-color: rgba(255, 107, 107, .38);
  background: rgba(255, 107, 107, .12);
  color: #ffd6d6;
}

.cb2-card button:disabled,
.cb2-panel button:disabled {
  opacity: .48;
  cursor: not-allowed;
}

.cb2-card input,
.cb2-card select,
.cb2-panel input,
.cb2-panel select {
  width: 100%;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 14px;
  background: rgba(0, 0, 0, .32);
  color: #f5ffe8;
  padding: 10px 12px;
  font-weight: 850;
}

.cb2-inventory-list {
  display: grid;
  gap: 10px;
}

.cb2-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(168, 255, 62, .18);
  border-radius: 18px;
  background: rgba(0, 0, 0, .20);
  padding: 12px;
}

.cb2-item strong {
  color: #f5ffe8;
}

.cb2-item small {
  display: block;
  color: var(--cb2-muted);
  font-weight: 750;
}

.cb2-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--cb2-neon);
  background: rgba(168, 255, 62, .10);
  font-size: .78rem;
  font-weight: 950;
}

.cb2-process-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}

.cb2-process {
  display: grid;
  gap: 10px;
}

.cb2-process-media {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 18px;
  border: 1px solid rgba(168, 255, 62, .22);
  background: rgba(0, 0, 0, .24);
  font-size: 3rem;
}

.cb2-refinement-board {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: clamp(12px, 2vw, 22px);
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .30);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(31, 33, 29, .62), rgba(5, 12, 7, .96) 650px),
    #09100a;
  box-shadow: 0 20px 52px rgba(0, 0, 0, .34);
}

.cb2-refinement-factory-decor {
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  width: 100%;
  aspect-ratio: 1584 / 672;
  overflow: hidden;
  opacity: .62;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 72%, transparent 100%);
}

.cb2-refinement-factory-decor img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}

.cb2-refinement-board > :not(.cb2-refinement-factory-decor) {
  position: relative;
  z-index: 1;
}

.cb2-refinement-sign-card {
  width: min(60%, 926px);
  aspect-ratio: 926 / 128;
  justify-self: center;
  margin-top: clamp(10px, 1.7vw, 27px);
  perspective: 1100px;
}

.cb2-refinement-sign-inner {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .52s cubic-bezier(.2, .72, .2, 1);
}

.cb2-refinement-sign-card.is-flipped .cb2-refinement-sign-inner {
  transform: rotateX(180deg);
}

.cb2-refinement-sign-face {
  position: relative;
  grid-area: 1 / 1;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .46);
  border-radius: 13px;
  background: #333a39;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .38);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.cb2-refinement-sign-face > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cb2-refinement-sign-back {
  display: grid;
  place-items: center;
  padding: 8px;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  transform: rotateX(180deg);
}

.cb2-refinement-sign-back > img {
  filter: brightness(.23) saturate(.65);
}

.cb2-refinement-sign-back > div {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 2px;
  max-width: 760px;
  padding: 6px 14px;
  border: 1px solid rgba(255, 233, 121, .34);
  border-radius: 10px;
  background: rgba(0, 0, 0, .62);
}

.cb2-refinement-sign-back strong { color: #ffe979; font-size: clamp(.82rem, 1.7vw, 1.18rem); }
.cb2-refinement-sign-back span { font-size: clamp(.62rem, 1.2vw, .88rem); font-weight: 800; line-height: 1.2; }
.cb2-refinement-sign-back small { color: var(--cb2-neon); font-size: clamp(.56rem, 1vw, .74rem); font-weight: 900; }

.cb2-refinement-board > h2 {
  margin: 0 0 12px;
  color: var(--cb2-neon);
}

.cb2-refinement-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 22px;
  background: rgba(8, 12, 9, .70);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 14px 34px rgba(0, 0, 0, .24);
  backdrop-filter: blur(2px);
}

.cb2-refinement-method {
  min-width: 0;
  min-height: 265px;
  cursor: pointer;
  perspective: 1100px;
}

.cb2-refinement-flip-inner {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 265px;
  transform-style: preserve-3d;
  transition: transform .52s cubic-bezier(.2, .72, .2, 1);
}

.cb2-refinement-method.is-flipped .cb2-refinement-flip-inner {
  transform: rotateY(180deg);
}

.cb2-refinement-face {
  position: relative;
  grid-area: 1 / 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 9px;
  align-items: stretch;
  justify-content: flex-start;
  box-sizing: border-box;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 20px;
  background: radial-gradient(circle at 50% 0%, rgba(168, 255, 62, .13), transparent 42%), #081109;
  box-shadow: 0 15px 34px rgba(0, 0, 0, .28);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.cb2-refinement-front {
  justify-content: flex-end;
  background-color: #081109;
}

.cb2-refinement-bg-art {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.cb2-refinement-face::after,
.cb2-active-refinement-panel::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  pointer-events: none;
}

.cb2-refinement-front::after {
  background: linear-gradient(to bottom, rgba(2, 8, 3, .03) 18%, rgba(2, 8, 3, .24) 50%, rgba(2, 8, 3, .96) 100%);
}

.cb2-refinement-back::after {
  background: linear-gradient(rgba(1, 6, 2, .5), rgba(1, 6, 2, .82));
}

.cb2-active-refinement-panel::after {
  background: linear-gradient(rgba(2, 8, 3, .42), rgba(2, 8, 3, .8));
}

.cb2-refinement-face > :not(.cb2-refinement-bg-art),
.cb2-active-refinement-panel > :not(.cb2-refinement-bg-art) {
  position: relative;
  z-index: 2;
}

.cb2-refinement-front h3 {
  width: fit-content;
  max-width: 100%;
  align-self: center;
  box-sizing: border-box;
  padding: 7px 12px;
  border: 1px solid rgba(168, 255, 62, .32);
  border-radius: 999px;
  background: rgba(0, 0, 0, .76);
  text-shadow: 0 2px 4px #000;
}

.cb2-refinement-front .cb2-refinement-open-note {
  background: rgba(0, 0, 0, .78);
  text-shadow: 0 1px 3px #000;
}

.cb2-refinement-back {
  position: absolute;
  inset: 0;
  justify-content: center;
  transform: rotateY(180deg);
  background-color: #030704;
  color: #fff;
  text-align: center;
}

.cb2-refinement-method.is-active .cb2-refinement-face {
  border-color: rgba(168, 255, 62, .78);
  box-shadow: 0 0 0 3px rgba(168, 255, 62, .12), 0 14px 32px rgba(0, 0, 0, .30);
}

.cb2-refinement-method.locked-method {
  filter: saturate(.65);
}

.cb2-refinement-face h3,
.cb2-active-refinement-panel h2 {
  margin: 0;
  color: #dfffad;
  text-align: center;
}

.cb2-refinement-face p {
  margin: 0;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.4;
}

.cb2-refinement-media {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(98, 214, 255, .24);
  border-radius: 16px;
  background: radial-gradient(circle, rgba(168, 255, 62, .16), transparent 58%), rgba(0, 0, 0, .28);
}

.cb2-refinement-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cb2-refinement-media-fallback {
  font-size: clamp(3rem, 7vw, 5.8rem);
}

.cb2-refinement-media-fallback[hidden] {
  display: none;
}

.cb2-refinement-open-note {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 6px 9px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 999px;
  background: rgba(168, 255, 62, .10);
  color: var(--cb2-neon);
  font-size: .72rem;
  font-weight: 950;
  text-align: center;
}

.cb2-active-refinement-panel {
  position: relative;
  overflow: hidden;
  margin-top: 14px;
  padding: clamp(12px, 2vw, 20px);
  border: 1px solid rgba(168, 255, 62, .45);
  border-radius: 24px;
  background-color: rgba(2, 8, 3, .94);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .32);
}

.cb2-active-refinement-panel.cb2-refinement-idle-panel {
  width: 100%;
  aspect-ratio: 1584 / 672;
  box-sizing: border-box;
  padding: 0;
  background: #111814;
}

.cb2-refinement-idle-panel .cb2-refinement-bg-art {
  object-fit: cover;
  object-position: center;
}

.cb2-refinement-workbench-copy {
  color: var(--cb2-muted);
  font-weight: 800;
  text-align: center;
}

.cb2-kitchen-recipe {
  display: grid;
  grid-template-columns: 104px minmax(180px, 1fr);
  gap: 10px 14px;
  align-items: center;
  max-width: 640px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 233, 121, .35);
  border-radius: 14px;
  background: rgba(0, 0, 0, .32);
}
.cb2-kitchen-recipe > span { color: #ffe979; font-weight: 900; }
.cb2-kitchen-recipe-image {
  width: 104px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(255, 233, 121, .35);
  border-radius: 12px;
  background: rgba(0, 0, 0, .35);
}
.cb2-kitchen-recipe-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cb2-kitchen-recipe-fields { display: grid; gap: 7px; min-width: 0; }
.cb2-kitchen-recipe-fields strong { color: #ffe979; }
.cb2-kitchen-recipe select { width: 100%; }
.cb2-kitchen-recipe small { color: var(--cb2-muted); }

@media (max-width: 520px) {
  .cb2-kitchen-recipe { grid-template-columns: 78px minmax(0, 1fr); padding: 9px; }
  .cb2-kitchen-recipe-image { width: 78px; }
}

.cb2-refinement-input-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.cb2-process-product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(24, 48, 27, .82), rgba(5, 13, 7, .9));
  backdrop-filter: blur(3px);
}
.cb2-process-product-card h3 { margin: 0; overflow: hidden; color: #efffdb; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-process-product-card small { color: var(--cb2-muted); font-size: .7rem; font-weight: 800; line-height: 1.35; }
.cb2-process-product-media { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(98, 214, 255, .25); border-radius: 12px; background: rgba(0, 0, 0, .3); }
.cb2-process-product-media img { width: 100%; height: 100%; object-fit: cover; }
.cb2-process-amount { display: grid; gap: 4px; margin-top: auto; color: #dfffad; font-size: .66rem; font-weight: 900; }
.cb2-process-amount input { width: 100%; min-width: 0; box-sizing: border-box; min-height: 36px; padding: 7px 9px; border: 1px solid rgba(168, 255, 62, .32); border-radius: 10px; background: #efffde; color: #10200f; font-weight: 900; }
.cb2-process-product-actions { display: grid; grid-template-columns: 1fr; gap: 6px; }
.cb2-process-product-actions .cb2-btn { width: 100%; min-height: 34px; padding: 6px 8px; font-size: .68rem; }
.cb2-btn.process-all { border-color: rgba(255, 215, 93, .68) !important; background: linear-gradient(135deg, #ffe36c, #ffbd2f) !important; color: #241700 !important; }
.cb2-station-process-all { width: 100%; margin-top: auto; }
.cb2-refinement-station-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; padding: 11px; border: 1px solid rgba(255, 215, 93, .28); border-radius: 16px; background: rgba(0, 0, 0, .48); }
.cb2-refinement-station-actions .cb2-btn { width: 100%; min-height: 48px; margin: 0; border-radius: 999px; }
.cb2-refinement-station-actions .cb2-clean-machine { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 8px; border-color: rgba(98, 214, 255, .52); background: linear-gradient(135deg, #62d6ff, #4f8cff); color: #07131b; }
.cb2-refinement-station-actions .cb2-clean-machine small { flex: 0 0 100%; color: inherit; font-size: .64rem; font-weight: 900; line-height: 1; text-align: center; }

.cb2-refinement-action-row {
  margin-top: 12px;
}

.cb2-refinement-face .cb2-btn,
.cb2-active-refinement-panel .cb2-btn {
  min-height: 40px;
  border-radius: 999px;
}

.cb2-refinement-unlock-actions {
  display: grid;
  width: 100%;
  gap: 7px;
  margin-top: auto;
}

.cb2-refinement-face .cb2-refinement-unlock-button {
  width: 100%;
  margin-top: 0;
}

.cb2-refinement-upgrade-link {
  display: block;
  padding: 8px 10px;
  border: 1px solid rgba(98, 214, 255, .66);
  border-radius: 999px;
  background: rgba(98, 214, 255, .13);
  color: #b6edff;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
}

.cb2-refinement-upgrade-link:hover,
.cb2-refinement-upgrade-link:focus-visible {
  border-color: #b6edff;
  background: rgba(98, 214, 255, .25);
  color: #fff;
}

.cb2-refinement-action-row .cb2-btn { width: 100%; }
.cb2-seed-sort-tool .cb2-actions .cb2-btn { flex: 1 1 130px; }
.cb2-sorter-pack .cb2-actions .cb2-btn { width: 100%; }
.cb2-active-refinement-panel .cb2-btn:disabled,
.cb2-refinement-face .cb2-btn:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(.35); }

.cb2-seed-sorter-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.cb2-seed-sort-tool {
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(198, 112, 255, .28);
  border-radius: 18px;
  background: rgba(255, 255, 255, .045);
}

.cb2-seed-sort-tool h3 {
  margin: 0 0 7px;
  color: #edccff;
}

.cb2-seed-sort-tool p {
  margin: 5px 0 10px;
  color: var(--cb2-muted);
  font-size: .82rem;
  font-weight: 800;
}

.cb2-seed-sort-choices {
  display: grid;
  gap: 6px;
  max-height: 300px;
  margin: 9px 0;
  overflow-y: auto;
}

.cb2-seed-sort-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 11px;
  background: rgba(0, 0, 0, .22);
}

.cb2-seed-sort-choice small {
  display: block;
  color: var(--cb2-muted);
  font-weight: 750;
}

.cb2-sorter-footer {
  margin-top: 12px;
}

@media (max-width: 900px) {
  .cb2-seed-sorter-tools {
    grid-template-columns: 1fr;
  }
}

.cb2-room-card {
  min-height: 240px;
}

.cb2-plant-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.cb2-seed-picker,
.cb2-clone-picker {
  margin-top: 12px;
  border: 1px solid rgba(168, 255, 62, .16);
  border-radius: 18px;
  background: rgba(0, 0, 0, .18);
  padding: 12px;
}

.cb2-seed-picker p,
.cb2-clone-picker p {
  margin: 0 0 10px;
}

.cb2-seed-picker button span,
.cb2-clone-picker button span {
  opacity: .75;
  font-size: .86em;
}

.cb2-mode-actions {
  margin: 10px 0 0;
}

.cb2-plant-card,
.cb2-drying-card,
.cb2-freezer-card {
  min-width: 0;
  display: grid;
  gap: 10px;
  align-content: start;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 20px;
  background:
    radial-gradient(circle at 20% 0%, rgba(168, 255, 62, .16), transparent 42%),
    rgba(0, 0, 0, .24);
  padding: 12px;
}

.cb2-plant-media {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 16px;
  border: 1px solid rgba(168, 255, 62, .22);
  background:
    radial-gradient(circle at 50% 30%, rgba(168, 255, 62, .18), transparent 34%),
    linear-gradient(135deg, rgba(56, 201, 87, .14), rgba(98, 214, 255, .08));
  font-size: clamp(2.7rem, 8vw, 5.4rem);
  line-height: 1;
}

.cb2-plant-copy h3 {
  margin: 0 0 6px;
  color: #f5ffe8;
}

.cb2-plant-copy p {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
}

.cb2-plant-copy small {
  display: block;
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.4;
  margin-top: 8px;
}

.cb2-plant-copy .cb2-growth-clock {
  border: 1px solid rgba(98, 214, 255, .24);
  border-radius: 12px;
  padding: 7px 9px;
  background: rgba(98, 214, 255, .08);
  color: #c9f4ff;
  font-weight: 900;
}

.cb2-trait-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.cb2-trait {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(98, 214, 255, .28);
  border-radius: 999px;
  background: rgba(98, 214, 255, .10);
  color: #c9f3ff;
  padding: 4px 8px;
  font-size: .7rem;
  font-weight: 950;
  line-height: 1;
}

.cb2-trait.rarity-rare {
  border-color: rgba(98, 214, 255, .7);
  background: rgba(45, 137, 255, .20);
  color: #d9efff;
}

.cb2-trait.rarity-epic {
  border-color: rgba(198, 112, 255, .72);
  background: rgba(137, 62, 214, .24);
  color: #f0d9ff;
}

.rarity-common,
.plant h3.rarity-common { color: var(--cb2-neon) !important; }
.rarity-rare,
.plant h3.rarity-rare { color: #7cc7ff !important; }
.rarity-epic,
.plant h3.rarity-epic { color: #de8cff !important; }
.rarity-legendary,
.plant h3.rarity-legendary { color: #ffd75d !important; }

.plant-visual-frame.rarity-frame-common { border-color: rgba(168, 255, 62, .48); }
.plant-visual-frame.rarity-frame-rare { border-color: rgba(124, 199, 255, .58); box-shadow: 0 0 26px rgba(124, 199, 255, .2); }
.plant-visual-frame.rarity-frame-epic { border-color: rgba(222, 140, 255, .62); box-shadow: 0 0 30px rgba(222, 140, 255, .22); }
.plant-visual-frame.rarity-frame-legendary { border-color: rgba(255, 215, 93, .72); box-shadow: 0 0 34px rgba(255, 215, 93, .26); }

.cb2-trait.rarity-mythic {
  border-color: rgba(255, 215, 93, .78);
  background: rgba(255, 166, 43, .22);
  color: #fff0ad;
  box-shadow: 0 0 16px rgba(255, 215, 93, .16);
}

.cb2-breeding-panel {
  border: 1px solid rgba(198, 112, 255, .34);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(137, 62, 214, .18), rgba(98, 214, 255, .08));
  padding: 10px;
}

.cb2-breeding-panel > strong,
.cb2-breeding-panel > small {
  display: block;
}

.cb2-breeding-panel > strong {
  color: #f0d9ff;
}

.cb2-breeding-panel > small {
  margin-top: 4px;
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.35;
}

.cb2-mother-panel {
  border: 1px solid rgba(168, 255, 62, .34);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(56, 201, 87, .18), rgba(168, 255, 62, .07));
  padding: 10px;
}

.cb2-mother-panel > strong,
.cb2-mother-panel > small {
  display: block;
}

.cb2-mother-panel > strong {
  color: #dfffad;
}

.cb2-mother-panel > small {
  margin-top: 4px;
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.35;
}

.cb2-sorter-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.cb2-sorter-pack { min-width: 0; }

@media (max-width: 1180px) {
  .cb2-refinement-input-list,
  .cb2-sorter-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .cb2-refinement-board { gap: 10px; padding: 8px; border-radius: 19px; }
  .cb2-refinement-sign-card { width: 100%; margin-top: 0; }
  .cb2-refinement-sign-back span { display: none; }
  .cb2-refinement-container { grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px; padding: 8px; border-radius: 16px; }
  .cb2-refinement-input-list,
  .cb2-sorter-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .cb2-refinement-input-list,
  .cb2-sorter-list,
  .cb2-tissue-station-grid { grid-template-columns: 1fr; }
}

.cb2-tissue-status,
.cb2-tissue-result,
.cb2-tissue-warning {
  border-radius: 17px;
  padding: 12px;
}

.cb2-tissue-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(168, 255, 62, .24);
  background: rgba(168, 255, 62, .08);
}

.cb2-tissue-status strong,
.cb2-tissue-status small,
.cb2-tissue-result strong,
.cb2-tissue-result small {
  display: block;
}

.cb2-tissue-status small,
.cb2-tissue-result small {
  margin-top: 4px;
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.4;
}

.cb2-tissue-result {
  margin-top: 10px;
  border: 1px solid rgba(198, 112, 255, .34);
  background: rgba(198, 112, 255, .11);
}

.cb2-tissue-result strong {
  color: #edccff;
}

.cb2-tissue-warning {
  margin-top: 10px;
  border: 1px solid rgba(255, 186, 73, .36);
  background: rgba(255, 186, 73, .10);
  color: #ffe0a3;
  font-weight: 900;
}

.cb2-tissue-station-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.cb2-tissue-substation {
  align-content: start;
  min-width: 0;
}

.cb2-tissue-substation .cb2-seed-rename-box {
  display: grid;
  gap: 10px;
}

@media (max-width: 430px) {
  .cb2-tissue-station-grid {
    grid-template-columns: 1fr;
  }
}

.cb2-notice {
  border-color: rgba(168, 255, 62, .4);
  background: rgba(30, 76, 24, .96);
  color: #edffd5;
  font-weight: 900;
}

.cb2-sorter-pack {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(198, 112, 255, .28);
  border-radius: 17px;
  background: rgba(0, 0, 0, .22);
  padding: 12px;
}

.cb2-sorter-pack small,
.cb2-rename-field span {
  display: block;
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.4;
}

.cb2-rename-field {
  display: grid;
  gap: 6px;
}

.cb2-modal[hidden] {
  display: none;
}

.cb2-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(0, 0, 0, .78);
  backdrop-filter: blur(9px);
}

.cb2-modal-panel {
  position: relative;
  width: min(720px, 100%);
  max-height: min(82vh, 900px);
  overflow: auto;
  border: 1px solid rgba(168, 255, 62, .4);
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 0%, rgba(168, 255, 62, .12), transparent 38%),
    #071009;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .66);
  padding: clamp(18px, 4vw, 30px);
}

.cb2-modal-close {
  position: sticky;
  top: 0;
  float: right;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: #142016;
  color: #f5ffe8;
  cursor: pointer;
  font: inherit;
  font-size: 1.35rem;
  font-weight: 950;
}

.cb2-lineage-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.cb2-seed-lineage-report + .cb2-seed-lineage-report {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(168, 255, 62, .34);
}

.cb2-seed-lineage-report h3 {
  margin: 8px 0;
  color: #dfff83;
}

.cb2-breeding-report {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(168, 255, 62, .28);
}

.cb2-breeding-report h3 {
  margin: 0 0 8px;
  color: #dfff83;
}

.cb2-genetics-table-wrap {
  width: 100%;
  margin: 14px 0;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
}

.cb2-genetics-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  background: rgba(0, 0, 0, .24);
}

.cb2-genetics-table th,
.cb2-genetics-table td {
  padding: 9px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  text-align: right;
  white-space: nowrap;
}

.cb2-genetics-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
  background: #101b12;
}

.cb2-genetics-table thead th {
  color: #dfff83;
  background: #101b12;
}

.cb2-genetics-delta.is-gain { color: #a8ff3e; }
.cb2-genetics-delta.is-loss { color: #ff8f8f; }
.cb2-genetics-delta.is-neutral { color: var(--cb2-muted); }

.cb2-parent-terpenes,
.cb2-genetics-inheritance {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cb2-genetics-inheritance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 12px 0;
}

.cb2-genetics-inheritance > div {
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 7px;
  padding: 11px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.cb2-genetics-inheritance > div > strong {
  flex-basis: 100%;
}

.cb2-genetics-chip {
  display: inline-flex;
  flex-direction: column;
  padding: 6px 8px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 9px;
  background: rgba(168, 255, 62, .08);
  color: #efffd6;
  font-size: .82rem;
  font-weight: 850;
}

.cb2-genetics-chip small,
.cb2-muted-note {
  color: var(--cb2-muted);
}

.cb2-help-term {
  border-bottom: 1px dotted rgba(223, 255, 131, .72);
  cursor: help;
  outline: none;
}

.cb2-help-term:focus-visible {
  border-radius: 4px;
  box-shadow: 0 0 0 2px rgba(168, 255, 62, .45);
}

.cb2-help-tooltip {
  position: fixed;
  z-index: 100000;
  width: min(310px, calc(100vw - 20px));
  padding: 10px 12px;
  border: 1px solid rgba(168, 255, 62, .55);
  border-radius: 11px;
  background: rgba(5, 14, 7, .97);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .62), 0 0 18px rgba(168, 255, 62, .12);
  color: #f1ffdf;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
  pointer-events: none;
}

.cb2-help-tooltip[hidden] {
  display: none;
}

.cb2-clone-variant-line {
  padding: 7px 8px;
  border: 1px solid rgba(168, 255, 62, .18);
  border-radius: 9px;
  background: rgba(168, 255, 62, .055);
}

.cb2-buy-properties-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-style: dashed;
  color: var(--cb2-neon);
  text-shadow: 0 0 10px rgba(168, 255, 62, .32);
}

.cb2-plant-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  padding: 1px 5px;
  border-radius: 6px;
  font-variant-numeric: tabular-nums;
}

.cb2-plant-stat.is-neutral {
  color: #e8dfbf;
  background: rgba(232, 223, 191, .09);
}

.cb2-plant-stat.is-positive {
  color: #a8ff3e;
  background: rgba(168, 255, 62, .12);
}

.cb2-plant-stat.is-negative {
  color: #ff8f8f;
  background: rgba(255, 107, 107, .12);
}

.cb2-plant-stat.is-thc-mids {
  color: #d6b47e;
  background: rgba(214, 180, 126, .12);
}

.cb2-plant-stat.is-thc-good {
  color: var(--cb2-neon);
  background: rgba(168, 255, 62, .12);
}

.cb2-plant-stat.is-thc-primo {
  color: #de8cff;
  background: rgba(222, 140, 255, .12);
}

.cb2-plant-stat.is-thc-fire {
  color: #ffb3b3;
  background: rgba(255, 107, 107, .14);
}

.cb2-plant-stat.is-terpene {
  color: #8eeeff;
  background: rgba(91, 220, 255, .1);
}

.cb2-parent-stat-arrow {
  position: relative;
  top: -.12em;
  font-size: .78em;
  font-weight: 1000;
  line-height: 1;
  opacity: .95;
}

@media (max-width: 700px) {
  .cb2-parent-terpenes,
  .cb2-genetics-inheritance {
    grid-template-columns: 1fr;
  }
}

.cb2-perk-stat {
  border-color: rgba(255, 215, 93, .48);
  background: linear-gradient(135deg, rgba(255, 215, 93, .16), rgba(168, 255, 62, .09));
}

.cb2-perk-stat small {
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.35;
}

.cb2-perk-callout,
.cb2-death-note {
  border-radius: 14px;
  padding: 9px 10px;
  font-weight: 850;
}

.cb2-perk-callout {
  border: 1px solid rgba(255, 215, 93, .4);
  background: rgba(255, 215, 93, .12);
  color: #fff0ad !important;
}

.cb2-death-note {
  border: 1px solid rgba(255, 107, 107, .38);
  background: rgba(255, 107, 107, .12);
  color: #ffd6d6 !important;
}

.cb2-nft-section {
  grid-column: 1 / -1;
}

.cb2-nft-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.cb2-nft-card {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(98, 214, 255, .28);
  border-radius: 20px;
  background: rgba(0, 0, 0, .24);
  padding: 12px;
}

.cb2-nft-card.is-genesis {
  border-color: rgba(255, 215, 93, .68);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 215, 93, .2), transparent 40%),
    rgba(0, 0, 0, .28);
  box-shadow: 0 0 28px rgba(255, 215, 93, .12);
}

.cb2-purple-dank-freeze-button {
  border-color: rgba(193, 119, 255, .84) !important;
  background: linear-gradient(135deg, #7f2bb6, #c250e9) !important;
  box-shadow: 0 0 16px rgba(181, 91, 255, .24);
  color: #fff !important;
  font-size: .78rem;
}

.cb2-purple-dank-freeze-button:disabled {
  background: linear-gradient(135deg, #3d2453, #5a3765) !important;
  border-color: rgba(194, 139, 255, .38) !important;
  box-shadow: none;
  color: rgba(255, 255, 255, .75) !important;
}

.cb2-nft-card h3 {
  margin: 0 0 5px;
}

.cb2-nft-card small {
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.4;
}

.cb2-nft-media {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(98, 214, 255, .24);
  border-radius: 16px;
  background: rgba(255, 255, 255, .06);
  font-size: 4rem;
}

.cb2-nft-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cb2-redemption-qr {
  width: min(320px, 100%);
  margin: 16px auto;
  padding: 10px;
  border-radius: 18px;
  background: #fff;
}

.cb2-redemption-qr img {
  width: 100%;
  display: block;
}

.cb2-progress {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  box-shadow: inset 0 0 0 1px rgba(168, 255, 62, .14);
}

.cb2-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--cb2-green), var(--cb2-neon), var(--cb2-gold));
}

.cb2-plant-actions {
  margin-top: auto;
}

.cb2-plant-actions button {
  flex: 1 1 110px;
}

.cb2-log {
  max-height: 260px;
  overflow: auto;
}

.cb2-empty {
  border: 1px dashed rgba(168, 255, 62, .24);
  border-radius: 18px;
  padding: 18px;
  color: var(--cb2-muted);
  text-align: center;
  font-weight: 850;
}

@media (max-width: 820px) {
  .cb2-playbar,
  .cb2-hero,
  .cb2-cloud-conflict {
    grid-template-columns: 1fr;
  }

  .cb2-cloud-conflict .cb2-actions {
    min-width: 0;
    justify-content: flex-start;
  }

  .cb2-tissue-status {
    grid-template-columns: 1fr;
  }

  .cb2-quick {
    width: 100%;
  }
}

/* Backup-template visual layer. The V2 engine and bindings stay underneath. */
.cb2-wrap {
  width: calc(100% - clamp(24px, 4vw, 48px));
  max-width: none;
  padding-top: 14px;
}

.cb2-console {
  border-color: rgba(168, 255, 62, .30);
  background:
    radial-gradient(circle at 14% 0%, rgba(168, 255, 62, .16), transparent 34%),
    radial-gradient(circle at 86% 10%, rgba(98, 214, 255, .10), transparent 36%),
    rgba(4, 12, 6, .88);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.cb2-hero {
  padding: 13px 16px;
  border-radius: 20px;
  background: rgba(5, 14, 7, .66);
}

.cb2-hero h1 {
  font-size: clamp(1.55rem, 3vw, 2.45rem);
}

.cb2-dashboard-shell {
  display: grid;
  grid-template-columns: minmax(280px, .86fr) minmax(0, 1.45fr);
  gap: clamp(14px, 2vw, 22px);
  align-items: start;
}

.cb2-dashboard-page-settings,
.cb2-dashboard-page-game-info {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1180px;
  margin-inline: auto;
}

.cb2-dashboard-page-settings .cb2-dashboard-profile,
.cb2-dashboard-page-game-info .cb2-dashboard-profile {
  width: 100%;
}

.cb2-dashboard-page-dashboard {
  grid-template-columns: minmax(0, 1fr);
  max-width: 1180px;
  margin-inline: auto;
}

.cb2-dashboard-page-dashboard .cb2-dashboard-profile {
  display: none;
}

.cb2-mobile-dashboard-access { display: none; }

.cb2-dashboard-left,
.cb2-dashboard-profile,
.cb2-dashboard-panel {
  display: grid;
  gap: 14px;
}

.cb2-dashboard-signin-callout { display: grid; gap: 8px; padding: 14px; border: 1px solid rgba(168, 255, 62, .34); border-radius: 16px; background: rgba(168, 255, 62, .08); }
.cb2-dashboard-signin-callout strong { color: var(--cb2-neon); font-size: 1.05rem; }
.cb2-dashboard-signin-callout p { margin: 0; color: var(--cb2-muted); line-height: 1.45; }
.cb2-dashboard-signin-callout .cb2-btn { width: fit-content; }

.cb2-collector-card {
  padding: clamp(16px, 2vw, 22px);
}

.cb2-grower-portrait-card {
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 38%, rgba(98, 214, 255, .11), transparent 43%),
    radial-gradient(circle at 15% 0%, rgba(168, 255, 62, .12), transparent 34%),
    linear-gradient(165deg, rgba(10, 25, 19, .98), rgba(3, 8, 11, .99));
}

.cb2-collector-heading {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}

.cb2-dashboard-reset-box.cb2-dashboard-reset-compact {
  grid-template-columns: auto auto;
  align-items: center;
  gap: 8px;
  padding: 8px 9px 8px 11px;
  border-radius: 999px;
  font-size: .7rem;
  white-space: nowrap;
}

.cb2-dashboard-reset-box.cb2-dashboard-reset-compact button {
  width: auto;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
}

.cb2-smoke-portrait {
  --cb2-smoke-haze: .08;
  position: relative;
  width: min(100%, 600px);
  aspect-ratio: 1;
  margin: -4px auto -7%;
  isolation: isolate;
  user-select: none;
  filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .34));
}

.cb2-smoke-portrait-backdrop {
  position: absolute;
  z-index: 0;
  left: 22.5%;
  top: 19.5%;
  width: 70%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(111, 220, 255, .25);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 38%, rgba(55, 102, 79, .42), transparent 40%),
    linear-gradient(155deg, #14231f, #071013 68%, #160c25);
  box-shadow: inset 0 0 55px rgba(0, 0, 0, .78), 0 0 34px rgba(98, 214, 255, .12);
  transition: background .45s ease, box-shadow .45s ease;
}

.cb2-smoke-portrait-backdrop::before,
.cb2-smoke-portrait-backdrop::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.cb2-smoke-portrait-backdrop::before {
  inset: 0;
  opacity: calc(.12 + var(--cb2-smoke-haze));
  background:
    radial-gradient(circle at 24% 28%, rgba(168, 255, 62, .28), transparent 25%),
    radial-gradient(circle at 76% 68%, rgba(199, 84, 255, .26), transparent 32%),
    repeating-linear-gradient(115deg, transparent 0 18px, rgba(255, 255, 255, .018) 19px 20px);
  transition: opacity .4s ease;
}

.cb2-smoke-portrait-backdrop::after {
  left: 9%;
  right: 9%;
  bottom: 8%;
  height: 18%;
  border-radius: 50%;
  background: rgba(0, 0, 0, .52);
  filter: blur(14px);
}

.cb2-smoke-avatar-window {
  position: absolute;
  z-index: 2;
  left: 27%;
  top: 24%;
  width: 61%;
  aspect-ratio: 1;
  border-radius: 50%;
}

.cb2-smoke-avatar-window .cb2-avatar-melt,
.cb2-smoke-avatar-window .cb2-avatar-main,
.cb2-smoke-avatar-window .cb2-avatar-melt-echo,
.cb2-smoke-avatar-window .cb2-avatar-melt-echo img {
  width: 100%;
  height: 100%;
}

.cb2-smoke-avatar-window .cb2-avatar-main {
  border-width: clamp(2px, .45vw, 4px);
  box-shadow: 0 0 36px rgba(168, 255, 62, .28), 0 18px 34px rgba(0, 0, 0, .44);
}

.cb2-smoke-avatar-window .cb2-avatar-edible-badge {
  right: 6%;
  bottom: 4%;
}

.cb2-smoke-avatar-haze {
  position: absolute;
  z-index: 3;
  inset: -4%;
  overflow: hidden;
  border-radius: 50%;
  opacity: var(--cb2-smoke-haze);
  background:
    radial-gradient(ellipse at 25% 80%, rgba(222, 244, 255, .78), transparent 28%),
    radial-gradient(ellipse at 72% 26%, rgba(191, 126, 255, .58), transparent 28%),
    radial-gradient(ellipse at 62% 76%, rgba(255, 255, 255, .62), transparent 30%);
  mix-blend-mode: screen;
  filter: blur(14px);
  transform: translate3d(-3%, 2%, 0) rotate(-5deg);
  transition: opacity .5s ease;
  pointer-events: none;
}

.cb2-smoke-avatar-haze-two {
  inset: 5% -8% -8% 3%;
  opacity: calc(var(--cb2-smoke-haze) * .72);
  transform: translate3d(4%, -3%, 0) rotate(8deg);
  filter: blur(20px);
}

.cb2-smoke-layer,
.cb2-smoke-meter-fill {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  pointer-events: none;
}

.cb2-smoke-meter-empty { z-index: 4; }

.cb2-smoke-meter-fill {
  z-index: 5;
  overflow: hidden;
  clip-path: inset(0 calc(100% - var(--cb2-smoke-fill)) 0 0);
  transition: clip-path .65s cubic-bezier(.2, .75, .2, 1), opacity .3s ease;
}

.cb2-smoke-meter-max {
  z-index: 6;
  opacity: 0;
  transition: opacity .42s ease;
}

.cb2-smoke-mascot {
  z-index: 7;
  transform-origin: 84% 88%;
  transition: opacity .16s ease;
}

.cb2-smoke-mascot-pass,
.cb2-smoke-mascot-max { opacity: 0; }

.cb2-leaf-guide-button {
  position: absolute;
  z-index: 12;
  right: calc(10.5% - 40px);
  bottom: calc(14% - 75px);
  width: clamp(82px, calc(16.8% + 10px), 118px);
  aspect-ratio: 1;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
}

.cb2-leaf-guide-button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cb2-leaf-guide-button:hover,
.cb2-leaf-guide-button:focus-visible {
  outline: 0;
  filter: none;
}

.cb2-smoke-portrait-readout {
  position: absolute;
  z-index: 8;
  left: 48.65%;
  top: 18.85%;
  width: 31.5%;
  height: 6.2%;
  display: grid;
  place-items: center;
  color: #baff7c;
  text-align: center;
  text-shadow: 0 0 7px rgba(168, 255, 62, .9), 0 0 15px rgba(168, 255, 62, .35);
  pointer-events: none;
}

.cb2-smoke-portrait-readout span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cb2-smoke-portrait-readout strong {
  font-size: clamp(.78rem, 2.3vw, 1.35rem);
  font-weight: 950;
  line-height: 1;
  transform: translate(25px, calc(.12em + 13px));
}

.cb2-smoke-portrait-readout small {
  position: absolute;
  top: 138%;
  right: 2%;
  padding: 3px 7px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 999px;
  background: rgba(3, 10, 8, .78);
  color: rgba(223, 255, 173, .82);
  font-size: clamp(.48rem, 1.15vw, .65rem);
  font-weight: 950;
  letter-spacing: .08em;
  white-space: nowrap;
}

.cb2-smoke-toke-burst {
  position: absolute;
  z-index: 8;
  left: 52%;
  top: 42%;
  width: 18%;
  aspect-ratio: 1;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle, rgba(255, 255, 255, .88), rgba(196, 255, 228, .34) 35%, transparent 72%);
  filter: blur(3px);
  pointer-events: none;
}

.cb2-smoke-drain-button,
.cb2-smoke-quick-toke-button {
  position: absolute;
  z-index: 10;
  top: 19%;
  width: 7.2%;
  min-width: 0;
  height: 7.4%;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 9px;
  background: transparent !important;
  box-shadow: none !important;
  color: transparent !important;
  cursor: pointer;
}

.cb2-smoke-drain-button { left: 48.5%; }
.cb2-smoke-quick-toke-button { left: calc(81.7% - 11px); }

.cb2-smoke-drain-button span,
.cb2-smoke-quick-toke-button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cb2-smoke-drain-button:hover,
.cb2-smoke-drain-button:focus-visible,
.cb2-smoke-quick-toke-button:hover,
.cb2-smoke-quick-toke-button:focus-visible {
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.cb2-smoke-portrait > .cb2-portrait-cookie.cb2-avatar-edible-badge {
  position: absolute;
  z-index: 11;
  top: 21.5%;
  right: -1.5%;
  bottom: auto;
  left: auto;
  width: auto;
  min-width: 54px;
  min-height: 31px;
  margin: 0;
  padding: 4px 8px;
  border: 2px solid rgba(6, 16, 6, .92);
  border-radius: 999px;
  cursor: pointer;
  pointer-events: auto;
}

.cb2-smoke-portrait > .cb2-portrait-cookie.cb2-edible-level-0 {
  opacity: .68;
  filter: grayscale(.72);
}

.cb2-smoke-portrait > .cb2-portrait-cookie:hover,
.cb2-smoke-portrait > .cb2-portrait-cookie:focus-visible {
  opacity: 1;
  filter: none;
  transform: translateY(-2px) scale(1.05);
  outline: 2px solid rgba(255, 233, 121, .7);
}

.cb2-portrait-highness-console {
  position: absolute;
  z-index: 9;
  left: -1.5%;
  bottom: 1%;
  width: clamp(142px, 37%, 225px);
  aspect-ratio: 1;
  pointer-events: auto;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .48));
}

.cb2-portrait-highness-console .cb2-highness-console {
  width: 100%;
  max-width: none;
  margin: 0;
  filter: none;
}

.cb2-portrait-highness-console .cb2-highness-needle {
  width: 1.8%;
  min-width: 3px;
  max-width: 5px;
}

.cb2-portrait-highness-console .cb2-highness-needle::before {
  top: -5px;
  border-left-width: 5px;
  border-right-width: 5px;
  border-bottom-width: 11px;
}

.cb2-portrait-highness-console .cb2-highness-needle::after {
  bottom: -10px;
  width: 19px;
  height: 19px;
  border-width: 2px;
}

.cb2-portrait-highness-console .cb2-highness-readout-label {
  gap: .2em;
  font-size: clamp(.34rem, 1vw, .57rem);
  letter-spacing: 0;
}

.cb2-portrait-highness-console .cb2-highness-readout-percent {
  font-size: clamp(.82rem, 2.45vw, 1.38rem);
}

.cb2-portrait-highness-console .cb2-highness-console-button {
  border-radius: 5px !important;
  font-size: clamp(.31rem, .85vw, .5rem) !important;
}

.cb2-smoke-portrait.is-max .cb2-smoke-meter-empty,
.cb2-smoke-portrait.is-max .cb2-smoke-meter-fill,
.cb2-smoke-portrait.is-max .cb2-smoke-mascot-idle,
.cb2-smoke-portrait.is-max .cb2-smoke-mascot-pass { opacity: 0; }

.cb2-smoke-portrait.is-max .cb2-smoke-meter-max,
.cb2-smoke-portrait.is-max .cb2-smoke-mascot-max { opacity: 1; }

.cb2-smoke-portrait.is-max .cb2-smoke-portrait-backdrop {
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 64, 221, .32), transparent 32%),
    radial-gradient(circle at 38% 68%, rgba(121, 62, 255, .42), transparent 43%),
    linear-gradient(145deg, #15103d, #070a1b 62%, #25062d);
  box-shadow: inset 0 0 65px rgba(5, 0, 24, .75), 0 0 42px rgba(212, 70, 255, .38);
  animation: cb2-max-power-room 3.8s ease-in-out infinite;
}

.cb2-smoke-portrait.is-max .cb2-smoke-portrait-readout {
  color: #fff3a0;
  text-shadow: 0 0 8px rgba(255, 233, 121, .95), 0 0 19px rgba(255, 72, 221, .55);
}

.cb2-smoke-portrait.is-toking:not(.is-max) .cb2-smoke-mascot-idle { opacity: 0; }
.cb2-smoke-portrait.is-toking:not(.is-max) .cb2-smoke-mascot-pass { opacity: 1; animation: cb2-mascot-pass-joint .76s cubic-bezier(.2, .72, .2, 1) both; }
.cb2-smoke-portrait.is-toking .cb2-avatar-main { animation: cb2-avatar-inhale .76s ease-in-out both; }
.cb2-smoke-portrait.is-toking .cb2-smoke-toke-burst { animation: cb2-toke-burst .76s ease-out both; }
.cb2-smoke-portrait.is-max.is-toking .cb2-smoke-mascot-max { animation: cb2-max-mascot-bump .76s ease-in-out both; }

.cb2-tutorial-popup {
  width: min(980px, calc(100vw - 28px));
  max-height: min(86vh, 860px);
  overflow: auto;
  border: 2px solid rgba(168, 255, 62, .44);
  background:
    radial-gradient(circle at 12% 0%, rgba(168, 255, 62, .18), transparent 34%),
    linear-gradient(145deg, rgba(12, 30, 14, .98), rgba(5, 12, 7, .98));
  color: #f5ffe8;
  text-align: left;
}

.cb2-tutorial-heading {
  display: grid;
  grid-template-columns: minmax(72px, 120px) 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}

.cb2-tutorial-heading img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, .46));
}

.cb2-tutorial-heading h2,
.cb2-tutorial-heading p,
.cb2-tutorial-current-card h3,
.cb2-tutorial-manual-grid h3,
.cb2-tutorial-current-card p,
.cb2-tutorial-manual-grid p {
  margin-top: 0;
}

.cb2-tutorial-tabs,
.cb2-tutorial-actions,
.cb2-tutorial-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.cb2-tutorial-tabs {
  margin: 10px 0 14px;
  padding: 6px;
  border: 1px solid rgba(168, 255, 62, .2);
  border-radius: 18px;
  background: rgba(0, 0, 0, .24);
}

.cb2-tutorial-tabs button {
  flex: 1 1 180px;
  border-radius: 999px;
}

.cb2-tutorial-tabs button.active {
  background: linear-gradient(135deg, var(--cb2-neon), #ffe979);
  color: #10200f;
}

.cb2-tutorial-panel {
  display: grid;
  gap: 14px;
}

.cb2-tutorial-current-card,
.cb2-tutorial-mode-card,
.cb2-tutorial-manual-grid article {
  padding: 15px;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 18px;
  background: rgba(255, 255, 255, .055);
  box-shadow: inset 0 0 26px rgba(0, 0, 0, .18);
}

.cb2-tutorial-current-card h3 {
  color: #ffe979;
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.cb2-tutorial-goal {
  display: grid;
  gap: 4px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(255, 233, 121, .24);
  border-radius: 14px;
  background: rgba(255, 233, 121, .08);
}

.cb2-tutorial-goal strong {
  color: #ffe979;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .76rem;
}

.cb2-tutorial-mode-card {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.cb2-tutorial-mode-card strong {
  color: var(--cb2-neon);
}

.cb2-tutorial-mode-card.is-on {
  border-color: rgba(105, 255, 129, .48);
  background: linear-gradient(135deg, rgba(26, 112, 40, .18), rgba(255, 255, 255, .045));
}

.cb2-tutorial-mode-card.is-on strong {
  color: #69ff81;
}

.cb2-tutorial-mode-card.is-on [data-cb2-tutorial-toggle] {
  border-color: rgba(105, 255, 129, .55);
  background: linear-gradient(135deg, #69ff81, #b8ff5c);
  color: #07130b;
}

.cb2-tutorial-mode-card.is-off {
  border-color: rgba(255, 91, 91, .5);
  background: linear-gradient(135deg, rgba(122, 10, 10, .22), rgba(255, 255, 255, .04));
}

.cb2-tutorial-mode-card.is-off strong {
  color: #ff7777;
}

.cb2-tutorial-mode-card.is-off [data-cb2-tutorial-toggle] {
  border-color: rgba(255, 91, 91, .55);
  background: linear-gradient(135deg, #ff5b5b, #ff9a76);
  color: #220707;
}

.cb2-tutorial-mode-card p {
  flex: 1 1 280px;
  margin: 0;
  color: var(--cb2-muted);
}

.cb2-tutorial-step-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.cb2-tutorial-meter-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.cb2-tutorial-meter-row article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 14px;
  background: rgba(0, 0, 0, .20);
}

.cb2-tutorial-meter-row strong {
  color: #ffe979;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cb2-tutorial-meter-row span {
  color: var(--cb2-neon);
  font-size: 1.65rem;
  font-weight: 1000;
  line-height: 1;
}

.cb2-tutorial-meter-row small {
  color: rgba(245, 255, 232, .68);
  font-weight: 800;
}

.cb2-tutorial-step-list button {
  justify-content: flex-start;
  min-height: 44px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .055);
  color: #f5ffe8;
  text-align: left;
}

.cb2-tutorial-step-list button span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin-right: 7px;
  border-radius: 50%;
  background: rgba(168, 255, 62, .15);
  color: #ffe979;
  font-size: .72rem;
  font-weight: 950;
}

.cb2-tutorial-step-list button.active {
  border-color: rgba(255, 233, 121, .68);
  background: rgba(255, 233, 121, .12);
}

.cb2-tutorial-manual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cb2-tutorial-manual-grid article p,
.cb2-tutorial-manual-grid article li {
  color: rgba(245, 255, 232, .82);
  line-height: 1.48;
}

.cb2-property-chart-popup { width: min(920px, calc(100vw - 28px)); }
.cb2-property-chart-popup > p:not(.cb2-eyebrow) { color: rgba(245, 255, 232, .84); line-height: 1.45; }
.cb2-property-chart-scroll { overflow-x: auto; margin: 14px 0; border: 1px solid rgba(168, 255, 62, .24); border-radius: 14px; }
.cb2-property-chart-scroll table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .78rem; }
.cb2-property-chart-scroll th, .cb2-property-chart-scroll td { padding: 10px; border-bottom: 1px solid rgba(245, 255, 232, .12); text-align: left; vertical-align: top; }
.cb2-property-chart-scroll th { background: rgba(168, 255, 62, .12); color: #d7ff9a; font-size: .69rem; letter-spacing: .045em; text-transform: uppercase; }
.cb2-property-chart-scroll td { color: rgba(245, 255, 232, .86); font-weight: 750; }
.cb2-property-chart-scroll tbody tr:last-child td { border-bottom: 0; }

.cb2-chase-traits-popup { width: min(1040px, calc(100vw - 28px)); }
.cb2-chase-traits-summary, .cb2-chase-traits-note { color: rgba(245, 255, 232, .85); line-height: 1.45; }
.cb2-chase-traits-summary strong { color: #d7ff9a; }
.cb2-chase-traits-rolls { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.cb2-chase-traits-rolls span { padding: 7px 10px; border: 1px solid rgba(168, 255, 62, .3); border-radius: 999px; background: rgba(168, 255, 62, .08); color: rgba(245, 255, 232, .88); font-size: .73rem; font-weight: 800; }
.cb2-chase-traits-rolls strong { color: #ffe979; }
.cb2-chase-traits-note { padding: 10px; border-left: 3px solid rgba(255, 215, 93, .72); background: rgba(255, 215, 93, .08); font-size: .78rem; }
.cb2-chase-trait-groups { display: grid; gap: 13px; max-height: min(58vh, 620px); padding-right: 4px; overflow-y: auto; }
.cb2-chase-trait-group { padding: 12px; border: 1px solid rgba(168, 255, 62, .2); border-radius: 15px; background: rgba(0, 0, 0, .16); }
.cb2-chase-trait-group h3 { margin: 0 0 9px; color: #d7ff9a; font-size: .88rem; }
.cb2-chase-trait-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb2-chase-trait-card { padding: 9px; border: 1px solid rgba(245, 255, 232, .15); border-radius: 11px; background: rgba(255, 255, 255, .035); }
.cb2-chase-trait-card > div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cb2-chase-trait-card strong { color: #f5ffe8; font-size: .78rem; }
.cb2-chase-trait-card span { font-size: .62rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.cb2-chase-trait-card p { margin: 5px 0 0; color: rgba(245, 255, 232, .7); font-size: .71rem; font-weight: 700; line-height: 1.35; }
.cb2-chase-trait-card.rarity-rare span { color: #8fe9ff; }
.cb2-chase-trait-card.rarity-epic span { color: #e5a5ff; }
.cb2-chase-trait-card.rarity-uncommon span { color: #a9ff81; }
.cb2-chase-trait-card.rarity-mythic { border-color: rgba(255, 215, 93, .56); background: linear-gradient(135deg, rgba(255, 215, 93, .12), rgba(255, 255, 255, .035)); }
.cb2-chase-trait-card.rarity-mythic span { color: #ffe979; }

@media (max-width: 620px) {
  .cb2-chase-trait-grid { grid-template-columns: 1fr; }
  .cb2-chase-trait-groups { max-height: 54vh; }
}

.cb2-tutorial-xaman-card {
  grid-column: 1 / -1;
}

.cb2-tutorial-footer {
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid rgba(168, 255, 62, .18);
}

@media (max-width: 720px) {
  .cb2-tutorial-heading { grid-template-columns: 74px 1fr; gap: 10px; }
  .cb2-tutorial-manual-grid { grid-template-columns: 1fr; }
  .cb2-tutorial-mode-card { align-items: stretch; }
  .cb2-tutorial-mode-card .cb2-btn { width: 100%; }
}

@keyframes cb2-mascot-pass-joint {
  0% { transform: translate3d(7%, 5%, 0) rotate(3deg) scale(.96); opacity: 0; }
  28%, 72% { transform: translate3d(-1%, -1%, 0) rotate(-1deg) scale(1.025); opacity: 1; }
  100% { transform: translate3d(2%, 1%, 0) rotate(0) scale(1); opacity: 1; }
}

@keyframes cb2-avatar-inhale {
  0%, 100% { transform: rotate(var(--melt-tilt)) scaleY(var(--melt-main-stretch, 1)) scale(1); }
  45% { transform: rotate(var(--melt-tilt)) scaleY(var(--melt-main-stretch, 1)) scale(1.035); filter: saturate(1.25) brightness(1.08); }
}

@keyframes cb2-toke-burst {
  0%, 25% { opacity: 0; transform: translate3d(10%, 12%, 0) scale(.3); }
  48% { opacity: .78; }
  100% { opacity: 0; transform: translate3d(-22%, -18%, 0) scale(1.75); }
}

@keyframes cb2-max-mascot-bump {
  0%, 100% { transform: scale(1); }
  45% { transform: translate3d(-1.5%, -1.5%, 0) rotate(-1deg) scale(1.035); }
}

@keyframes cb2-max-power-room {
  0%, 100% { filter: hue-rotate(0deg) brightness(1); transform: scale(1); }
  50% { filter: hue-rotate(12deg) brightness(1.12); transform: scale(1.015); }
}

.cb2-grower-portrait-card > .cb2-collector-cash {
  position: relative;
  z-index: 10;
  margin: 2px 0 4px;
  font-size: clamp(1.35rem, 3.3vw, 2rem);
}

.cb2-grower-portrait-card > .cb2-edible-indicator-dashboard {
  position: relative;
  z-index: 10;
  width: min(100%, 390px);
  margin: 0 auto 3px;
}

.cb2-collector-wallet { min-width: 0; }
.cb2-collector-wallet p { margin: 0; overflow-wrap: anywhere; }
.cb2-collector-wallet small { color: var(--cb2-muted); font-weight: 800; }

.cb2-collector-top-row { display: grid; grid-template-columns: auto minmax(150px, 1fr); gap: 16px; align-items: start; }
.cb2-collector-avatar-stack { width: max-content; min-width: 150px; display: grid; justify-items: center; justify-self: center; align-self: center; }
.cb2-avatar-melt { --melt-drop: 0px; --melt-stretch: 1; --melt-opacity: 0; --melt-tilt: 0deg; position: relative; width: 150px; height: 150px; isolation: isolate; }
.cb2-avatar-main { position: relative; z-index: 2; width: 150px; height: 150px; display: block; object-fit: cover; border: 3px solid var(--cb2-neon); border-radius: 50%; background: rgba(0, 0, 0, .28); box-shadow: 0 0 30px rgba(168, 255, 62, .32); transform: rotate(var(--melt-tilt)) scaleY(var(--melt-main-stretch, 1)); filter: saturate(var(--melt-saturation, 1)) hue-rotate(var(--melt-hue, 0deg)); transition: border-radius .45s ease, filter .45s ease, transform .45s ease; }
.cb2-avatar-melt-echo { position: absolute; z-index: 1; inset: 0; display: block; opacity: var(--melt-opacity); pointer-events: none; transform: translateY(var(--melt-drop)) scaleY(var(--melt-stretch)); transform-origin: 50% 58%; clip-path: polygon(0 57%, 11% 59%, 15% 100%, 23% 63%, 35% 60%, 41% 92%, 48% 62%, 59% 60%, 66% 100%, 73% 63%, 84% 59%, 89% 88%, 94% 60%, 100% 57%, 100% 100%, 0 100%); filter: saturate(var(--melt-saturation, 1)) hue-rotate(var(--melt-hue, 0deg)) blur(var(--melt-blur, 0)); transition: opacity .45s ease, transform .45s ease, filter .45s ease; }
.cb2-avatar-melt-echo img { width: 150px; height: 150px; display: block; object-fit: cover; border-radius: 44% 56% 42% 58% / 48% 45% 55% 52%; }
.cb2-avatar-edible-badge { position: absolute; z-index: 4; right: -9px; bottom: -9px; display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 4px 8px; border: 2px solid rgba(6, 16, 6, .92); border-radius: 999px; background: linear-gradient(135deg, #ffd75d, #ff8a00); color: #151006; box-shadow: 0 7px 18px rgba(0, 0, 0, .4); font-size: .72rem; font-weight: 950; }
.cb2-avatar-melt.cb2-edible-level-0 .cb2-avatar-edible-badge { opacity: .62; filter: grayscale(.75); }
.cb2-avatar-melt.cb2-edible-level-1 { --melt-drop: 12px; --melt-stretch: 1.19; --melt-opacity: .52; --melt-main-stretch: 1.04; --melt-saturation: 1.3; --melt-hue: 5deg; --melt-blur: .25px; --melt-tilt: .8deg; }
.cb2-avatar-melt.cb2-edible-level-2 { --melt-drop: 18px; --melt-stretch: 1.29; --melt-opacity: .66; --melt-main-stretch: 1.055; --melt-saturation: 1.45; --melt-hue: 10deg; --melt-blur: .45px; --melt-tilt: -1.2deg; }
.cb2-avatar-melt.cb2-edible-level-3 { --melt-drop: 25px; --melt-stretch: 1.42; --melt-opacity: .82; --melt-main-stretch: 1.075; --melt-saturation: 1.65; --melt-hue: 18deg; --melt-blur: .7px; --melt-tilt: 1.6deg; }
.cb2-avatar-melt.cb2-edible-level-4 { --melt-drop: 36px; --melt-stretch: 1.72; --melt-opacity: .9; --melt-main-stretch: 1.12; --melt-saturation: 2.15; --melt-hue: 42deg; --melt-blur: 1.1px; --melt-tilt: -3.8deg; }
.cb2-avatar-melt.cb2-edible-level-5 { --melt-drop: 50px; --melt-stretch: 2.18; --melt-opacity: 1; --melt-main-stretch: 1.2; --melt-saturation: 3; --melt-hue: 110deg; --melt-blur: 2px; --melt-tilt: 6deg; }
.cb2-avatar-melt.cb2-edible-level-1 .cb2-avatar-main { border-radius: 46% 54% 47% 57% / 44% 48% 58% 54%; }
.cb2-avatar-melt.cb2-edible-level-2 .cb2-avatar-main { border-radius: 43% 57% 45% 60% / 41% 47% 61% 57%; }
.cb2-avatar-melt.cb2-edible-level-3 .cb2-avatar-main { border-radius: 40% 60% 42% 63% / 38% 45% 65% 60%; animation: cb2-avatar-wobble 2.8s ease-in-out infinite; }
.cb2-avatar-melt.cb2-edible-level-4 .cb2-avatar-main { border-radius: 35% 65% 38% 70% / 35% 44% 70% 63%; animation: cb2-avatar-wobble 2.15s ease-in-out infinite; filter: saturate(var(--melt-saturation, 1)) hue-rotate(var(--melt-hue, 0deg)) contrast(1.18) blur(.35px); }
.cb2-avatar-melt.cb2-edible-level-5 .cb2-avatar-main { border-radius: 28% 72% 31% 78% / 28% 39% 80% 70%; clip-path: polygon(8% 0, 94% 6%, 87% 36%, 100% 48%, 83% 100%, 58% 82%, 38% 100%, 0 83%, 12% 48%, 0 24%); animation: cb2-avatar-meltdown 1.75s ease-in-out infinite; filter: saturate(var(--melt-saturation, 1)) hue-rotate(var(--melt-hue, 0deg)) contrast(1.45) blur(1px) invert(.08); }
.cb2-avatar-melt.cb2-edible-level-4::before,
.cb2-avatar-melt.cb2-edible-level-5::before { content: ""; position: absolute; z-index: 3; inset: -10px; border-radius: 44% 56% 42% 58%; background: radial-gradient(circle at 25% 25%, rgba(255, 215, 93, .38), transparent 28%), radial-gradient(circle at 70% 35%, rgba(222, 140, 255, .42), transparent 30%), radial-gradient(circle at 50% 75%, rgba(98, 214, 255, .30), transparent 34%); mix-blend-mode: screen; opacity: .42; pointer-events: none; animation: cb2-avatar-glaze 2.2s ease-in-out infinite; }
.cb2-avatar-melt.cb2-edible-level-5::before { inset: -18px; opacity: .72; filter: blur(.7px); }
@keyframes cb2-avatar-wobble { 0%, 100% { transform: rotate(var(--melt-tilt)) scaleY(var(--melt-main-stretch, 1)) skewX(0); } 50% { transform: rotate(calc(var(--melt-tilt) * -0.8)) scaleY(calc(var(--melt-main-stretch, 1) + .025)) skewX(1.5deg); } }
@keyframes cb2-avatar-meltdown { 0%, 100% { transform: rotate(6deg) scaleY(1.2) skewX(-2deg); } 35% { transform: rotate(-7deg) scaleY(1.28) skewX(4deg) translateY(3px); } 70% { transform: rotate(4deg) scaleY(1.16) skewX(-5deg) translateX(2px); } }
@keyframes cb2-avatar-glaze { 0%, 100% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(7deg) scale(1.06); } }
.cb2-collector-reset-stack { min-width: 0; display: grid; align-content: start; gap: 12px; }
.cb2-collector-cash { width: 100%; max-width: none; display: block; justify-self: stretch; color: var(--cb2-neon); font-size: clamp(1.05rem, 2.4vw, 1.65rem); line-height: 1; text-align: center; white-space: nowrap; overflow-wrap: normal; }
.cb2-dashboard-reset-box { display: grid; gap: 8px; padding: 12px; border: 1px solid rgba(255, 107, 107, .34); border-radius: 16px; background: rgba(255, 107, 107, .075); color: rgba(245, 255, 232, .88); font-size: .82rem; line-height: 1.35; }
.cb2-dashboard-reset-box strong { color: #ffb3b3; }
.cb2-dashboard-reset-box p { margin: 0; }
.cb2-dashboard-reset-box button { width: 100%; border: 0; background: linear-gradient(135deg, #ff6b6b, #d92d20); color: #fff; }
.cb2-collector-identity-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid rgba(168, 255, 62, .18); border-radius: 16px; background: rgba(0, 0, 0, .16); }
.cb2-collector-identity-row > button { white-space: nowrap; }
.cb2-collector-identity-row > .cb2-disconnect-wallet { border-color: rgba(255, 107, 107, .42); background: linear-gradient(135deg, rgba(255, 107, 107, .22), rgba(217, 45, 32, .2)); color: #ffd6d6; }
.cb2-collector-identity h2, .cb2-collector-identity p { margin: 0; }
.cb2-collector-identity h2 { color: var(--cb2-neon); line-height: 1.08; }
.cb2-collector-identity { display: grid; gap: 5px; min-width: 0; }
.cb2-collector-identity p:last-child { color: var(--cb2-muted); overflow-wrap: anywhere; }
.cb2-collector-card > .cb2-dashboard-mini-stats { margin-top: 0; }

.cb2-collector-preview {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.cb2-collector-preview img {
  width: 112px;
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  border: 2px solid rgba(168, 255, 62, .42);
  border-radius: 24px;
  background: rgba(0, 0, 0, .28);
}

.cb2-collector-preview h2,
.cb2-collector-preview p {
  margin: 0;
}

.cb2-dashboard-mini-stats,
.cb2-room-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 14px;
}

.cb2-dashboard-mini-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cb2-dashboard-mini-stats > div,
.cb2-room-stats > div {
  min-width: 0;
  padding: 8px 7px;
  border: 1px solid rgba(168, 255, 62, .20);
  border-radius: 14px;
  background: rgba(255, 255, 255, .055);
  text-align: center;
}

.cb2-dashboard-mini-stats span,
.cb2-dashboard-mini-stats strong,
.cb2-room-stats span,
.cb2-room-stats strong {
  display: block;
}

.cb2-dashboard-mini-stats span,
.cb2-room-stats span {
  color: rgba(245, 255, 232, .62);
  font-size: .66rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.cb2-dashboard-mini-stats strong,
.cb2-room-stats strong {
  margin-top: 4px;
  color: var(--cb2-neon);
  font-size: .82rem;
}

.cb2-dashboard-game-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cb2-dashboard-top-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.cb2-dashboard-top-row > .cb2-dashboard-reward-card.cb2-dashboard-wide {
  grid-column: auto;
}

.cb2-dashboard-top-row > .cb2-grower-portrait-card,
.cb2-dashboard-top-row > .cb2-dashboard-reward-card {
  height: 100%;
}

.cb2-dashboard-reward-card {
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .34);
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 0%, rgba(255, 215, 93, .13), transparent 42%),
    linear-gradient(155deg, rgba(255, 255, 255, .085), rgba(7, 19, 9, .98));
  box-shadow: 0 14px 32px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.cb2-dashboard-reward-card.cb2-dashboard-wide { grid-column: 1 / -1; }
.cb2-reward-card-heading,
.cb2-reward-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cb2-reward-card-heading h3 { margin: 2px 0 5px; color: #ffe979; font-size: 1.25rem; }
.cb2-reward-card-heading p,
.cb2-reward-card-footer small { margin: 0; color: var(--cb2-muted); font-weight: 750; }
.cb2-daily-streak,
.cb2-last-wheel-prize { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(255, 215, 93, .3); border-radius: 999px; background: rgba(255, 215, 93, .1); color: #ffe979; font-size: .75rem; font-weight: 950; }
.cb2-daily-track { display: grid; grid-template-columns: repeat(7, minmax(105px, 1fr)); gap: 8px; margin: 13px 0; overflow-x: auto; padding: 2px 1px 8px; scrollbar-color: rgba(255, 215, 93, .55) rgba(255, 255, 255, .05); }
.cb2-daily-day { position: relative; display: grid; min-width: 0; gap: 5px; align-content: start; padding: 7px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 13px; background: rgba(0, 0, 0, .24); text-align: center; }
.cb2-daily-day.is-active { border-color: #ffe979; box-shadow: 0 0 0 2px rgba(255, 233, 121, .13), 0 0 22px rgba(255, 215, 93, .18); }
.cb2-daily-day.is-claimed { border-color: rgba(168, 255, 62, .4); background: rgba(168, 255, 62, .08); }
.cb2-daily-day img { display: block; width: 100%; aspect-ratio: 1; border-radius: 9px; background: rgba(0, 0, 0, .32); object-fit: cover; }
.cb2-daily-day-number { color: #ffe979; font-size: .65rem; font-weight: 1000; text-transform: uppercase; }
.cb2-daily-day strong { min-width: 0; overflow: hidden; color: #f5ffe8; font-size: .7rem; line-height: 1.15; text-overflow: ellipsis; }
.cb2-daily-day small { color: var(--cb2-muted); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.cb2-daily-day.is-claimed small { color: var(--cb2-neon); }
.cb2-reward-card-footer > div { display: grid; gap: 3px; }
.cb2-reward-card-footer > div > strong { color: #f5ffe8; }
.cb2-dashboard-reward-card .cb2-btn { flex: 0 0 auto; min-height: 42px; padding: 10px 18px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #ffe979, #ff9f1a); color: #171006; font: inherit; font-weight: 1000; cursor: pointer; }
.cb2-dashboard-reward-card .cb2-btn:disabled { cursor: not-allowed; opacity: .48; filter: grayscale(.45); }
.cb2-prize-wheel-kicker { margin: 0 0 12px; }
.cb2-prize-wheel-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: center; }
.cb2-prize-wheel-stage { position: relative; width: min(100%, 400px); min-height: 240px; aspect-ratio: 1; margin-inline: auto; overflow: hidden; border: 1px solid rgba(255, 215, 93, .2); border-radius: 18px; background: #f7f5ef; isolation: isolate; }
.cb2-prize-wheel-cheerleader,
.cb2-prize-wheel-spin-layer,
.cb2-prize-wheel-frame { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.cb2-prize-wheel-cheerleader { z-index: 3; pointer-events: none; }
.cb2-prize-wheel-stage.is-nft-cheerleader .cb2-prize-wheel-cheerleader { transform: translateX(-60px); }
.cb2-prize-wheel-spin-layer { z-index: 1; clip-path: circle(calc(var(--cb2-wheel-size) / 2) at var(--cb2-wheel-x) var(--cb2-wheel-y)); transform: rotate(var(--cb2-wheel-resting, 0deg)); transform-origin: var(--cb2-wheel-x) var(--cb2-wheel-y); will-change: transform, filter; }
.cb2-prize-wheel-frame { z-index: 2; pointer-events: none; }
.cb2-prize-wheel-spin-layer.is-spinning { transform: rotate(var(--cb2-wheel-landing, 2160deg)); filter: blur(.35px) saturate(1.15); transition: transform 3.4s cubic-bezier(.12, .62, .08, 1), filter .3s ease; }
.cb2-prize-wheel-stage::after { position: absolute; z-index: 2; width: var(--cb2-wheel-size); aspect-ratio: 1; left: var(--cb2-wheel-x); top: var(--cb2-wheel-y); border-radius: 50%; background: conic-gradient(from 0deg, transparent, rgba(255,255,255,.2), transparent 22%, transparent 58%, rgba(255,233,121,.12), transparent); content: ""; opacity: 0; pointer-events: none; transform: translate(-50%, -50%); }
.cb2-prize-wheel-stage:has(.is-spinning)::after { opacity: 1; animation: cb2-wheel-light-sweep .34s linear infinite; }
@keyframes cb2-wheel-light-sweep { to { transform: translate(-50%, -50%) rotate(360deg); } }
.cb2-prize-wheel-pointer { position: absolute; z-index: 4; width: 6%; height: auto; left: var(--cb2-wheel-x); top: calc(var(--cb2-wheel-y) - (var(--cb2-wheel-size) / 2)); transform: translate(-50%, -25%) rotate(-7deg); transform-origin: 50% 90%; filter: drop-shadow(0 3px 4px rgba(0,0,0,.72)); }
.cb2-prize-wheel-stage:has(.cb2-prize-wheel-spin-layer.is-spinning) .cb2-prize-wheel-pointer { animation: cb2-wheel-pointer-click .11s steps(2, end) infinite; }
@keyframes cb2-wheel-pointer-click {
  from { transform: translate(-50%, -25%) rotate(-11deg); }
  to { transform: translate(-50%, -25%) rotate(8deg); }
}
.cb2-prize-wheel-copy { display: grid; gap: 11px; }
.cb2-wheel-spin-actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.cb2-wheel-encore-button { border-color: rgba(255, 215, 93, .82); background: linear-gradient(135deg, #6a4a13, #a87b20); color: #fff8d7; box-shadow: 0 0 14px rgba(255, 210, 86, .2); }
.cb2-wheel-encore-button:hover:not(:disabled) { filter: brightness(1.12); transform: translateY(-1px); }
.cb2-test-spin-wheel-button { background: linear-gradient(135deg, #d8d8d8, #8f9b9d) !important; color: #111 !important; }
.cb2-wheel-cheerleader-controls { display: flex; align-items: end; gap: 8px; min-width: 0; }
.cb2-wheel-cheerleader-controls .cb2-wheel-cheerleader-picker { flex: 1 1 auto; min-width: 0; }
.cb2-wheel-cheerleader-controls .cb2-wheel-cheerleader-picker select { width: 100%; min-width: 0; }
.cb2-wheel-refresh-cheerleaders { flex: 0 0 auto; margin-bottom: 1px; padding: 7px 9px; font-size: .72rem; line-height: 1.05; white-space: nowrap; }
.cb2-wheel-cheerleader-picker { display: grid; gap: 6px; }
.cb2-wheel-cheerleader-picker > strong { color: #f5ffe8; }
.cb2-wheel-cheerleader-picker select { width: min(100%, 330px); min-height: 44px; padding: 9px 38px 9px 13px; border: 1px solid rgba(255, 233, 121, .48); border-radius: 12px; background: #18251b; color: #f5ffe8; font: inherit; font-weight: 900; cursor: pointer; }
.cb2-cheerleader-save-status { margin: 0; padding: 8px 10px; border: 1px solid rgba(255, 233, 121, .25); border-radius: 10px; background: rgba(255, 255, 255, .045); color: var(--cb2-muted); font-size: .72rem; font-weight: 850; line-height: 1.35; }
.cb2-cheerleader-save-status[data-save-state="saving"] { border-color: rgba(255, 215, 93, .45); color: #ffe979; }
.cb2-cheerleader-save-status[data-save-state="saved"] { border-color: rgba(168, 255, 62, .42); color: var(--cb2-neon); }
.cb2-cheerleader-save-status[data-save-state="attention"] { border-color: rgba(255, 126, 99, .55); color: #ffb29f; }
.cb2-spin-wheel-button { justify-self: start; min-width: 180px; }
.cb2-prize-wheel-copy > small { color: var(--cb2-muted); font-weight: 750; }

@media (max-width: 640px) {
  .cb2-wheel-cheerleader-controls { flex-wrap: wrap; align-items: stretch; }
  .cb2-wheel-cheerleader-controls .cb2-wheel-cheerleader-picker { flex-basis: 100%; }
  .cb2-wheel-refresh-cheerleaders { align-self: flex-end; margin-bottom: 0; }
}

.cb2-dashboard-flip-card { position: relative; min-width: 0; min-height: 300px; perspective: 1200px; cursor: pointer; }
.cb2-dashboard-flip-inner { position: relative; display: grid; width: 100%; min-height: 300px; transform-style: preserve-3d; transition: transform .56s cubic-bezier(.2, .72, .2, 1); }
.cb2-dashboard-flip-card.is-flipped .cb2-dashboard-flip-inner { transform: rotateY(180deg); }
.cb2-dashboard-flip-face { grid-area: 1 / 1; min-width: 0; min-height: 300px; box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; padding: 13px; overflow: hidden; border: 1px solid rgba(168, 255, 62, .30); border-radius: 18px; background: linear-gradient(155deg, rgba(255, 255, 255, .085), rgba(7, 19, 9, .98)); box-shadow: 0 14px 32px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .07); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cb2-dashboard-flip-front { align-items: center; }
.cb2-dashboard-flip-back { position: relative; align-items: stretch; transform: rotateY(180deg); overflow: auto; background: linear-gradient(155deg, rgba(1, 7, 3, .86), rgba(2, 14, 5, .68)); color: #fff; border-color: rgba(168, 255, 62, .48); text-align: left; text-shadow: 0 1px 2px #000; isolation: isolate; }
.cb2-dashboard-card-back-art { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .36; filter: saturate(.82) contrast(.9) brightness(.8); pointer-events: none; }
.cb2-dashboard-card-back-content { position: relative; z-index: 1; display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 10px; }
.cb2-dashboard-card-back-decor { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 7px; margin-top: auto; min-height: 52px; padding: 8px 11px; border: 1px solid rgba(255, 215, 93, .27); border-radius: 13px; background: linear-gradient(135deg, rgba(255, 215, 93, .11), rgba(48, 164, 98, .13)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); color: #ffe979; text-align: center; letter-spacing: .11em; }
.cb2-dashboard-card-back-decor span { color: var(--cb2-neon); font-size: .95rem; text-shadow: 0 0 11px rgba(168, 255, 62, .78); }
.cb2-dashboard-card-back-decor strong { font-size: .73rem; font-weight: 950; }
.cb2-dashboard-card-back-decor small { grid-column: 1 / -1; color: rgba(245, 255, 232, .75); font-size: .59rem; font-weight: 900; letter-spacing: .06em; }
.cb2-dashboard-flip-back h3 { margin: 0; color: #dfffad; }
.cb2-dashboard-flip-back p { margin: 3px 0; padding: 7px 8px; border-radius: 9px; background: rgba(255, 255, 255, .055); color: #fff; font-weight: 800; line-height: 1.42; }
.cb2-dashboard-flip-hint { display: block; margin-top: auto; padding-top: 8px; color: var(--cb2-neon); font-size: .7rem; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.cb2-dashboard-meter-label { width: 100%; display: flex; justify-content: space-between; gap: 12px; color: rgba(245, 255, 232, .88); font-weight: 900; }
.cb2-dashboard-meter-label strong { color: var(--cb2-neon); }
.cb2-dashboard-highness-card,
.cb2-dashboard-highness-card .cb2-dashboard-flip-inner,
.cb2-dashboard-highness-card .cb2-dashboard-flip-face { min-height: 382px; }
.cb2-dashboard-highness-card .cb2-dashboard-flip-face { padding: 9px; }
.cb2-highness-console {
  position: relative;
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
  aspect-ratio: 1;
  color: #7cff87;
  font-family: "Courier New", ui-monospace, SFMono-Regular, Menlo, monospace;
  text-transform: uppercase;
  filter: drop-shadow(0 18px 26px rgba(0, 0, 0, .34));
  isolation: isolate;
}
.cb2-highness-console-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 16px;
  pointer-events: none;
  user-select: none;
}
.cb2-highness-needle {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 61.5%;
  width: clamp(5px, 1.8vw, 8px);
  height: 31.5%;
  transform: translate(-50%, -100%) rotate(var(--cb2-highness-angle, -78deg));
  transform-origin: 50% 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #a8f7ff, #d9ffff 50%, #5b8e9c);
  box-shadow: 0 0 6px rgba(201, 255, 255, .72), 0 0 16px rgba(125, 255, 135, .28);
  transition: transform .55s cubic-bezier(.18, .8, .2, 1);
}
.cb2-highness-needle::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -7px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 18px solid #d9ffff;
  filter: drop-shadow(0 0 4px rgba(201, 255, 255, .82));
}
.cb2-highness-needle::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -16px;
  width: 34px;
  height: 34px;
  transform: translateX(-50%);
  border: 3px solid rgba(216, 255, 255, .86);
  border-radius: 999px;
  background: radial-gradient(circle, #93b8bd, #273a3d 72%);
  box-shadow: 0 5px 14px rgba(0, 0, 0, .55);
}
.cb2-highness-readout {
  position: absolute;
  z-index: 3;
  left: 18%;
  width: 64%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #74ff83;
  text-align: center;
  text-shadow: 0 0 6px rgba(84, 255, 96, .78), 0 0 14px rgba(84, 255, 96, .35);
  pointer-events: none;
}
.cb2-highness-readout-label {
  top: 67.75%;
  height: 6.4%;
  gap: .35em;
  font-size: clamp(.66rem, 2.15vw, 1.05rem);
  font-weight: 950;
  letter-spacing: .04em;
}
.cb2-highness-readout-percent {
  top: 76.05%;
  height: 9.5%;
  font-size: clamp(1.45rem, 6.4vw, 3.05rem);
  line-height: 1;
}
.cb2-highness-level-sober .cb2-highness-readout { color: #78ff7f; text-shadow: 0 0 7px rgba(88, 255, 94, .82), 0 0 15px rgba(88, 255, 94, .35); }
.cb2-highness-level-buzzed .cb2-highness-readout { color: #b8ff65; text-shadow: 0 0 7px rgba(184, 255, 101, .82), 0 0 15px rgba(184, 255, 101, .35); }
.cb2-highness-level-baked .cb2-highness-readout { color: #fff35d; text-shadow: 0 0 7px rgba(255, 243, 93, .82), 0 0 15px rgba(255, 243, 93, .35); }
.cb2-highness-level-cooked .cb2-highness-readout { color: #ffa33d; text-shadow: 0 0 7px rgba(255, 163, 61, .82), 0 0 15px rgba(255, 163, 61, .35); }
.cb2-highness-level-faded .cb2-highness-readout { color: #ff5e5e; text-shadow: 0 0 7px rgba(255, 94, 94, .9), 0 0 18px rgba(255, 42, 42, .45); }
.cb2-highness-console-button {
  position: absolute;
  z-index: 4;
  top: 76.85%;
  width: 20.8% !important;
  min-height: 0 !important;
  height: 6.8%;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #142326 !important;
  box-shadow: none !important;
  font-family: "Arial Black", Impact, system-ui, sans-serif !important;
  font-size: clamp(.54rem, 1.7vw, .86rem) !important;
  letter-spacing: .02em;
  text-shadow: 0 1px rgba(255, 255, 255, .34);
}
.cb2-highness-console-button:hover:not(:disabled) {
  transform: translateY(-1px) scale(1.03) !important;
  filter: brightness(1.12);
}
.cb2-highness-console-button:disabled {
  cursor: wait !important;
  color: rgba(20, 35, 38, .58) !important;
  filter: grayscale(.4) brightness(.82);
}
.cb2-highness-drink { left: 11.9%; }
.cb2-highness-relax { right: 11.9%; }
.cb2-relax-modal .cb2-relax-countdown {
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 14px;
  background: rgba(168, 255, 62, .08);
  color: #f5ffe8;
  font-weight: 900;
}
.cb2-relax-modal .cb2-relax-countdown strong { color: var(--cb2-neon); }
.cb2-dashboard-card-actions { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb2-dashboard-card-actions > * { width: 100%; box-sizing: border-box; }
.cb2-dashboard-flip-face button,
.cb2-dashboard-flip-face .cb2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green));
  color: #061006;
  box-shadow: 0 10px 24px rgba(56, 201, 87, .18);
  font: inherit;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease, opacity .15s ease;
}
.cb2-dashboard-flip-face button:hover,
.cb2-dashboard-flip-face .cb2-btn:hover { transform: translateY(-1px) scale(1.02); filter: brightness(1.08); }
.cb2-dashboard-flip-face button:active,
.cb2-dashboard-flip-face .cb2-btn:active { transform: scale(.98); }
.cb2-dashboard-flip-face .cb2-dashboard-quick-action { background: linear-gradient(135deg, #ffd75d, #ff8a00); color: #111; }
.cb2-dashboard-choice-icons { width: 100%; display: flex; justify-content: center; gap: 10px; }
.cb2-dashboard-choice-icons span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(168, 255, 62, .25); border-radius: 14px; background: rgba(168, 255, 62, .09); font-size: 1.45rem; }
.cb2-dashboard-inventory-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cb2-dashboard-flip-face .cb2-dashboard-inventory-summary button { min-width: 0; min-height: 0; display: grid; justify-items: center; gap: 3px; padding: 9px 6px; border: 1px solid rgba(168, 255, 62, .22); border-radius: 14px; background: rgba(255, 255, 255, .065); color: #f5ffe8; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); text-align: center; }
.cb2-dashboard-flip-face .cb2-dashboard-inventory-summary button:hover { border-color: rgba(168, 255, 62, .64); background: rgba(168, 255, 62, .13); }
.cb2-dashboard-inventory-summary small, .cb2-dashboard-inventory-summary strong { display: block; }
.cb2-dashboard-inventory-summary small { color: var(--cb2-muted); font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.cb2-dashboard-inventory-summary strong { margin-top: 4px; overflow: hidden; color: var(--cb2-neon); text-overflow: ellipsis; white-space: nowrap; }
.cb2-dashboard-inventory-icon { font-size: 1.18rem; line-height: 1; }
.cb2-dashboard-inventory-empty { grid-column: 1 / -1; padding: 14px; border: 1px dashed rgba(168, 255, 62, .25); border-radius: 14px; color: var(--cb2-muted); text-align: center; }

.seed-reveal-modal-backdrop.cb2-game-popup-backdrop .seed-reveal-modal.cb2-dashboard-menu-popup {
  position: relative;
  width: min(96vw, 1240px);
  padding: 22px;
  text-align: left;
}
.cb2-dashboard-popup-close {
  position: sticky;
  z-index: 4;
  top: 0;
  float: right;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0 !important;
  border: 1px solid rgba(168, 255, 62, .36) !important;
  border-radius: 999px !important;
  background: rgba(4, 12, 5, .94) !important;
  color: #f5ffe8 !important;
  font-size: 1.5rem !important;
  line-height: 1;
}
.cb2-dashboard-popup-title { display: flex; align-items: center; gap: 12px; margin: 0 54px 16px 0; }
.cb2-dashboard-popup-title > span { font-size: 2rem; }
.cb2-dashboard-popup-title h2, .cb2-dashboard-popup-title p { margin: 0; }
.cb2-dashboard-popup-page { clear: both; display: grid; gap: 14px; }
.cb2-dashboard-menu-popup .cb2-market-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cb2-dashboard-menu-popup .cb2-market-product-card,
.cb2-dashboard-menu-popup .cb2-market-flip-inner { min-height: 470px; }
.cb2-dashboard-menu-popup .cb2-smoke-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cb2-dashboard-menu-popup .cb2-bank-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1100px) {
  .cb2-dashboard-menu-popup .cb2-market-product-grid,
  .cb2-dashboard-menu-popup .cb2-smoke-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cb2-dashboard-menu-popup .cb2-bank-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .seed-reveal-modal-backdrop.cb2-game-popup-backdrop .seed-reveal-modal.cb2-dashboard-menu-popup { width: 100%; max-height: calc(100vh - 16px); padding: 14px; border-radius: 20px; }
  .cb2-dashboard-menu-popup .cb2-market-product-grid,
  .cb2-dashboard-menu-popup .cb2-smoke-product-grid,
  .cb2-dashboard-menu-popup .cb2-bank-grid { grid-template-columns: 1fr; }
}

.cb2-dashboard-game-card {
  position: relative;
  min-height: 178px;
  display: grid;
  align-content: start;
  gap: 10px;
  color: #f5ffe8;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease;
  overflow: hidden;
}

.cb2-dashboard-game-card:hover {
  transform: translateY(-2px);
  border-color: rgba(168, 255, 62, .68);
}

.cb2-dashboard-wide {
  grid-column: 1 / -1;
}

/* Dank Bank now uses the same single-card footprint as every dashboard destination. */
.cb2-dashboard-game-grid .cb2-dashboard-menu-card.cb2-dashboard-wide {
  grid-column: auto;
}

.cb2-dashboard-value {
  color: var(--cb2-neon);
  font-size: clamp(1.45rem, 4vw, 2.1rem);
  line-height: 1;
}

.cb2-dashboard-art {
  width: 100%;
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 16px;
  background: rgba(0, 0, 0, .28);
}

.cb2-card-cta {
  color: var(--cb2-neon);
  font-size: .82rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.cb2-dashboard-profile {
  padding: clamp(16px, 2vw, 22px);
}

.cb2-dashboard-profile .cb2-profile-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 18px;
  padding: 0 0 0 8px;
  border-bottom: 1px solid rgba(168, 255, 62, .28);
  align-items: flex-end;
}

.cb2-dashboard-profile .cb2-profile-tab {
  position: relative;
  border: 1px solid rgba(168, 255, 62, .28);
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  padding: 7px 11px 8px;
  background: linear-gradient(180deg, rgba(168, 255, 62, .13), rgba(168, 255, 62, .045)), rgba(0, 0, 0, .22);
  color: rgba(245, 255, 232, .82);
  font: inherit;
  font-size: .78rem;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .01em;
  cursor: pointer;
  transform: translateY(1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: background .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
}

.cb2-dashboard-profile .cb2-profile-tab::before {
  content: "";
  position: absolute;
  left: -7px;
  bottom: 0;
  width: 8px;
  height: 11px;
  border-bottom: 1px solid rgba(168, 255, 62, .28);
  border-right: 1px solid rgba(168, 255, 62, .18);
  border-radius: 0 0 8px 0;
  opacity: .7;
}

.cb2-dashboard-profile .cb2-profile-tab:hover {
  background: linear-gradient(180deg, rgba(168, 255, 62, .20), rgba(168, 255, 62, .07)), rgba(0, 0, 0, .22);
  color: #f5ffe8;
  transform: translateY(0);
}

.cb2-dashboard-profile .cb2-profile-tab.active {
  z-index: 2;
  color: #102010;
  background: linear-gradient(180deg, var(--cb2-neon), rgba(168, 255, 62, .82));
  border-color: rgba(168, 255, 62, .72);
  transform: translateY(1px);
  box-shadow: 0 -6px 18px rgba(168, 255, 62, .08), inset 0 1px 0 rgba(255, 255, 255, .28);
}

.cb2-dashboard-profile .cb2-profile-tab.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--cb2-neon);
}

.cb2-profile-inner-panel { display: none; }
.cb2-profile-inner-panel.active { display: grid; gap: 14px; }

.cb2-dashboard-panel {
  padding: 14px;
  border: 1px solid rgba(168, 255, 62, .16);
  border-radius: 19px;
  background: rgba(0, 0, 0, .16);
}

.cb2-dashboard-profile > .cb2-profile-inner-panel { min-width: 0; }

.cb2-profile-fields label {
  display: grid;
  gap: 7px;
  color: rgba(255, 255, 255, .9);
  font-weight: 900;
}

.cb2-profile-fields input[type="email"],
.cb2-profile-fields input[type="text"] {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  color: #f5ffe8;
  font: inherit;
}

.cb2-profile-fields .cb2-profile-check {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
}

.cb2-profile-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--cb2-neon); }

.cb2-avatar-picker {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 18px;
  background: rgba(0, 0, 0, .14);
}

.cb2-avatar-picker p { margin-bottom: 0; color: var(--cb2-muted); }
.cb2-avatar-picker-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; }
.cb2-avatar-refresh-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin: 8px 0 10px; }
.cb2-avatar-refresh-row .cb2-muted { flex: 1 1 220px; margin: 0; }
.cb2-avatar-refresh-row [data-cb2-refresh-avatar-nfts] { min-width: min(100%, 176px); margin-left: auto; }
.cb2-current-avatar { display: flex; align-items: center; gap: 13px; padding: 11px; border: 1px solid rgba(168, 255, 62, .42); border-radius: 0; background: linear-gradient(135deg, rgba(168, 255, 62, .13), rgba(0, 0, 0, .15)); }
.cb2-current-avatar img { width: 74px; height: 74px; flex: 0 0 74px; display: block; object-fit: contain; border: 1px solid rgba(168, 255, 62, .38); border-radius: 0; background: rgba(0, 0, 0, .3); }
.cb2-current-avatar div { min-width: 0; display: grid; gap: 3px; }
.cb2-current-avatar .cb2-eyebrow { margin: 0; color: var(--cb2-neon); }
.cb2-current-avatar strong, .cb2-current-avatar small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cb2-current-avatar small { color: var(--cb2-muted); }
.cb2-avatar-filter-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cb2-avatar-filter-row label { display: grid; gap: 6px; color: var(--cb2-muted); font-size: .75rem; font-weight: 900; }
.cb2-avatar-filter-row select { width: 100%; min-height: 40px; box-sizing: border-box; padding: 8px 10px; border: 1px solid rgba(168, 255, 62, .3); border-radius: 11px; background: #efffde; color: #10200f; font: inherit; font-weight: 900; }
.cb2-dashboard-nft-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; }
.cb2-dashboard-avatar-choice { min-width: 0; display: grid; align-content: start; gap: 6px; padding: 9px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); border-radius: 0; background: rgba(255, 255, 255, .06); color: #f5ffe8; text-align: left; cursor: pointer; }
/* This is a button inside a dashboard card; the generic button rule uses a
   pill radius and extra horizontal padding, so override it at equal
   specificity to keep the entire NFT picker card square. */
button.cb2-dashboard-avatar-choice {
  padding: 9px;
  border-radius: 0;
  background: rgba(255, 255, 255, .06);
}
.cb2-dashboard-avatar-choice:hover, .cb2-dashboard-avatar-choice.active { border-color: rgba(168, 255, 62, .65); background: rgba(168, 255, 62, .11); transform: translateY(-1px); }
.cb2-dashboard-avatar-choice.active { box-shadow: 0 0 0 2px rgba(168, 255, 62, .18); }
.cb2-dashboard-avatar-choice img { width: 100%; aspect-ratio: 1; display: block; object-fit: contain; border-radius: 0; background: rgba(0, 0, 0, .25); }
.cb2-dashboard-avatar-choice.is-art-loading img { opacity: .42; }
.cb2-nft-art-status { display: block; min-height: 1.15em; overflow: visible !important; color: #ffe26e !important; font-size: .67rem !important; font-weight: 900; letter-spacing: .02em; text-overflow: clip !important; white-space: normal !important; }
.cb2-dashboard-avatar-choice.is-art-ready .cb2-nft-art-status { display: none; }
.cb2-dashboard-avatar-choice.is-art-unavailable .cb2-nft-art-status { color: #ffbd72 !important; }
.cb2-dashboard-avatar-choice span { min-width: 0; overflow: hidden; color: #f5ffe8; font-size: .78rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.cb2-dashboard-avatar-choice small { min-width: 0; overflow: hidden; color: var(--cb2-muted); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-dashboard-avatar-choice .cb2-avatar-description {
  display: -webkit-box;
  min-height: 2.5em;
  overflow: hidden;
  color: rgba(245, 255, 232, .68);
  line-height: 1.25;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.cb2-avatar-defaults { display: grid; gap: 8px; }
.cb2-avatar-defaults > strong { color: var(--cb2-neon); font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; }
.cb2-dashboard-default-avatar-grid { grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); }
.cb2-avatar-wallet-heading { margin-top: 4px; }
.cb2-avatar-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid rgba(168, 255, 62, .18);
}
.cb2-avatar-pagination span { color: var(--cb2-muted); font-size: .78rem; font-weight: 900; }
.cb2-avatar-pagination button { min-width: 108px; border-radius: 999px; }
.cb2-avatar-page-numbers { display: flex; justify-content: center; align-items: center; gap: 5px; flex-wrap: wrap; }
.cb2-avatar-pagination .cb2-avatar-page-numbers button { min-width: 34px; padding: 7px 10px; }
.cb2-avatar-pagination .cb2-avatar-page-numbers button.active { border-color: rgba(168, 255, 62, .75); background: rgba(168, 255, 62, .19); color: var(--cb2-neon); }
.cb2-avatar-page-ellipsis { padding: 0 2px; }

@media (max-width: 560px) {
  .cb2-avatar-filter-row { grid-template-columns: 1fr; }
  .cb2-current-avatar img { width: 62px; height: 62px; flex-basis: 62px; }
}

.cb2-dashboard-stat-list { display: grid; gap: 0; }
.cb2-dashboard-stat-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(168, 255, 62, .14); color: var(--cb2-muted); }
.cb2-dashboard-stat-list > div:last-child { border-bottom: 0; }
.cb2-dashboard-stat-list span { color: #f5ffe8; font-weight: 900; }
.cb2-dashboard-stat-list strong { color: var(--cb2-neon); text-align: right; }

.cb2-dashboard-achievements { display: grid; gap: 10px; }
.cb2-dashboard-achievements article { padding: 13px; border: 1px solid rgba(168, 255, 62, .18); border-radius: 16px; background: rgba(0, 0, 0, .16); }
.cb2-dashboard-achievements article.unlocked { border-color: rgba(168, 255, 62, .48); background: rgba(168, 255, 62, .09); }
.cb2-dashboard-achievements article.locked { opacity: .62; filter: grayscale(.7); }
.cb2-dashboard-achievements h3, .cb2-dashboard-achievements p { margin: 0 0 6px; }
.cb2-dashboard-achievements strong { color: var(--cb2-neon); }

.cb2-dashboard-unlocks { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.cb2-dashboard-unlocks span { padding: 13px; border: 1px solid rgba(168, 255, 62, .18); border-radius: 15px; background: rgba(255, 255, 255, .05); color: var(--cb2-muted); }
.cb2-dashboard-unlocks strong { display: block; margin-bottom: 4px; color: var(--cb2-neon); font-size: 1.2rem; }

.cb2-achievement-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 9px; border-bottom: 1px solid rgba(168, 255, 62, .18); }
.cb2-achievement-tabs button { min-width: 120px; border: 1px solid rgba(168, 255, 62, .24); border-radius: 999px; background: rgba(255, 255, 255, .06); color: #f5ffe8; }
.cb2-achievement-tabs button.active { background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green)); color: #071107; }
.cb2-achievement-panel { display: grid; gap: 18px; }
.cb2-achievement-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cb2-achievement-summary > div { padding: 14px; border: 1px solid rgba(168, 255, 62, .22); border-radius: 16px; background: rgba(168, 255, 62, .07); text-align: center; }
.cb2-achievement-summary strong, .cb2-achievement-summary span { display: block; }
.cb2-achievement-summary strong { color: var(--cb2-neon); font-size: 1.35rem; }
.cb2-achievement-summary span { margin-top: 4px; color: var(--cb2-muted); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.cb2-achievement-group { display: grid; gap: 10px; }
.cb2-achievement-group > h3 { margin: 0; color: #ffe979; }
.cb2-achievement-group .cb2-dashboard-achievements { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.cb2-achievement-card { display: flex; flex-direction: column; gap: 8px; opacity: 1 !important; filter: none !important; }
.cb2-achievement-card.locked { background: rgba(0, 0, 0, .22); }
.cb2-achievement-heading { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 9px; align-items: center; }
.cb2-achievement-heading > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; background: rgba(255, 255, 255, .07); font-size: 1.55rem; }
.cb2-achievement-heading h4, .cb2-achievement-heading small { margin: 0; }
.cb2-achievement-heading h4 { color: #f5ffe8; }
.cb2-achievement-heading small { color: #ffe979; font-weight: 900; }
.cb2-achievement-progress { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .09); }
.cb2-achievement-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cb2-green), var(--cb2-neon)); }
.cb2-achievement-reward { margin-top: auto; color: #ffe979 !important; font-size: .78rem; }
.cb2-unlock-section { display: grid; gap: 10px; }
.cb2-unlock-section > h3, .cb2-unlock-section > p { margin: 0; }
.cb2-unlock-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 10px; }
.cb2-unlock-card, .cb2-nft-unlock-card { padding: 13px; border: 1px solid rgba(168, 255, 62, .20); border-radius: 16px; background: rgba(255, 255, 255, .05); }
.cb2-unlock-card > span { font-size: 2rem; }
.cb2-unlock-card h4, .cb2-unlock-card p, .cb2-nft-unlock-card h4, .cb2-nft-unlock-card p { margin: 6px 0; }
.cb2-unlock-card strong, .cb2-nft-unlock-card strong { color: var(--cb2-neon); }
.cb2-unlock-card.is-locked { opacity: .48; filter: grayscale(1); }
.cb2-nft-unlock-card.is-locked { opacity: 1; filter: none; }
.cb2-nft-unlock-card.is-locked > img { opacity: .42; filter: grayscale(1); }
.cb2-unlock-card.is-owned, .cb2-nft-unlock-card.is-owned { border-color: rgba(168, 255, 62, .58); box-shadow: 0 0 22px rgba(168, 255, 62, .08); }
.cb2-nft-unlock-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.cb2-nft-unlock-card img { width: 100%; aspect-ratio: 1; display: block; object-fit: contain; border-radius: 13px; background: rgba(0, 0, 0, .28); }
.cb2-nft-utility-heading { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.cb2-nft-utility-heading h2, .cb2-nft-utility-heading p { margin: 0 0 6px; }
.cb2-nft-announcement { padding: 9px 10px; border: 1px solid rgba(255, 233, 121, .42); border-radius: 11px; background: rgba(255, 233, 121, .10); color: #ffe979; font-weight: 850; }
.cb2-nft-utility-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.cb2-nft-utility-actions .cb2-btn { flex: 1 1 120px; text-align: center; }
.cb2-xaman-login-popup { max-width: 480px; }
.cb2-xaman-login-qr { width: min(260px, 80vw); aspect-ratio: 1; object-fit: contain; margin: 8px auto 16px; padding: 8px; border-radius: 16px; background: #fff; }
.cb2-upgrade-intro { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.cb2-upgrade-intro h3, .cb2-upgrade-intro p { margin: 0 0 5px; }
.cb2-upgrade-intro > strong { color: #ffe979; font-size: 1.35rem; white-space: nowrap; }
.cb2-upgrade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.cb2-upgrade-card { display: grid; gap: 12px; padding: 15px; border: 1px solid rgba(168, 255, 62, .22); border-radius: 18px; background: rgba(0, 0, 0, .18); }
.cb2-upgrade-card.is-required-target { border-color: rgba(255, 233, 121, .9); box-shadow: 0 0 0 3px rgba(255, 233, 121, .13), 0 0 28px rgba(255, 215, 93, .15); }
.cb2-upgrade-required-note { margin: -3px 0 0; color: #ffe979; font-size: .78rem; font-weight: 800; }
.cb2-upgrade-heading { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; align-items: center; }
.cb2-upgrade-heading > span { font-size: 2.1rem; }
.cb2-upgrade-heading h3, .cb2-upgrade-heading strong { margin: 0; }
.cb2-upgrade-heading strong { color: var(--cb2-neon); }
.cb2-upgrade-levels { display: grid; gap: 6px; }
.cb2-upgrade-levels > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; padding: 7px; border-radius: 11px; background: rgba(255, 255, 255, .035); opacity: .58; }
.cb2-upgrade-levels > div.is-owned { background: rgba(168, 255, 62, .09); opacity: 1; }
.cb2-upgrade-levels > div.is-next { border: 1px solid rgba(255, 215, 93, .32); opacity: 1; }
.cb2-upgrade-levels span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .09); font-weight: 950; }
.cb2-upgrade-levels p { margin: 0; font-size: .8rem; }

@media (max-width: 620px) {
  .cb2-achievement-summary { grid-template-columns: 1fr; }
  .cb2-upgrade-intro { align-items: flex-start; flex-direction: column; }
  .cb2-nft-utility-heading { align-items: flex-start; flex-direction: column; }
}
.cb2-referral-link { padding: 11px 13px; border: 1px solid rgba(168, 255, 62, .28); border-radius: 999px; background: rgba(168, 255, 62, .09); color: var(--cb2-neon); font-weight: 900; overflow-wrap: anywhere; }
.cb2-referral-copy-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.cb2-referral-copy-row .cb2-referral-link { min-width: 0; }
.cb2-dashboard-profile .cb2-referral-copy-row button { min-height: 42px; border-radius: 999px; white-space: nowrap; }
.cb2-dashboard-profile .cb2-referral-copy-row button.is-copied { border-color: rgba(255, 233, 121, .9); background: linear-gradient(135deg, #a8ff3e, #ffe979); color: #10200f; box-shadow: 0 0 0 3px rgba(168, 255, 62, .14), 0 0 22px rgba(168, 255, 62, .34); transform: translateY(-1px); }
.cb2-referral-pass-order { display: grid; gap: 13px; margin-top: 18px; padding: 18px; border: 1px solid rgba(168, 255, 62, .3); border-radius: 20px; background: radial-gradient(circle at 8% 0%, rgba(168, 255, 62, .13), transparent 35%), rgba(0, 0, 0, .22); }
.cb2-referral-pass-order p, .cb2-referral-pass-order h2 { margin: 0; }
.cb2-referral-pass-heading { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: center; }
.cb2-referral-pass-heading > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: rgba(168, 255, 62, .11); font-size: 2rem; }
.cb2-referral-pass-heading strong { color: #ffe979; font-size: 1.3rem; }
.cb2-referral-pass-samples { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cb2-referral-pass-samples > div { position: relative; overflow: hidden; border: 1px solid rgba(168, 255, 62, .2); border-radius: 15px; background: rgba(0, 0, 0, .25); }
.cb2-referral-pass-samples img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; }
.cb2-referral-pass-samples small { position: absolute; right: 7px; bottom: 7px; padding: 4px 8px; border-radius: 999px; background: rgba(0, 0, 0, .78); color: #fff; font-weight: 900; }
.cb2-referral-sample-note { padding: 11px 12px; border: 1px solid rgba(255, 233, 121, .34); border-radius: 13px; background: rgba(255, 233, 121, .08); }
.cb2-referral-pass-add { justify-self: start; min-width: 180px; }
.cb2-referral-pass-checkout { display: grid; gap: 10px; padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .045); }
.cb2-referral-pass-cart, .cb2-referral-checkout-step { display: grid; gap: 9px; padding: 13px; border: 1px solid rgba(168, 255, 62, .14); border-radius: 14px; background: rgba(0, 0, 0, .17); }
.cb2-referral-pass-cart h3, .cb2-referral-checkout-step p { margin: 0; }
.cb2-referral-cart-line { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.cb2-referral-cart-line span:first-child { display: grid; gap: 2px; }
.cb2-referral-cart-controls { display: inline-flex; gap: 8px; align-items: center; }
.cb2-referral-cart-controls button { width: 34px; min-height: 34px; padding: 0; border-radius: 50%; }
.cb2-referral-payment-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.cb2-referral-payment-tabs .active { border-color: var(--cb2-neon); background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green)); color: #071107; }
.cb2-referral-token-check { display: grid; gap: 4px; padding: 9px 10px; border-radius: 11px; background: rgba(255, 255, 255, .035); opacity: .58; }
.cb2-referral-token-check.active { border: 1px solid rgba(168, 255, 62, .45); background: rgba(168, 255, 62, .08); opacity: 1; }
.cb2-referral-token-check code { overflow-wrap: anywhere; color: #f5ffe8; }
.cb2-referral-pass-wallet { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; }
.cb2-referral-pass-wallet code { min-width: 0; padding: 11px 12px; overflow-wrap: anywhere; border: 1px solid rgba(168, 255, 62, .22); border-radius: 12px; background: rgba(0, 0, 0, .28); color: var(--cb2-neon); }
.cb2-referral-pass-wallet button.is-copied { background: linear-gradient(135deg, #a8ff3e, #ffe979); color: #10200f; }
.cb2-referral-payment-qr { display: grid; justify-items: start; gap: 7px; }
.cb2-referral-payment-qr img { width: min(180px, 60vw); aspect-ratio: 1; padding: 7px; border-radius: 13px; background: #fff; }
.cb2-dashboard-reset-card { border-color: rgba(255, 107, 107, .34); background: radial-gradient(circle at 16% 0%, rgba(255, 107, 107, .13), transparent 34%), rgba(255, 107, 107, .075); }
.cb2-progress-smoke > span { background: linear-gradient(90deg, #f6c146, #ff8a00); }
.cb2-reset-confirm-warning { margin: 14px 0 0; padding: 13px; border: 1px solid rgba(255, 107, 107, .34); border-radius: 16px; background: rgba(255, 107, 107, .075); color: rgba(245, 255, 232, .88); line-height: 1.45; }
.cb2-reset-confirm-input { width: min(100%, 260px) !important; margin-inline: auto; font-size: 1.6rem !important; font-weight: 900 !important; letter-spacing: .18em; border-color: rgba(255, 107, 107, .55) !important; }
.cb2-reset-confirm-error { min-height: 1.2em; margin: 4px 0 0; color: #ffb3b3; font-weight: 900; }

@media (max-width: 520px) {
  .cb2-collector-top-row { grid-template-columns: 1fr; }
  .cb2-collector-heading { align-items: center; }
  .cb2-collector-heading h2 { max-width: 52vw; overflow: hidden; font-size: 1.15rem; text-overflow: ellipsis; white-space: nowrap; }
  .cb2-dashboard-reset-box.cb2-dashboard-reset-compact { width: auto; grid-template-columns: 1fr; gap: 3px; padding: 6px; text-align: center; }
  .cb2-dashboard-reset-compact strong { font-size: .58rem; }
  .cb2-dashboard-reset-box.cb2-dashboard-reset-compact button { min-height: 28px; padding: 4px 10px; }
  .cb2-smoke-portrait { width: calc(100% + 10px); margin-left: -5px; }
  .cb2-smoke-portrait-readout small { display: none; }
  .cb2-dashboard-reset-box { width: 100%; box-sizing: border-box; }
  .cb2-collector-identity-row { grid-template-columns: 1fr; }
  .cb2-collector-identity-row > button { width: 100%; }
  .cb2-dashboard-card-actions { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .cb2-playbar { grid-template-columns: 1fr; }
  .cb2-quick-cluster { flex-wrap: wrap; justify-content: stretch; }
  .cb2-quick-cluster > * { flex: 1 1 0; }
  .cb2-quick-cluster > .cb2-alpha-warning-link { flex: 0 0 100%; max-width: none; }
  .cb2-desktop-highness { display: none !important; }
  .cb2-referral-copy-row { grid-template-columns: 1fr; }
  .cb2-dashboard-profile .cb2-referral-copy-row button { width: 100%; }
  .cb2-referral-pass-wallet { grid-template-columns: 1fr; }
  .cb2-referral-pass-samples { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cb2-dashboard-flip-inner { transition: none; }
  .cb2-edible-indicator:not(.cb2-edible-level-0) .cb2-edible-cookie,
  .cb2-avatar-melt.cb2-edible-level-5 .cb2-avatar-main,
  .cb2-smoke-portrait.is-max .cb2-smoke-portrait-backdrop,
  .cb2-smoke-portrait.is-toking .cb2-avatar-main,
  .cb2-smoke-portrait.is-toking .cb2-smoke-toke-burst,
  .cb2-smoke-portrait.is-toking .cb2-smoke-mascot { animation: none; }
}

.cb2-leaderboard-title { display: flex; justify-content: space-between; gap: 14px; align-items: center; flex-wrap: wrap; padding: 2px 2px 4px; }
.cb2-leaderboard-title h2, .cb2-leaderboard-title p { margin: 0 0 6px; }
.cb2-leaderboard-title > div > p:last-child { color: var(--cb2-muted); }
.cb2-leaderboards-stack { display: grid; gap: 16px; }
.cb2-leaderboard-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: flex-end;
  margin: 2px 0 14px;
  padding: 9px 9px 0;
  border-bottom: 1px solid rgba(168, 255, 62, .28);
  border-radius: 14px 14px 0 0;
  background: rgba(0, 0, 0, .12);
}
.cb2-dashboard-profile .cb2-leaderboard-tab {
  position: relative;
  min-height: 34px;
  padding: 8px 11px 9px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, rgba(168, 255, 62, .13), rgba(168, 255, 62, .045)), rgba(0, 0, 0, .3);
  color: rgba(245, 255, 232, .82);
  font: inherit;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.05;
  cursor: pointer;
  transform: translateY(1px);
}
.cb2-dashboard-profile .cb2-leaderboard-tab:hover { color: #fff; background: rgba(168, 255, 62, .18); }
.cb2-dashboard-profile .cb2-leaderboard-tab.active {
  z-index: 2;
  color: #102010;
  background: linear-gradient(180deg, var(--cb2-neon), rgba(168, 255, 62, .82));
  border-color: rgba(168, 255, 62, .72);
  box-shadow: 0 -5px 16px rgba(168, 255, 62, .1);
}
.cb2-dashboard-profile .cb2-leaderboard-tab.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  height: 3px;
  background: var(--cb2-neon);
}
.cb2-dashboard-profile .cb2-leaderboard-tab.is-weekly-tournament:not(.active) { border-color: rgba(255, 215, 93, .56); background: linear-gradient(180deg, rgba(255, 215, 93, .19), rgba(255, 141, 0, .06)), rgba(0, 0, 0, .3); color: #fff1ae; }
.cb2-dashboard-profile .cb2-leaderboard-tab.is-weekly-tournament.active { background: linear-gradient(180deg, #ffe979, #f7bc3d); border-color: #fff2a6; color: #241500; box-shadow: 0 -5px 18px rgba(255, 215, 93, .2); }
.cb2-dashboard-profile .cb2-leaderboard-tab.is-weekly-tournament.active::after { background: #ffe979; }
.cb2-dashboard-profile .cb2-leaderboard-tab.is-weekly-tournament > span { color: #ffe979; text-shadow: 0 0 8px rgba(255, 233, 121, .62); }
.cb2-dashboard-profile .cb2-leaderboard-tab.is-weekly-tournament.active > span { color: #7c4c00; text-shadow: none; }
.cb2-weekly-tournament-banner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 14px; padding: 16px; border: 1px solid rgba(255, 215, 93, .58); border-radius: 20px; background: radial-gradient(circle at 10% 5%, rgba(255, 233, 121, .19), transparent 30%), linear-gradient(135deg, rgba(62, 48, 10, .92), rgba(18, 30, 10, .96)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 12px 30px rgba(0, 0, 0, .2); }
.cb2-weekly-tournament-banner-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(255, 233, 121, .56); border-radius: 16px; background: rgba(255, 215, 93, .12); font-size: 1.8rem; filter: drop-shadow(0 0 8px rgba(255, 233, 121, .4)); }
.cb2-weekly-tournament-banner h2, .cb2-weekly-tournament-banner p, .cb2-weekly-tournament-banner small { margin: 0; }
.cb2-weekly-tournament-banner h2 { color: #fff0a2; font-size: 1.3rem; }
.cb2-weekly-tournament-banner > div:last-child { display: grid; gap: 6px; min-width: 0; }
.cb2-weekly-tournament-banner > div > p:not(.cb2-eyebrow) { color: rgba(245, 255, 232, .90); font-size: .86rem; font-weight: 750; line-height: 1.45; }
.cb2-weekly-tournament-banner strong { color: #fff1ad; }
.cb2-weekly-tournament-banner small { color: rgba(245, 255, 232, .66); font-size: .72rem; font-weight: 800; line-height: 1.35; }
.cb2-weekly-tournament-countdown { display: inline-flex; width: fit-content; margin-top: 3px; padding: 6px 9px; border: 1px solid rgba(255, 233, 121, .44); border-radius: 999px; background: rgba(255, 215, 93, .11); color: #fff2a6; font-size: .72rem; letter-spacing: .02em; }
.cb2-weekly-tournament-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 3px; }
.cb2-weekly-tournament-meta .cb2-weekly-tournament-countdown { margin-top: 0; }
.cb2-weekly-tournament-winners-btn { min-height: 31px; padding: 6px 10px; border: 1px solid rgba(255, 233, 121, .48); border-radius: 999px; background: rgba(17, 36, 14, .76); color: #fff2a6; font: 900 .72rem/1.1 inherit; letter-spacing: .015em; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.cb2-weekly-tournament-winners-btn:hover, .cb2-weekly-tournament-winners-btn:focus-visible { border-color: #fff2a6; background: rgba(255, 215, 93, .19); outline: 0; transform: translateY(-1px); }
.cb2-leaderboard-period-grid > section.is-weekly-tournament-period { border-color: rgba(255, 215, 93, .58); background: radial-gradient(circle at 50% 0%, rgba(255, 215, 93, .12), transparent 48%), rgba(0, 0, 0, .16); }
.cb2-weekly-tournament-qualification { display: grid; gap: 4px; margin: 0 0 11px; padding: 9px; border: 1px solid rgba(255, 215, 93, .36); border-radius: 12px; background: rgba(255, 215, 93, .08); color: rgba(255, 248, 220, .88); font-size: .72rem; font-weight: 800; line-height: 1.35; }
.cb2-weekly-tournament-qualification strong { color: #fff0a2; font-size: .74rem; }
.cb2-leaderboard { align-content: start; gap: 14px; }
.cb2-leaderboard-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.cb2-leaderboard-head > div { min-width: 0; }
.cb2-leaderboard-head h2 { max-width: 100%; margin: 0; overflow: hidden; color: var(--cb2-neon); font-size: 1.1rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-leaderboard-head p { margin: 6px 0 0; color: var(--cb2-muted); font-size: .88rem; line-height: 1.4; }
.cb2-leaderboard-head > span { display: inline-flex; padding: 6px 10px; border: 1px solid rgba(168, 255, 62, .26); border-radius: 999px; background: rgba(168, 255, 62, .08); color: var(--cb2-neon); font-size: .78rem; font-weight: 900; white-space: nowrap; }
.cb2-leaderboard-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.cb2-leaderboard-period-grid > section { min-width: 0; min-height: 156px; padding: 12px; border: 1px solid rgba(168, 255, 62, .16); border-radius: 18px; background: rgba(0, 0, 0, .16); }
.cb2-leaderboard-period-grid > section:last-child { grid-column: 1 / -1; }
.cb2-leaderboard-period-grid h3 { margin: 0 0 10px; color: #f5ffe8; font-size: .9rem; letter-spacing: .02em; text-transform: uppercase; }
.cb2-leaderboard-period-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.cb2-leaderboard-period-heading h3 { margin: 0; }
.cb2-leaderboard-see-all { flex: 0 0 auto; padding: 5px 9px; border: 1px solid rgba(98, 214, 255, .52); border-radius: 999px; background: rgba(98, 214, 255, .12); color: #b6edff; font: inherit; font-size: .68rem; font-weight: 900; cursor: pointer; }
.cb2-leaderboard-see-all:hover, .cb2-leaderboard-see-all:focus-visible { border-color: #b6edff; background: rgba(98, 214, 255, .26); color: #fff; }
.cb2-leaderboard-see-all:disabled { cursor: wait; opacity: .65; }
.cb2-leaderboard-flip-card { position: relative; min-width: 0; perspective: 1400px; cursor: pointer; }
.cb2-leaderboard-flip-inner { position: relative; display: grid; min-width: 0; transform-style: preserve-3d; transition: transform .62s cubic-bezier(.2, .72, .2, 1); }
.cb2-leaderboard-flip-card.is-flipped .cb2-leaderboard-flip-inner { transform: rotateY(180deg); }
.cb2-leaderboard-flip-face { grid-area: 1 / 1; min-width: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cb2-leaderboard-flip-front { align-content: start; }
.cb2-leaderboard-flip-back { align-content: start; transform: rotateY(180deg); overflow-x: hidden; overflow-y: auto; border-color: rgba(255, 233, 121, .38); background: radial-gradient(circle at 50% 15%, rgba(255, 215, 93, .18), transparent 35%), linear-gradient(155deg, rgba(10, 24, 12, .99), rgba(3, 8, 5, .99)); }
.cb2-leaderboard-flip-hint { display: block; margin-top: auto; padding-top: 9px; color: var(--cb2-neon); font-size: .7rem; font-weight: 950; letter-spacing: .04em; text-align: center; text-transform: uppercase; }
.cb2-leaderboard-champion { display: grid; justify-items: center; gap: 14px; width: 100%; margin: auto; padding: clamp(10px, 2vw, 20px); box-sizing: border-box; text-align: center; }
.cb2-leaderboard-podium-entry { display: grid; justify-items: center; align-content: start; gap: 12px; min-width: 0; box-sizing: border-box; padding: clamp(10px, 2vw, 20px); border: 1px solid rgba(255, 233, 121, .25); border-radius: 22px; background: rgba(255, 255, 255, .045); }
.cb2-leaderboard-podium-entry.is-gold { width: min(100%, 720px); border-color: rgba(255, 233, 121, .5); background: radial-gradient(circle at 50% 10%, rgba(255, 215, 93, .16), transparent 38%), rgba(255, 255, 255, .04); box-shadow: 0 18px 42px rgba(0, 0, 0, .3), 0 0 28px rgba(255, 215, 93, .1); }
.cb2-leaderboard-supporting-winners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: min(100%, 720px); align-items: stretch; }
.cb2-leaderboard-podium-entry.is-silver { border-color: rgba(214, 226, 238, .5); background: radial-gradient(circle at 50% 8%, rgba(214, 226, 238, .14), transparent 38%), rgba(255, 255, 255, .04); }
.cb2-leaderboard-podium-entry.is-bronze { border-color: rgba(205, 127, 50, .52); background: radial-gradient(circle at 50% 8%, rgba(205, 127, 50, .15), transparent 38%), rgba(255, 255, 255, .04); }
.cb2-leaderboard-podium-entry.is-empty { place-content: center; min-height: 260px; color: var(--cb2-muted); }
.cb2-leaderboard-champion-title { display: flex; align-items: center; justify-content: center; gap: 10px; }
.cb2-leaderboard-champion-title > span { font-size: clamp(2rem, 5vw, 3.5rem); filter: drop-shadow(0 0 12px rgba(255, 215, 93, .42)); }
.cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-trophy { filter: grayscale(1) brightness(1.65) drop-shadow(0 0 10px rgba(214, 226, 238, .38)); }
.cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-trophy { filter: sepia(.85) saturate(1.8) hue-rotate(338deg) brightness(.82) drop-shadow(0 0 10px rgba(205, 127, 50, .38)); }
.cb2-leaderboard-champion-title h2, .cb2-leaderboard-champion-title p { margin: 0; }
.cb2-leaderboard-champion-title h2 { color: #ffe979; font-size: clamp(1.45rem, 3vw, 2.2rem); }
.cb2-dashboard-profile .cb2-leaderboard-champion-avatar { position: relative; width: min(68vw, 330px); max-width: 70%; aspect-ratio: 1; min-height: 0; padding: 5px; overflow: visible; border: 4px solid #ffe979; border-radius: 24px; background: rgba(0, 0, 0, .34); box-shadow: 0 0 0 5px rgba(168, 255, 62, .12), 0 20px 48px rgba(0, 0, 0, .44), 0 0 34px rgba(255, 215, 93, .2); cursor: zoom-in; }
.cb2-dashboard-profile .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar,
.cb2-dashboard-profile .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar { width: min(30vw, 160px); max-width: 76%; border-width: 3px; border-radius: 18px; }
.cb2-dashboard-profile .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar { border-color: #d6e2ee; box-shadow: 0 0 0 4px rgba(214, 226, 238, .1), 0 13px 28px rgba(0, 0, 0, .36); }
.cb2-dashboard-profile .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar { border-color: #cd7f32; box-shadow: 0 0 0 4px rgba(205, 127, 50, .1), 0 13px 28px rgba(0, 0, 0, .36); }
.cb2-leaderboard-champion-avatar img { display: block; width: 100%; height: 100%; border-radius: 16px; object-fit: contain; }
.cb2-leaderboard-champion-copy { margin: 0; color: #f5ffe8; font-size: clamp(.95rem, 2vw, 1.15rem); line-height: 1.5; }
.cb2-leaderboard-champion-copy strong { color: #ffe979; }
.cb2-leaderboard-champion-stats { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.cb2-leaderboard-champion-stats > div { min-width: 0; padding: 11px; border: 1px solid rgba(255, 233, 121, .22); border-radius: 14px; background: rgba(255, 255, 255, .055); }
.cb2-leaderboard-champion-stats span, .cb2-leaderboard-champion-stats strong { display: block; }
.cb2-leaderboard-champion-stats span { color: var(--cb2-muted); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.cb2-leaderboard-champion-stats strong { margin-top: 5px; overflow: hidden; color: #ffe979; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-leaderboard-champion-nft { width: fit-content; }
.cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader { position: absolute; right: calc(100% - 125px); bottom: -14px; z-index: 2; display: block; width: 100%; height: 100%; border-radius: 0; pointer-events: none; filter: drop-shadow(0 8px 8px rgba(0, 0, 0, .36)); }
.cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader img { display: block; width: 100%; height: 100%; border-radius: 0; object-fit: contain; }
.cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader.is-nft-cheerleader { pointer-events: auto; cursor: pointer; }
.cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader,
.cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader { right: calc(100% - 45px); }
.cb2-leaderboard-product-details { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cb2-leaderboard-product-details > div { min-width: 0; padding: 9px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 12px; background: rgba(0, 0, 0, .2); }
.cb2-leaderboard-product-details span, .cb2-leaderboard-product-details strong { display: block; }
.cb2-leaderboard-product-details span { color: var(--cb2-muted); font-size: .64rem; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.cb2-leaderboard-product-details strong { margin-top: 4px; overflow: hidden; color: #f5ffe8; font-size: .78rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-product-details,
.cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-product-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-title h2,
.cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-title h2 { font-size: clamp(1rem, 2vw, 1.35rem); }
.cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-copy,
.cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-copy { font-size: .86rem; }
.cb2-weekly-winners-popup { width: min(960px, calc(100vw - 26px)); max-height: min(90vh, 940px); overflow: auto; border-color: rgba(255, 215, 93, .58); background: radial-gradient(circle at 50% 0%, rgba(255, 215, 93, .16), transparent 36%), linear-gradient(155deg, rgba(14, 29, 15, .99), rgba(3, 9, 5, .99)); }
.cb2-weekly-winners-popup-heading { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.cb2-weekly-winners-popup-heading h2, .cb2-weekly-winners-popup-heading p { margin: 0; }
.cb2-weekly-winners-popup-heading h2 { color: #ffe979; font-size: clamp(1.35rem, 3vw, 2rem); }
.cb2-weekly-winners-popup-heading > div { display: grid; gap: 4px; }
.cb2-weekly-winners-popup-heading > div > p:last-child { color: var(--cb2-muted); font-size: .82rem; font-weight: 750; }
.cb2-weekly-winners-podium { display: grid; justify-items: center; gap: 14px; }
.cb2-weekly-winners-podium > .cb2-leaderboard-podium-entry.is-gold { width: min(100%, 720px); }
.cb2-weekly-winners-podium .cb2-leaderboard-supporting-winners { width: min(100%, 720px); }
.cb2-weekly-winners-popup .cb2-leaderboard-champion-avatar { position: relative; width: min(58vw, 275px); max-width: 76%; aspect-ratio: 1; padding: 5px; overflow: visible; border: 4px solid #ffe979; border-radius: 24px; background: rgba(0, 0, 0, .34); box-shadow: 0 0 0 5px rgba(168, 255, 62, .12), 0 20px 48px rgba(0, 0, 0, .44), 0 0 34px rgba(255, 215, 93, .2); cursor: zoom-in; }
.cb2-weekly-winners-popup .cb2-leaderboard-champion-avatar > img { display: block; width: 100%; height: 100%; border-radius: 16px; object-fit: contain; }
.cb2-weekly-winners-popup .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar,
.cb2-weekly-winners-popup .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar { width: min(27vw, 150px); max-width: 76%; border-width: 3px; border-radius: 18px; }
.cb2-weekly-winners-popup .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar { border-color: #d6e2ee; box-shadow: 0 0 0 4px rgba(214, 226, 238, .1), 0 13px 28px rgba(0, 0, 0, .36); }
.cb2-weekly-winners-popup .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar { border-color: #cd7f32; box-shadow: 0 0 0 4px rgba(205, 127, 50, .1), 0 13px 28px rgba(0, 0, 0, .36); }
.cb2-leaderboard-champion-empty { display: grid; place-items: center; align-content: center; gap: 10px; min-height: 360px; color: var(--cb2-muted); text-align: center; }
.cb2-leaderboard-champion-empty span { font-size: 4rem; }
.cb2-leaderboard-champion-empty h2 { margin: 0; color: #ffe979; }
.cb2-leaderboard-champion-empty p { max-width: 420px; margin: 0; line-height: 1.5; }
@media (max-width: 620px) {
  .cb2-leaderboard-champion-stats { grid-template-columns: 1fr; }
  .cb2-dashboard-profile .cb2-leaderboard-champion-avatar { max-width: 86%; }
  .cb2-leaderboard-product-details { grid-template-columns: 1fr; }
  .cb2-leaderboard-supporting-winners { gap: 7px; }
  .cb2-leaderboard-podium-entry { gap: 7px; padding: 8px 6px; border-radius: 15px; }
  .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-product-details,
  .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-product-details { grid-template-columns: 1fr; }
  .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-title,
  .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-title { display: grid; gap: 2px; }
  .cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader { width: 100%; height: 100%; right: calc(100% - 65px); bottom: -8px; }
  .cb2-leaderboard-podium-entry.is-silver .cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader,
  .cb2-leaderboard-podium-entry.is-bronze .cb2-leaderboard-champion-avatar .cb2-leaderboard-champion-cheerleader { right: calc(100% - 60px); }
}
@media (prefers-reduced-motion: reduce) {
  .cb2-leaderboard-flip-inner { transition: none; }
}
.cb2-leaderboard-entry { display: grid; grid-template-columns: minmax(140px, 1fr) auto; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(168, 255, 62, .14); color: var(--cb2-muted); }
.cb2-leaderboard-entry:last-child { border-bottom: 0; }
.cb2-leaderboard-entry span { min-width: 0; color: #f5ffe8; font-weight: 800; overflow-wrap: break-word; word-break: normal; writing-mode: horizontal-tb; }
.cb2-leaderboard-entry strong { color: var(--cb2-neon); text-align: right; white-space: nowrap; writing-mode: horizontal-tb; }
.cb2-leaderboard-entry.is-popular-new-strain { grid-template-columns: minmax(0, 1fr) minmax(120px, 42%); }
.cb2-leaderboard-score--popular-new-strain {
  display: flex;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
}
.cb2-leaderboard-score--popular-new-strain .cb2-leaderboard-score-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cb2-leaderboard-score--popular-new-strain .cb2-leaderboard-score-amount { flex: 0 0 auto; }
.cb2-leaderboard-player { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 9px; align-items: center; min-width: 0; }
.cb2-leaderboard-player-copy { min-width: 0; }
.cb2-leaderboard-player-copy span, .cb2-leaderboard-player-copy small { display: block; min-width: 0; }
.cb2-leaderboard-player-copy small { width: min(100%, 30ch); max-width: 100%; margin-top: 3px; overflow: hidden; color: #ffe979; font-size: .7rem; font-weight: 850; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.cb2-dashboard-profile .cb2-leaderboard-avatar-button { width: 42px; height: 42px; min-height: 42px; padding: 2px; overflow: hidden; border: 2px solid rgba(168, 255, 62, .42); border-radius: 50%; background: rgba(0, 0, 0, .28); box-shadow: 0 5px 14px rgba(0, 0, 0, .28); cursor: zoom-in; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.cb2-dashboard-profile .cb2-leaderboard-avatar-button:hover { border-color: #ffe979; box-shadow: 0 0 0 3px rgba(255, 233, 121, .12), 0 7px 18px rgba(0, 0, 0, .3); transform: scale(1.07); }
.cb2-leaderboard-avatar-button img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.cb2-leaderboard-empty { padding: 14px; border: 1px dashed rgba(168, 255, 62, .25); border-radius: 14px; background: rgba(168, 255, 62, .05); color: var(--cb2-muted); line-height: 1.45; text-align: center; font-size: .9rem; }
.cb2-leaderboard-avatar-popup { width: min(820px, calc(100vw - 28px)); }
.cb2-leaderboard-avatar-popup-stage { display: flex; align-items: end; justify-content: center; gap: 0; width: min(100%, 760px); margin: 12px auto 16px; }
.cb2-leaderboard-avatar-large { display: block; width: min(50%, 380px); max-height: min(58vh, 520px); aspect-ratio: 1; margin: 0; border: 2px solid rgba(168, 255, 62, .42); border-radius: 22px; background: rgba(0, 0, 0, .3); box-shadow: 0 18px 45px rgba(0, 0, 0, .34); object-fit: contain; }
.cb2-leaderboard-popup-cheerleader { position: relative; z-index: 1; display: block; width: min(50%, 380px); height: auto; max-height: min(58vh, 520px); transform: translateX(125px); object-fit: contain; filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .34)); }
@media (max-width: 620px) {
  .cb2-leaderboard-popup-cheerleader { transform: translateX(65px); }
}
.cb2-leaderboard-avatar-popup .cb2-leaderboard-bithomp { display: inline-flex; width: fit-content; margin: 0 auto 10px; }
.cb2-leaderboard-all-popup { width: min(96vw, 780px); text-align: left; }
.cb2-leaderboard-all-popup-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.cb2-leaderboard-all-popup-heading h2, .cb2-leaderboard-all-popup-heading p { margin: 0; }
.cb2-leaderboard-all-popup-heading h2 { color: var(--cb2-neon); }
.cb2-leaderboard-all-popup-heading p:last-child { margin-top: 5px; color: var(--cb2-muted); font-weight: 800; }
.cb2-leaderboard-all-list { max-height: min(65vh, 680px); padding: 0 12px; overflow-y: auto; border: 1px solid rgba(168, 255, 62, .2); border-radius: 16px; background: rgba(0, 0, 0, .2); }
.cb2-leaderboard-all-popup .cb2-leaderboard-avatar-button { width: 42px; height: 42px; min-height: 42px; padding: 2px; overflow: hidden; border: 2px solid rgba(168, 255, 62, .42); border-radius: 50%; background: rgba(0, 0, 0, .28); box-shadow: 0 5px 14px rgba(0, 0, 0, .28); cursor: zoom-in; }
.cb2-leaderboard-all-popup .cb2-leaderboard-avatar-button img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 760px) {
  .cb2-leaderboard-period-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .cb2-leaderboard-entry { grid-template-columns: 1fr; gap: 4px; }
  .cb2-leaderboard-entry strong { text-align: left; }
  .cb2-leaderboard-entry.is-popular-new-strain { grid-template-columns: 1fr; }
  .cb2-leaderboard-score--popular-new-strain { justify-content: flex-start; }
  .cb2-leaderboard-all-popup-heading { gap: 8px; }
  .cb2-leaderboard-all-popup-heading .game-popup-secondary-btn { padding-inline: 10px; }
}

.cb2-page-rooms > .cb2-grid {
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 18px;
}

.cb2-legacy-room-card,
.cb2-shop-card {
  overflow: hidden;
  padding: 0;
  border-radius: 26px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.cb2-room-media {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: rgba(0, 0, 0, .28);
}

.cb2-room-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.cb2-room-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(0, 0, 0, .62);
  color: #dfffad;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.cb2-room-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
}

.cb2-room-body h2,
.cb2-room-body p {
  margin: 0;
}

.cb2-room-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.cb2-room-tags span {
  padding: 5px 9px;
  border: 1px solid rgba(98, 214, 255, .26);
  border-radius: 999px;
  background: rgba(98, 214, 255, .09);
  color: #dff8ff;
  font-size: .72rem;
  font-weight: 900;
}

.cb2-shop-board {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.cb2-shop-balance { grid-column: 1 / -1; display: inline-flex; justify-self: end; gap: 9px; align-items: center; min-height: 42px; padding: 8px 14px; border: 1px solid rgba(255, 215, 93, .42); border-radius: 999px; background: linear-gradient(135deg, rgba(255, 215, 93, .12), rgba(168, 255, 62, .09)); box-shadow: 0 8px 22px rgba(0, 0, 0, .22); }
.cb2-shop-balance span { color: rgba(245, 255, 232, .72); font-size: .76rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.cb2-shop-balance strong { color: #ffe979; font-size: 1.05rem; white-space: nowrap; }

@media (max-width: 520px) {
  .cb2-shop-balance { width: 100%; box-sizing: border-box; justify-content: center; justify-self: stretch; }
}

.cb2-shop-card {
  min-height: 100%;
  position: relative;
  perspective: 1200px;
  cursor: default;
}

.cb2-easter-inner {
  position: relative;
  min-height: 100%;
  transform-style: preserve-3d;
  transition: transform .56s cubic-bezier(.2, .72, .2, 1);
}

.cb2-shop-card.is-easter-flipped .cb2-easter-inner {
  transform: rotateY(180deg);
}

.cb2-easter-front {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  backface-visibility: hidden;
}

.cb2-easter-back {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 24px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 24% 18%, rgba(168, 255, 62, .20), transparent 34%),
    radial-gradient(circle at 78% 88%, rgba(98, 214, 255, .16), transparent 36%),
    linear-gradient(155deg, rgba(5, 14, 7, .99), rgba(11, 32, 13, .98));
  color: #dfffad;
  text-align: center;
  transform: rotateY(180deg);
  backface-visibility: hidden;
}

.cb2-easter-back span {
  font-size: 3rem;
}

.cb2-easter-back .cb2-easter-joke-art {
  display: inline-flex;
  min-width: 116px;
  min-height: 88px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 24px;
  background: rgba(0, 0, 0, .28);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .08);
  font-size: clamp(3.4rem, 8vw, 5rem);
  line-height: 1;
  letter-spacing: -.14em;
  text-indent: -.14em;
}

.cb2-easter-back strong {
  font-size: 1.2rem;
  line-height: 1.3;
}

.cb2-department-shop { grid-template-columns: 1fr; gap: 14px; }
.cb2-shop-sign-card { min-height: clamp(92px, 12vw, 190px); perspective: 1100px; }
.cb2-shop-sign-inner { position: relative; display: grid; width: 100%; min-height: clamp(92px, 12vw, 190px); transform-style: preserve-3d; transition: transform .52s cubic-bezier(.2, .72, .2, 1); }
.cb2-shop-sign-card.is-flipped .cb2-shop-sign-inner { transform: rotateX(180deg); }
.cb2-shop-sign-face { position: relative; grid-area: 1 / 1; min-height: clamp(92px, 12vw, 190px); overflow: hidden; border: 1px solid rgba(255, 215, 93, .36); border-radius: 22px; background: #392713; box-shadow: 0 16px 38px rgba(0, 0, 0, .3); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cb2-shop-main-banner { width: 100%; height: 100%; display: block; object-fit: cover; }
.cb2-shop-sign-back { display: grid; place-items: center; padding: 12px; box-sizing: border-box; color: #fff; text-align: center; transform: rotateX(180deg); }
.cb2-shop-sign-back > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(.28) saturate(.7); }
.cb2-shop-sign-back > div { position: relative; z-index: 2; display: grid; gap: 5px; max-width: 720px; padding: 10px 16px; border: 1px solid rgba(255, 233, 121, .34); border-radius: 14px; background: rgba(0, 0, 0, .58); }
.cb2-shop-sign-back strong { color: #ffe979; font-size: clamp(1rem, 2vw, 1.35rem); }
.cb2-shop-sign-back span { font-weight: 800; }
.cb2-shop-sign-back small { color: var(--cb2-neon); font-weight: 900; }
.cb2-shop-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; align-items: stretch; }
.cb2-shop-category-card { min-width: 0; min-height: 280px; cursor: pointer; perspective: 1100px; }
.cb2-shop-category-inner { position: relative; display: grid; width: 100%; height: 100%; min-height: 280px; transform-style: preserve-3d; transition: transform .52s cubic-bezier(.2, .72, .2, 1); }
.cb2-shop-category-card.is-flipped .cb2-shop-category-inner { transform: rotateY(180deg); }
.cb2-shop-category-face { position: relative; grid-area: 1 / 1; min-width: 0; min-height: 280px; display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; padding: 9px; overflow: hidden; border: 1px solid rgba(255, 215, 93, .3); border-radius: 18px; background: #271a0e; box-shadow: 0 13px 30px rgba(0, 0, 0, .3); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cb2-shop-category-face > img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; pointer-events: none; }
.cb2-shop-category-face::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(to bottom, transparent 36%, rgba(16, 8, 3, .22) 58%, rgba(10, 5, 2, .96) 100%); pointer-events: none; }
.cb2-shop-category-face > h3,
.cb2-shop-category-back > div { position: relative; z-index: 2; }
.cb2-shop-category-face h3 { margin: 0; padding: 7px 8px; border: 1px solid rgba(255, 233, 121, .34); border-radius: 11px; background: rgba(20, 10, 4, .78); color: #fff0ad; font-size: .82rem; line-height: 1.15; text-align: center; text-shadow: 0 2px 4px #000; }
.cb2-shop-category-back { align-items: stretch; justify-content: center; transform: rotateY(180deg); color: #fff; text-align: center; }
.cb2-shop-category-back::after { background: rgba(10, 5, 2, .78); backdrop-filter: blur(1.5px); }
.cb2-shop-category-back > div { display: grid; gap: 8px; padding: 10px; border-radius: 14px; background: rgba(0, 0, 0, .55); }
.cb2-shop-category-back h3, .cb2-shop-category-back p { margin: 0; }
.cb2-shop-category-back strong { color: #ffe979; font-size: .74rem; text-transform: uppercase; }
.cb2-shop-category-card.is-active .cb2-shop-category-face { border-color: #ffe979; box-shadow: 0 0 0 3px rgba(255, 233, 121, .13), 0 15px 34px rgba(0, 0, 0, .34); }

.cb2-active-shop-panel { position: relative; min-height: 360px; display: grid; gap: 16px; padding: clamp(15px, 2vw, 24px); overflow: hidden; border: 1px solid rgba(255, 215, 93, .38); border-radius: 24px; background: #211309; isolation: isolate; }
.cb2-active-shop-panel::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(135deg, rgba(12, 6, 2, .78), rgba(4, 12, 6, .92)); pointer-events: none; }
.cb2-shop-section-bg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(.88) contrast(1.05); }
.cb2-active-shop-panel > :not(.cb2-shop-section-bg) { position: relative; z-index: 2; }
.cb2-active-shop-heading { display: flex; justify-content: space-between; gap: 16px; align-items: end; padding: 13px; border: 1px solid rgba(255, 233, 121, .2); border-radius: 17px; background: rgba(0, 0, 0, .52); }
.cb2-active-shop-heading h2, .cb2-active-shop-heading p { margin: 0 0 5px; }
.cb2-active-shop-heading h2 { color: #ffe979; }
.cb2-shop-property-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(275px, 1fr)); gap: 16px; }
.cb2-shop-property-grid .cb2-shop-card { background: rgba(5, 14, 7, .96); }
.cb2-shop-product-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.cb2-shop-product { min-width: 0; min-height: 330px; perspective: 1100px; }
.cb2-shop-product-inner { position: relative; display: grid; width: 100%; height: 100%; min-height: 330px; transform-style: preserve-3d; transition: transform .52s cubic-bezier(.2, .72, .2, 1); }
.cb2-shop-product.is-flipped .cb2-shop-product-inner { transform: rotateY(180deg); }
.cb2-shop-product-face { grid-area: 1 / 1; min-width: 0; min-height: 330px; display: flex; flex-direction: column; gap: 9px; box-sizing: border-box; padding: 9px; overflow: hidden; border: 1px solid rgba(255, 233, 121, .28); border-radius: 16px; background: rgba(5, 13, 6, .96); box-shadow: 0 12px 26px rgba(0, 0, 0, .3); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.cb2-shop-product-front > img { width: 100%; aspect-ratio: 1; display: block; object-fit: cover; border-radius: 11px; background: rgba(0, 0, 0, .3); }
.cb2-shop-product h3, .cb2-shop-product p { margin: 0 0 4px; }
.cb2-shop-product h3 { font-size: .88rem; line-height: 1.15; }
.cb2-shop-product p { color: var(--cb2-muted); font-size: .74rem; line-height: 1.3; }
.cb2-shop-product strong { color: #ffe979; font-size: 1rem; }
.cb2-shop-product button { width: 100%; min-height: 38px; margin-top: auto; border-radius: 999px; }
.cb2-shop-product-back { align-items: stretch; justify-content: flex-start; padding: 11px; overflow-y: auto; color: #fff; text-align: left; transform: rotateY(180deg); }
.cb2-shop-product-back > img { width: 100%; max-height: 78px; display: block; object-fit: cover; border: 1px solid rgba(255, 233, 121, .34); border-radius: 11px; }
.cb2-shop-product-back h3 { color: #ffe979; }
.cb2-shop-product-back p { padding: 7px; border-radius: 10px; background: rgba(255, 255, 255, .06); color: #fff; font-size: .7rem; font-weight: 800; }
.cb2-shop-product-back .cb2-shop-product-detail { color: #ffe979; font-weight: 950; }
.cb2-shop-product-back small { color: var(--cb2-neon); font-weight: 900; }
.cb2-shop-confirm-popup { width: min(520px, calc(100vw - 28px)); }
.cb2-shop-confirm-sign { width: 100%; max-height: 110px; display: block; object-fit: cover; border: 1px solid rgba(255, 233, 121, .34); border-radius: 15px; }
.cb2-shop-coming-soon { min-height: 250px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 28px; border: 1px dashed rgba(255, 233, 121, .42); border-radius: 20px; background: rgba(0, 0, 0, .52); text-align: center; }
.cb2-shop-coming-soon span { font-size: 3rem; }
.cb2-shop-coming-soon h2, .cb2-shop-coming-soon p { margin: 0; }

@media (max-width: 1100px) {
  .cb2-shop-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cb2-shop-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .cb2-shop-sign-card, .cb2-shop-sign-inner, .cb2-shop-sign-face { min-height: 82px; }
  .cb2-shop-sign-face { border-radius: 16px; }
  .cb2-shop-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cb2-shop-category-card, .cb2-shop-category-inner, .cb2-shop-category-face { min-height: 235px; }
  .cb2-active-shop-heading { align-items: stretch; flex-direction: column; }
  .cb2-active-shop-panel { scroll-margin-top: calc(var(--cb2-sticky-playbar-top, 87px) + 14px); }
  .cb2-active-shop-heading .cb2-shop-balance { width: 100%; box-sizing: border-box; justify-content: center; }
  .cb2-shop-property-grid { grid-template-columns: 1fr; }
  .cb2-shop-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cb2-shop-product, .cb2-shop-product-inner, .cb2-shop-product-face { min-height: 300px; }
}

@media (max-width: 430px) {
  .cb2-shop-product-grid { grid-template-columns: 1fr; }
}

.cb2-menu-hero {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 30px);
  align-items: center;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 24px;
  background: rgba(5, 14, 7, .74);
  padding: clamp(12px, 2vw, 20px);
}

.cb2-menu-hero img {
  width: 100%;
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 20px;
}

.cb2-menu-hero h2 {
  margin: 0;
  color: #dfffad;
  font-size: clamp(1.8rem, 4vw, 3.5rem);
}

.cb2-menu-hero p:last-child {
  color: var(--cb2-muted);
  font-weight: 800;
  line-height: 1.5;
}

.cb2-legacy-menu-panel,
.cb2-bank-grid {
  margin-top: 16px;
}

.cb2-visual-item {
  grid-template-columns: 72px minmax(0, 1fr) auto;
}

.cb2-item-visual {
  width: 72px;
  aspect-ratio: 1;
  overflow: hidden;
  display: block;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 16px;
  background: rgba(0, 0, 0, .28);
}

.cb2-item-visual img,
.cb2-legacy-plant-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.cb2-legacy-plant-media {
  overflow: hidden;
  background: radial-gradient(circle at 50% 30%, rgba(168, 255, 62, .18), transparent 45%), rgba(0, 0, 0, .28);
}

.cb2-process {
  border-radius: 24px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .07);
}

.cb2-process-media {
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 35%, rgba(168, 255, 62, .20), transparent 34%),
    linear-gradient(145deg, rgba(98, 214, 255, .09), rgba(0, 0, 0, .32));
  font-size: clamp(3rem, 8vw, 6rem);
}

@media (max-width: 980px) {
  .cb2-dashboard-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .cb2-wrap {
    width: calc(100% - 16px);
  }

  .cb2-playbar {
    gap: 8px;
    padding: 8px;
    border-radius: 17px;
  }

  .cb2-mobile-game-menu-toggle {
    width: 100%;
    min-height: 48px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    padding: 9px 12px;
    border: 1px solid rgba(168, 255, 62, .38);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(168, 255, 62, .16), rgba(8, 24, 11, .97));
    color: #f5ffe8;
    font: inherit;
    text-align: left;
  }

  .cb2-mobile-playbar-header {
    display: grid !important;
    grid-template-areas:
      "highness toke"
      "page page";
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    align-items: stretch;
  }

  .cb2-mobile-playbar-header .cb2-mobile-game-menu-toggle {
    display: grid;
    min-width: 0;
  }

  .cb2-mobile-game-menu-start {
    grid-template-columns: 1fr;
    place-items: center;
    text-align: center;
  }

  .cb2-mobile-game-menu-page {
    grid-area: page;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .cb2-mobile-highness {
    grid-area: highness;
  }

  .cb2-mobile-quick-toke {
    grid-area: toke;
  }

  .cb2-mobile-quick-toke,
  .cb2-mobile-highness {
    box-sizing: border-box;
    display: inline-flex;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100%;
    min-height: 48px;
    padding-inline: 7px;
    justify-content: center;
    gap: 5px;
    font-size: .7rem;
    overflow: hidden;
    white-space: nowrap;
  }

  .cb2-mobile-quick-toke strong,
  .cb2-mobile-highness strong {
    padding: 2px 5px;
    font-size: .72rem;
  }

  .cb2-mobile-game-menu-toggle > span { color: var(--cb2-neon); font-size: .74rem; font-weight: 1000; text-transform: uppercase; letter-spacing: .05em; }
  .cb2-mobile-game-menu-toggle > strong { min-width: 0; overflow: hidden; font-size: .92rem; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
  .cb2-mobile-game-menu-toggle > i { color: var(--cb2-neon); font-size: 1.3rem; font-style: normal; transition: transform .18s ease; }
  .cb2-playbar.is-mobile-open .cb2-mobile-game-menu-toggle > i { transform: rotate(180deg); }

  .cb2-playbar:not(.is-mobile-open) > .cb2-tabs,
  .cb2-playbar:not(.is-mobile-open) > .cb2-quick-cluster { display: none; }

  .cb2-playbar.is-mobile-open > .cb2-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    padding-top: 2px;
  }

  .cb2-playbar.is-mobile-open > .cb2-tabs .cb2-tab {
    width: 100%;
    min-height: 43px;
    box-sizing: border-box;
    padding: 8px 7px;
    font-size: .76rem;
    text-align: center;
  }

  .cb2-playbar.is-mobile-open > .cb2-quick-cluster { display: flex; }

  .cb2-dashboard-game-grid,
  .cb2-dashboard-top-row,
  .cb2-page-rooms > .cb2-grid,
  .cb2-menu-hero {
    grid-template-columns: 1fr;
  }

  .cb2-dashboard-wide {
    grid-column: auto;
  }

  .cb2-page-dashboard .cb2-dashboard-shell {
    display: flex;
    flex-direction: column;
  }

  .cb2-page-dashboard .cb2-mobile-dashboard-access {
    order: -3;
    width: 100%;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 9px 11px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(168, 255, 62, .48);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(168, 255, 62, .15), rgba(6, 18, 8, .96));
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .08);
  }

  .cb2-page-dashboard .cb2-mobile-dashboard-access > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(168, 255, 62, .12);
    font-size: 1.35rem;
  }

  .cb2-page-dashboard .cb2-mobile-dashboard-access > div { min-width: 0; display: grid; gap: 3px; }
  .cb2-page-dashboard .cb2-mobile-dashboard-access strong { color: #f5ffe8; font-size: .94rem; }
  .cb2-page-dashboard .cb2-mobile-dashboard-access small { color: var(--cb2-muted); font-size: .72rem; line-height: 1.35; }
  .cb2-page-dashboard .cb2-mobile-dashboard-access button { grid-column: 1 / -1; width: 100%; min-height: 44px; border-radius: 999px; }

  .cb2-page-dashboard .cb2-dashboard-profile {
    order: -2;
    width: 100%;
    box-sizing: border-box;
    padding: 11px;
  }

  .cb2-page-dashboard .cb2-dashboard-left { order: -1; width: 100%; }

  .cb2-page-dashboard .cb2-dashboard-profile .cb2-profile-tabs {
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0 0 14px;
    padding: 4px 5px 1px;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 12px 12px 0 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(168, 255, 62, .72) rgba(255, 255, 255, .06);
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .cb2-page-dashboard .cb2-dashboard-profile .cb2-profile-tab {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 9px 13px 10px;
    font-size: .8rem;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  .cb2-page-dashboard .cb2-dashboard-profile .cb2-dashboard-signin-callout { display: none; }

  .cb2-dashboard-reward-card.cb2-dashboard-wide { grid-column: auto; }
  .cb2-reward-card-heading,
  .cb2-reward-card-footer { align-items: stretch; flex-direction: column; }
  .cb2-daily-streak,
  .cb2-last-wheel-prize { align-self: flex-start; }
  .cb2-dashboard-reward-card .cb2-btn { width: 100%; }
  .cb2-prize-wheel-layout { grid-template-columns: 1fr; }
  .cb2-spin-wheel-button { justify-self: stretch; }

  .cb2-room-stats {
    grid-template-columns: 1fr;
  }

  .cb2-visual-item {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .cb2-visual-item > .cb2-badge {
    grid-column: 2;
  }
}

/* game-rooms backup parity ------------------------------------------------ */

.cb2-playbar .game-room-quick-toke {
  background: var(--quick-toke-bg);
  color: var(--quick-toke-text);
  box-shadow: 0 12px 28px var(--quick-toke-shadow);
}
.cb2-playbar .game-room-quick-toke.is-cloud-syncing {
  cursor: wait;
  opacity: .86;
  filter: saturate(.35);
}

.cb2-notification-bell {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 5999;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 48px;
  border: 1px solid rgba(255, 215, 93, .55);
  border-radius: 999px;
  background: rgba(6, 16, 6, .96);
  color: #ffd75d;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .4), 0 0 22px rgba(255, 215, 93, .14);
  font-size: 1.2rem;
  cursor: pointer;
}

.cb2-notification-bell span {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  min-height: 22px;
  padding: 0 5px;
  border-radius: 999px;
  background: #ffd75d;
  color: #101006;
  font-size: .72rem;
  font-weight: 950;
}

.cb2-notification-bell span[hidden] { display: none !important; }

.cb2-tutorial-return-box {
  position: fixed;
  left: 18px;
  right: auto;
  bottom: 18px;
  z-index: 6000;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 3px 14px;
  align-items: center;
  width: min(440px, calc(100vw - 36px));
  padding: 18px 20px;
  border: 1px solid rgba(168, 255, 62, .46);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(21, 67, 25, .96), rgba(6, 18, 8, .96));
  color: #f5ffe8;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .42), 0 0 22px rgba(168, 255, 62, .15);
  text-align: left;
  cursor: pointer;
}

.cb2-tutorial-return-box > span {
  grid-row: 1 / 3;
  display: inline-grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 20px;
  background: rgba(255, 233, 121, .15);
  font-size: 2.2rem;
}

.cb2-tutorial-return-box strong {
  min-width: 0;
  color: #ffe979;
  font-size: 1.28rem;
  font-weight: 1000;
  line-height: 1.1;
}

.cb2-tutorial-return-box small {
  min-width: 0;
  overflow: hidden;
  color: rgba(245, 255, 232, .72);
  font-size: .95rem;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cb2-tutorial-return-box:hover,
.cb2-tutorial-return-box:focus-visible {
  border-color: rgba(255, 233, 121, .78);
  transform: translateY(-1px);
  outline: 0;
}

.game-notification-flash {
  box-sizing: border-box;
  width: 100%;
  padding: 10px 13px;
  border-bottom: 1px solid rgba(168, 255, 62, .28);
  background: linear-gradient(135deg, rgba(24, 89, 35, .96), rgba(55, 142, 42, .92));
  color: #f5ffe8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10);
  font-size: .82rem;
  font-weight: 900;
  line-height: 1.4;
  animation: cb2-notification-flash-in .28s ease-out;
}

.game-notification-flash.notification-infection {
  border-color: rgba(255, 54, 54, .72);
  background: linear-gradient(135deg, rgba(122, 10, 10, .96), rgba(186, 22, 22, .92));
  color: #fff3f3;
}

.game-notification-flash.notification-highness {
  border-color: rgba(222, 140, 255, .55);
  background: linear-gradient(135deg, rgba(83, 30, 124, .96), rgba(128, 57, 166, .92));
}

.game-notification-flash.notification-cloud {
  border-color: rgba(98, 214, 255, .62);
  background: linear-gradient(135deg, rgba(20, 64, 96, .97), rgba(38, 113, 156, .94));
  color: #e8f8ff;
}

.cb2-cloud-notification-control {
  display: grid;
  gap: 10px;
  margin: 8px 10px 10px;
  padding: 11px;
  border: 1px solid rgba(98, 214, 255, .55);
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(20, 64, 96, .92), rgba(38, 113, 156, .84));
  color: #e8f8ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 10px 24px rgba(0, 0, 0, .22);
}

.cb2-cloud-notification-control.has-conflict {
  border-color: rgba(255, 215, 93, .62);
  background: linear-gradient(135deg, rgba(20, 64, 96, .97), rgba(38, 113, 156, .88));
  box-shadow: inset 0 0 0 1px rgba(255, 215, 93, .14), 0 10px 24px rgba(0, 0, 0, .22);
}

.cb2-cloud-notification-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cb2-cloud-notification-main strong {
  color: #f4fcff;
  font-size: .78rem;
  font-weight: 1000;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cb2-cloud-notification-main span,
.cb2-cloud-notification-main small {
  color: rgba(232, 248, 255, .82);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35;
}

.cb2-cloud-default-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  cursor: pointer;
  user-select: none;
}

.cb2-cloud-default-toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cb2-cloud-default-toggle > span {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 44px;
  height: 24px;
  border: 1px solid rgba(232, 248, 255, .42);
  border-radius: 999px;
  background: rgba(0, 0, 0, .32);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, .34);
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.cb2-cloud-default-toggle > span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e8f8ff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  transition: transform .2s ease, background .2s ease;
}

.cb2-cloud-default-toggle input:checked + span {
  border-color: rgba(168, 255, 62, .72);
  background: linear-gradient(135deg, rgba(56, 201, 87, .92), rgba(168, 255, 62, .74));
  box-shadow: 0 0 16px rgba(168, 255, 62, .22), inset 0 2px 8px rgba(0, 0, 0, .2);
}

.cb2-cloud-default-toggle input:checked + span::after {
  transform: translateX(20px);
  background: #061006;
}

.cb2-cloud-default-toggle input:focus-visible + span {
  outline: 2px solid #fff2a6;
  outline-offset: 2px;
}

.cb2-cloud-default-toggle em {
  min-width: 0;
  overflow: hidden;
  color: #f4fcff;
  font-size: .72rem;
  font-style: normal;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cb2-cloud-choice-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.cb2-cloud-choice-actions .cb2-btn {
  width: 100%;
  min-height: 38px;
  margin: 0;
  border-radius: 999px;
  font-size: .72rem;
}

.cb2-weekly-tournament-notification {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  margin: 8px 10px 10px;
  padding: 11px;
  border: 1px solid rgba(255, 215, 93, .72);
  border-radius: 15px;
  background: radial-gradient(circle at 12% 0%, rgba(255, 233, 121, .18), transparent 38%), linear-gradient(135deg, rgba(84, 57, 7, .96), rgba(132, 84, 8, .90));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .13), 0 10px 24px rgba(0, 0, 0, .22);
}
.cb2-weekly-tournament-link { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; min-width: 0; color: #fff6cf; text-decoration: none; }
.cb2-weekly-tournament-link > span:first-child { font-size: 1.65rem; filter: drop-shadow(0 0 9px rgba(255, 233, 121, .58)); }
.cb2-weekly-tournament-link > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.cb2-weekly-tournament-notification strong { color: #fff2a6; font-size: .79rem; letter-spacing: .035em; text-transform: uppercase; }
.cb2-weekly-tournament-notification small { color: rgba(255, 248, 220, .90); font-size: .71rem; font-weight: 800; line-height: 1.35; }
.cb2-weekly-tournament-notification b { color: #fff2a6; font-size: .67rem; }
.cb2-weekly-tournament-dismiss, .game-notification-dismiss { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 1px solid rgba(255, 248, 220, .32); border-radius: 50%; background: rgba(0, 0, 0, .3); color: rgba(255, 248, 220, .9); font: 900 1.1rem/1 Arial, sans-serif; cursor: pointer; }
.cb2-weekly-tournament-dismiss:hover, .cb2-weekly-tournament-dismiss:focus-visible, .game-notification-dismiss:hover, .game-notification-dismiss:focus-visible { border-color: #fff2a6; background: rgba(255, 215, 93, .22); color: #fff; outline: 0; }
.cb2-weekly-tournament-notification:hover, .cb2-weekly-tournament-notification:focus-within { border-color: #fff2a6; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 0 0 3px rgba(255, 233, 121, .13), 0 12px 28px rgba(0, 0, 0, .26); }

@media (max-width: 520px) {
  .cb2-cloud-choice-actions { grid-template-columns: 1fr; }
  .cb2-cloud-default-toggle { width: 100%; }
  .cb2-weekly-tournament-link { grid-template-columns: auto minmax(0, 1fr); }
}

@keyframes cb2-notification-flash-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

.game-notification-tab {
  position: fixed;
  right: 18px;
  bottom: 76px;
  z-index: 6000;
  display: flex;
  flex-direction: column;
  width: min(440px, calc(100vw - 36px));
  max-height: min(74vh, 560px);
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .42);
  border-radius: 20px;
  background: rgba(6, 16, 6, .97);
  color: #f5ffe8;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .44), 0 0 24px rgba(255, 215, 93, .1);
  backdrop-filter: blur(9px);
}

.game-notification-tab[hidden] { display: none !important; }

.game-notification-tab-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  border-bottom: 1px solid rgba(255, 215, 93, .24);
  background: rgba(255, 215, 93, .08);
}

.game-notification-title {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #ffd75d;
  font-weight: 950;
}

.game-notification-header-actions {
  display: flex;
  gap: 7px;
  align-items: center;
}

.game-notification-clear {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid rgba(255, 215, 93, .28);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: #ffd75d;
  font-size: .72rem;
  font-weight: 950;
}

.game-notification-clear:disabled { opacity: .42; }

.game-notification-guide {
  width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
  border: 1px solid rgba(168, 255, 62, .34);
  border-radius: 50%;
  background: rgba(168, 255, 62, .11);
  color: #f5ffe8;
  font-size: .95rem;
  line-height: 1;
}

.game-notification-settings {
  display: inline-grid;
  place-items: center;
  text-decoration: none;
}

.game-notification-guide:hover,
.game-notification-guide:focus-visible {
  border-color: rgba(255, 233, 121, .78);
  background: rgba(255, 233, 121, .16);
}

.game-notification-close {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 1.25rem;
}

.game-notification-list {
  display: grid;
  gap: 9px;
  padding: 12px;
  overflow-y: auto;
}

.game-notification-item {
  position: relative;
  padding: 11px 42px 11px 11px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 14px;
  background: rgba(168, 255, 62, .065);
}
.game-notification-item, .cb2-weekly-tournament-notification { touch-action: pan-y; transition: transform .16s ease, opacity .16s ease, border-color .16s ease, box-shadow .16s ease; }
.game-notification-dismiss { position: absolute; top: 8px; right: 8px; }
.game-notification-item.is-swipe-dismissing, .cb2-weekly-tournament-notification.is-swipe-dismissing { opacity: 0; transform: translateX(115%); }

.game-notification-item strong { color: #ffd75d; }
.game-notification-item p { margin: 6px 0; white-space: pre-line; line-height: 1.4; }
.game-notification-item small { color: rgba(245, 255, 232, .62); }
.game-notification-empty { padding: 16px; color: rgba(245, 255, 232, .68); text-align: center; }

.game-notification-item.notification-outdoor,
.game-notification-item.notification-backwoods {
  border-color: rgba(255, 215, 93, .48);
  background: linear-gradient(135deg, rgba(145, 100, 8, .30), rgba(255, 215, 93, .09));
}

.game-notification-item.notification-outdoor strong,
.game-notification-item.notification-backwoods strong { color: #ffd75d; }

.game-notification-item.notification-highness {
  border-color: rgba(222, 140, 255, .52);
  background: linear-gradient(135deg, rgba(83, 30, 124, .42), rgba(222, 140, 255, .10));
}

.game-notification-item.notification-highness strong { color: #e8b0ff; }

.game-notification-item.notification-infection {
  border-color: rgba(255, 54, 54, .72);
  background: linear-gradient(135deg, rgba(122, 10, 10, .5), rgba(255, 31, 31, .14));
  box-shadow: inset 0 0 22px rgba(255, 31, 31, .08), 0 0 18px rgba(255, 31, 31, .12);
}

.game-notification-item.notification-infection strong { color: #ff5e5e; }

.game-notification-plant-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 9px 0;
}

.game-notification-plant-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(168, 255, 62, .34);
  border-radius: 999px;
  background: rgba(168, 255, 62, .11);
  color: #dfffad;
  font-size: .76rem;
  font-weight: 950;
  text-decoration: none;
}

.game-notification-plant-link:hover,
.game-notification-plant-link:focus-visible {
  border-color: rgba(168, 255, 62, .72);
  background: rgba(168, 255, 62, .20);
  color: #fff;
}

.cb2-notice.cb2-notice-infection {
  border-color: rgba(255, 54, 54, .72);
  background: rgba(122, 10, 10, .88);
  color: #fff3f3;
}

.cb2-room-save-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.cb2-page-rooms .cb2-notice {
  margin: 0 0 12px;
  text-align: center;
  font-weight: 900;
}

.cb2-room-module {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--cb2-line);
  border-radius: 22px;
  background: var(--cb2-panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 45px rgba(0, 0, 0, .28);
}

.cb2-room-tab-strip {
  padding: 10px 12px 12px;
  border-bottom: 1px solid rgba(168, 255, 62, .24);
  background: rgba(7, 19, 9, .68);
}

.cb2-room-module .greenhouse-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: flex-end;
  margin: 0;
  padding: 0 0 0 8px;
  border-bottom: 1px solid rgba(168, 255, 62, .28);
}

.cb2-room-module .greenhouse-tab {
  position: relative;
  transform: translateY(1px);
  padding: 8px 12px 9px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(180deg, rgba(168, 255, 62, .13), rgba(168, 255, 62, .045)), rgba(0, 0, 0, .22);
  color: rgba(245, 255, 232, .82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  font: inherit;
  font-size: .8rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
}

.cb2-room-module .greenhouse-tab::before {
  content: "";
  position: absolute;
  left: -7px;
  bottom: 0;
  width: 8px;
  height: 11px;
  border-right: 1px solid rgba(168, 255, 62, .18);
  border-bottom: 1px solid rgba(168, 255, 62, .28);
  border-radius: 0 0 8px;
  opacity: .7;
}

.cb2-room-module .greenhouse-tab:hover {
  transform: translateY(0);
  border-color: rgba(168, 255, 62, .48);
  background: linear-gradient(180deg, rgba(168, 255, 62, .20), rgba(168, 255, 62, .07)), rgba(0, 0, 0, .22);
  color: #f5ffe8;
}

.cb2-room-module .greenhouse-tab.active {
  z-index: 2;
  transform: translateY(1px);
  border-color: rgba(168, 255, 62, .72);
  color: #102010;
  background: linear-gradient(180deg, var(--cb2-neon), rgba(168, 255, 62, .82));
  box-shadow: 0 -6px 18px rgba(168, 255, 62, .08), inset 0 1px 0 rgba(255, 255, 255, .28);
}

.cb2-room-module .greenhouse-tab.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: var(--cb2-neon);
}

.room-mode-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 3px;
  padding: 3px 6px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: rgba(0, 0, 0, .20);
  color: inherit;
  font-size: .64rem;
  font-weight: 950;
  text-transform: uppercase;
}

.room-mode-pill--dry {
  border-color: rgba(255, 166, 59, .7);
  background: rgba(151, 68, 9, .28);
  color: #ffb453;
}

.room-mode-pill--veg {
  border-color: rgba(255, 224, 87, .76);
  background: rgba(135, 105, 8, .28);
  color: #ffe66c;
}

.room-mode-pill--freeze {
  border-color: rgba(91, 197, 255, .74);
  background: rgba(16, 84, 139, .28);
  color: #78cfff;
}

/* Keep the active room tab's bright green readable by giving its mode badge
   a distinctly dark, high-contrast backing. Unselected tabs keep the colors above. */
.cb2-room-module .greenhouse-tab.active .room-mode-pill--grow {
  border-color: rgba(106, 224, 255, .95);
  background: rgba(12, 55, 78, .94);
  color: #d9f7ff;
  text-shadow: none;
}

.cb2-room-module .greenhouse-tab.active .room-mode-pill--veg {
  border-color: rgba(255, 230, 96, .95);
  background: rgba(91, 62, 4, .94);
  color: #fff19a;
  text-shadow: none;
}

.cb2-room-module .greenhouse-tab.active .room-mode-pill--dry {
  border-color: rgba(255, 182, 85, .96);
  background: rgba(108, 45, 5, .94);
  color: #ffe0a5;
  text-shadow: none;
}

.cb2-room-module .greenhouse-tab.active .room-mode-pill--freeze {
  border-color: rgba(111, 210, 255, .96);
  background: rgba(7, 50, 105, .95);
  color: #d4f4ff;
  text-shadow: none;
}

.greenhouse-tab .tab-count {
  margin-left: 4px;
  opacity: .72;
  font-weight: 800;
}

.cb2-active-room-actions {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  align-self: start;
  justify-content: stretch;
  padding: 10px 4px 0;
}

.cb2-active-room-actions .active-greenhouse-action-label {
  grid-column: 1 / -1;
  margin: 0;
  color: rgba(245, 255, 232, .78);
  font-size: .78rem;
  font-weight: 900;
  text-align: center;
}

.cb2-active-room-actions .cb2-room-conversion-note {
  padding: 6px;
  border: 1px solid rgba(168, 255, 62, .16);
  border-radius: 12px;
  background: rgba(0, 0, 0, .15);
}

.cb2-active-room-actions button,
.cb2-room-module .controls button,
.cb2-room-picker button {
  min-width: 0;
  min-height: 38px;
  padding: 7px 9px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cb2-green), var(--cb2-neon));
  color: #061006;
  box-shadow: 0 8px 18px rgba(56, 201, 87, .16);
  font: inherit;
  font-size: .76rem;
  font-weight: 950;
  line-height: 1.05;
  cursor: pointer;
}

.cb2-active-room-actions button {
  width: 100%;
  min-height: 48px;
  padding: 9px 11px;
  font-size: .84rem;
  white-space: normal;
}

.cb2-active-room-actions button:disabled,
.cb2-room-module .controls button:disabled,
.cb2-room-picker button:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.35);
}

.cb2-active-room-actions .plant-random-seed-btn,
.cb2-active-room-actions .breed-btn,
.cb2-active-room-actions .harvest-all-btn {
  grid-column: span 2;
}

.cb2-active-room-actions .plant-random-seed-btn {
  background: linear-gradient(135deg, #d7b078, #9b6a3b);
  color: #180f06;
}

.cb2-active-room-actions .harvest-all-btn {
  background: linear-gradient(135deg, #ffd75d, #ffae00);
  color: #111;
}

.cb2-active-room-actions .sell-all-plants-btn {
  background: linear-gradient(135deg, #de8cff, #7c3aed);
  color: #fff;
}

.cb2-room-module .plant-breed-btn {
  background: linear-gradient(135deg, #de8cff, #a855f7);
  color: #fff;
}

.cb2-active-room-actions .yank-all-btn,
.cb2-room-module button.danger {
  background: linear-gradient(135deg, #ff6b6b, #d92d20);
  color: #fff;
}

.cb2-active-room-actions .yank-male-plants-btn {
  background: linear-gradient(135deg, #ff9f43, #d35400);
  color: #fff;
}

.cb2-room-module .greenhouse-panel {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cb2-room-module .greenhouse-panel h2 {
  margin: 0;
  color: var(--cb2-neon);
  text-align: center;
  text-shadow: 0 0 18px rgba(168, 255, 62, .28);
}

.cb2-room-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.cb2-room-module .cb2-room-heading-row h2 {
  min-width: 0;
  text-align: left;
}

.cb2-room-column-switcher {
  display: grid;
  grid-template-columns: auto 150px;
  gap: 9px;
  align-items: center;
  justify-self: end;
  min-width: 0;
  padding: 7px 10px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 999px;
  background: rgba(0, 0, 0, .30);
  color: rgba(245, 255, 232, .82);
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.cb2-room-column-switcher strong {
  color: var(--cb2-neon);
  font-size: .82rem;
}

.cb2-room-column-switcher input[type="range"] {
  width: 150px;
  margin: 0;
  accent-color: var(--cb2-neon);
  cursor: ew-resize;
}

.cb2-room-module .grow-space-note {
  margin: 10px 0 0;
  color: rgba(245, 255, 232, .74);
  font-weight: 800;
  text-align: center;
}

.cb2-room-property-info {
  margin-top: 8px;
}

.cb2-room-property-info > summary {
  display: inline-grid;
  gap: 2px;
  padding: 0;
  color: rgba(245, 255, 232, .86);
  cursor: pointer;
  list-style: none;
}

.cb2-room-property-info > summary::-webkit-details-marker { display: none; }
.cb2-room-property-info > summary > span { display: grid; gap: 2px; min-width: 0; }
.cb2-room-property-info > summary strong { color: var(--cb2-neon); font-size: .75rem; letter-spacing: .055em; text-transform: uppercase; }
.cb2-room-property-info > summary small { overflow: hidden; color: rgba(245, 255, 232, .62); font-size: .68rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.cb2-room-property-info > summary:hover strong, .cb2-room-property-info > summary:focus-visible strong { color: #fff2a6; outline: 0; }
.cb2-room-property-info[open] { overflow: hidden; border: 1px solid rgba(98, 214, 255, .30); border-radius: 16px; background: linear-gradient(135deg, rgba(5, 24, 19, .78), rgba(3, 11, 24, .78)); }
.cb2-room-property-info[open] > summary { display: grid; padding: 11px 13px; border-bottom: 1px solid rgba(98, 214, 255, .22); }
.cb2-room-property-info-content { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(0, 1.6fr); gap: 11px; padding: 11px; }
.cb2-room-property-description { padding: 11px; border: 1px solid rgba(98, 214, 255, .20); border-radius: 13px; background: rgba(0, 0, 0, .18); }
.cb2-room-property-description h3, .cb2-room-property-description p { margin: 0; }
.cb2-room-property-description h3 { color: #a8ff3e; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.cb2-room-property-description p { margin-top: 7px; color: rgba(245, 255, 232, .82); font-size: .78rem; font-weight: 750; line-height: 1.45; }
.cb2-room-property-info-content .cb2-property-stat-sheet { margin-top: 0; }

.cb2-property-stat-sheet {
  margin-top: 12px;
  padding: 11px;
  border: 1px solid rgba(126, 220, 255, .28);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(5, 24, 19, .84), rgba(3, 11, 24, .84));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.cb2-property-stat-sheet h3 {
  margin: 0 0 8px;
  color: #a8ff3e;
  font-size: .76rem;
  letter-spacing: .11em;
  text-align: left;
  text-transform: uppercase;
}

.cb2-property-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.cb2-property-stat-grid > div {
  min-width: 0;
  padding: 7px;
  border: 1px solid rgba(168, 255, 62, .16);
  border-radius: 11px;
  background: rgba(0, 0, 0, .22);
}

.cb2-property-stat-grid span,
.cb2-property-stat-grid strong {
  display: block;
}

.cb2-property-stat-grid span {
  color: rgba(245, 255, 232, .57);
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.cb2-property-stat-grid strong {
  margin-top: 3px;
  color: rgba(245, 255, 232, .92);
  font-size: .72rem;
  line-height: 1.2;
}

.cb2-property-stat-grid .is-secure { color: #79e8ff; }
.cb2-property-stat-grid .is-unsecured { color: #ffce74; }

.cb2-property-stat-sheet.is-compact {
  margin-top: 10px;
  padding: 8px;
}

.cb2-property-stat-sheet.is-compact .cb2-property-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.cb2-property-stat-sheet.is-compact .cb2-property-stat-grid > div {
  padding: 6px;
}

.cb2-property-stat-sheet.is-compact .cb2-property-stat-grid span { font-size: .53rem; }
.cb2-property-stat-sheet.is-compact .cb2-property-stat-grid strong { font-size: .64rem; }

.cb2-room-workspace-scene {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  isolation: isolate;
  margin-top: 12px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .20);
  border-radius: 18px;
  background-color: rgba(2, 10, 4, .70);
  background-image: linear-gradient(rgba(2, 10, 4, .48), rgba(2, 10, 4, .48)), var(--cb2-room-workspace-art-url, none);
  background-position: center top, center top;
  background-size: cover, 100% auto;
  background-repeat: no-repeat, repeat-y;
}

.cb2-room-workspace-scene::before {
  content: "";
  grid-area: 1 / 1;
  width: 100%;
  aspect-ratio: var(--cb2-room-art-ratio, 1 / 1);
}

.cb2-room-workspace-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  opacity: .46;
  filter: saturate(.82) contrast(.9) brightness(.72);
  pointer-events: none;
}

.cb2-room-workspace-content {
  grid-area: 1 / 1;
  position: relative;
  z-index: 1;
}

.cb2-room-workspace-scene .plant-container {
  margin-top: 0;
}

.cb2-room-workspace-scene.is-empty {
  align-items: stretch;
}

.cb2-room-workspace-scene.is-empty .cb2-room-workspace-art {
  object-fit: contain;
  opacity: .76;
  filter: saturate(.92) contrast(.94) brightness(.86);
}

.cb2-room-workspace-scene.is-empty .inventory-empty {
  justify-self: center;
  width: min(88%, 500px);
  background: rgba(1, 9, 3, .70);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .30);
}

.cb2-room-workspace-scene.is-empty .cb2-room-workspace-content {
  align-self: center;
}

.cb2-room-open-space-prompt {
  display: flex;
  width: 100%;
  min-height: 152px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 14px 10px;
  border: 2px dashed rgba(191, 255, 103, .52);
  border-radius: 15px;
  background: rgba(3, 18, 7, .58);
  color: #efffe2;
  font: inherit;
  text-align: center;
  text-shadow: 0 1px 2px #000;
  cursor: pointer;
}

.cb2-room-open-space-prompt:hover:not(:disabled) {
  border-color: rgba(218, 255, 129, .94);
  background: rgba(14, 48, 18, .72);
}

.cb2-room-open-space-prompt:disabled {
  cursor: not-allowed;
  opacity: .58;
}

.cb2-room-open-space-prompt span {
  font-size: 1.8rem;
  filter: drop-shadow(0 0 8px rgba(191, 255, 103, .45));
}

.cb2-room-open-space-prompt strong {
  color: var(--cb2-neon);
  font-size: .86rem;
}

.cb2-room-open-space-prompt small {
  color: rgba(245, 255, 232, .84);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35;
}

.cb2-room-picker {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(168, 255, 62, .20);
  border-radius: 18px;
  background: rgba(0, 0, 0, .20);
}

.cb2-room-picker[hidden] {
  display: none !important;
}

.cb2-room-picker .cb2-seed-picker,
.cb2-room-picker .cb2-clone-picker {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.cb2-room-picker .cb2-clone-picker {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(168, 255, 62, .16);
}

.cb2-room-module .plant-container {
  display: grid;
  grid-template-columns: repeat(var(--cb2-room-columns, 5), minmax(0, 1fr));
  gap: 9px;
  align-items: start;
  margin-top: 12px;
}

.cb2-room-module .plant.notification-target-highlight {
  scroll-margin-top: 120px;
  scroll-margin-bottom: 80px;
  animation: cb2-notification-target-pulse .8s ease-in-out 3;
  outline: 3px solid #ffd75d;
  outline-offset: 3px;
}

@keyframes cb2-notification-target-pulse {
  0%, 100% { box-shadow: 0 0 0 rgba(255, 215, 93, 0); }
  50% { box-shadow: 0 0 28px rgba(255, 215, 93, .68); }
}

.cb2-room-module .inventory-empty {
  grid-column: 1 / -1;
  width: auto;
  padding: 20px;
  border: 1px dashed rgba(168, 255, 62, .22);
  border-radius: 16px;
  background: rgba(0, 0, 0, .18);
  color: rgba(245, 255, 232, .72);
  font-weight: 850;
  text-align: center;
}

.cb2-room-module .plant {
  min-width: 0;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 15px;
  background: var(--cb2-card);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
  text-align: center;
  cursor: pointer;
  perspective: 1200px;
}

.cb2-room-module .plant:hover {
  border-color: rgba(168, 255, 62, .60);
}

.cb2-room-flip-inner {
  position: relative;
  display: grid;
  width: 100%;
  transform-style: preserve-3d;
  transition: transform .56s cubic-bezier(.2, .72, .2, 1);
}

.cb2-room-flip-card.is-flipped {
  z-index: 4;
}

.cb2-room-flip-card.is-flipped .cb2-room-flip-inner {
  min-height: 460px;
  transform: rotateY(180deg);
}

.cb2-room-flip-face {
  grid-area: 1 / 1;
  min-width: 0;
  box-sizing: border-box;
  padding: 8px;
  border-radius: 14px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.cb2-room-flip-front {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.cb2-room-flip-back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 460px;
  overflow: auto;
  transform: rotateY(180deg);
  border: 1px solid rgba(168, 255, 62, .48);
  background: #030704;
  color: #fff;
  text-align: left;
  text-shadow: 0 1px 2px #000;
}

.cb2-room-flip-back h3 {
  margin: 0;
  color: #dfffad;
  text-align: center;
}

.cb2-room-flip-back p {
  margin: 3px 0;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .055);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.35;
}

.cb2-room-module .plant-graphic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 146px;
  margin: 2px 0 5px;
}

.cb2-room-module .plant-visual-frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 146px);
  height: 146px;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 24px;
  background: radial-gradient(circle at 50% 30%, rgba(168, 255, 62, .12), transparent 55%), linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(0, 0, 0, .22));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 34px rgba(0, 0, 0, .24);
}

.cb2-room-module .plant-visual-frame::before {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
  pointer-events: none;
}

.cb2-room-module .plant-stage-image {
  width: 118px;
  height: 118px;
  max-width: 88%;
  max-height: 88%;
  object-fit: contain;
  filter: drop-shadow(0 0 18px rgba(168, 255, 62, .20));
}

.cb2-room-module .plant-stage-image.shared-stage-video {
  width: 124px;
  height: 124px;
}

.cb2-room-module .plant:not(.dry-room-card) .plant-graphic {
  min-height: 0;
}

.cb2-room-module .plant:not(.dry-room-card) .plant-visual-frame {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}

.cb2-room-module .plant:not(.dry-room-card) .plant-stage-image,
.cb2-room-module .plant:not(.dry-room-card) .plant-stage-image.shared-stage-video,
.cb2-room-module .plant:not(.dry-room-card) .plant-stage-image.mature-strain-image,
.cb2-room-module .plant:not(.dry-room-card) .plant-stage-image.dead-plant-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: inherit;
  object-fit: cover;
}

.cb2-seed-pack-art {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  container-type: inline-size;
}

.cb2-seed-pack-art > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cb2-seed-pack-print-title {
  position: absolute;
  top: 46.5%;
  right: 29%;
  left: 33%;
  overflow: hidden;
  color: #22221c;
  font-size: clamp(.38rem, 6cqw, .95rem);
  font-weight: 1000;
  letter-spacing: -.035em;
  line-height: 1;
  text-align: center;
  text-overflow: clip;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .75);
  white-space: nowrap;
  transform: translateY(-50%);
}

.cb2-room-module .plant-stage-image.mature-strain-image,
.cb2-room-module .plant-stage-image.dead-plant-image {
  width: 132px;
  height: 132px;
  max-width: 92%;
  max-height: 92%;
}

.cb2-room-module .dead-plant-frame {
  border-color: rgba(255, 107, 107, .58);
  background: radial-gradient(circle at 50% 28%, rgba(255, 107, 107, .16), transparent 58%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(0, 0, 0, .30));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 28px rgba(255, 107, 107, .16), 0 14px 34px rgba(0, 0, 0, .24);
}

.cb2-room-module .dry-batch-stage-image {
  width: 132px;
  height: 132px;
  max-width: 92%;
  max-height: 92%;
}

.cb2-room-module .plant-stage-badge {
  position: absolute;
  right: 10px;
  bottom: 8px;
  left: 10px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  background: rgba(0, 0, 0, .62);
  color: rgba(245, 255, 232, .90);
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
}

.cb2-room-module .plant-mature-ready .plant-stage-badge,
.cb2-room-module .stage-ready .plant-stage-badge {
  border-color: rgba(168, 255, 62, .76);
  background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green));
  color: #102010;
}

.cb2-room-module .plant-dead {
  border-color: rgba(255, 107, 107, .42);
  background: rgba(255, 107, 107, .075);
  filter: grayscale(.24);
}

.cb2-room-module .plant-contagious {
  border-color: rgba(255, 40, 40, .82);
  background: linear-gradient(180deg, rgba(117, 0, 0, .16), rgba(255, 34, 34, .08));
  box-shadow: 0 0 26px rgba(255, 34, 34, .18);
}

.cb2-room-module .plant-contagious .plant-stage-badge,
.contagious-plant-badge {
  border: 1px solid rgba(255, 73, 73, .72);
  border-radius: 10px;
  background: rgba(132, 0, 0, .9);
  color: #fff;
  font-weight: 950;
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(255, 34, 34, .2);
}

.contagious-plant-badge { padding: 7px 9px; }

.cb2-room-module .dry-room-card {
  border-color: rgba(98, 214, 255, .32);
  background: linear-gradient(180deg, rgba(98, 214, 255, .09), rgba(0, 0, 0, .20));
}

.cb2-room-module .plant h3 {
  margin: 4px 0 3px;
  color: var(--cb2-neon);
  line-height: 1.08;
}

.cb2-room-module .plant h3.plant-front-name {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-align: center;
  text-overflow: ellipsis;
}

.cb2-room-module .plant p {
  margin: 2px 0;
  font-size: .82rem;
  line-height: 1.16;
}

.seeded-plant-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border: 1px solid rgba(255, 215, 93, .48);
  border-radius: 999px;
  background: rgba(255, 215, 93, .12);
  color: #ffe994;
  font-size: .72rem;
  font-weight: 950;
}

.cb2-seeded-panel {
  border-color: rgba(255, 215, 93, .38);
  background: rgba(255, 215, 93, .08);
}

.lineage-summary-line {
  display: block;
}

.lineage-full-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px !important;
  margin: 6px 0 0 !important;
  padding: 4px 9px !important;
  border: 1px solid rgba(168, 255, 62, .30) !important;
  border-radius: 999px !important;
  background: rgba(168, 255, 62, .12) !important;
  color: var(--cb2-neon) !important;
  box-shadow: none !important;
  font-size: .7rem !important;
  font-weight: 950 !important;
}

/* Backup room popups */
.seed-reveal-modal-backdrop.cb2-game-popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 6500;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 20px;
  background: rgba(0, 0, 0, .72);
  backdrop-filter: blur(8px);
}

.cb2-game-popup-backdrop .seed-reveal-modal {
  width: min(96vw, 760px);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: 22px;
  border: 1px solid rgba(168, 255, 62, .42);
  border-radius: 24px;
  background: rgba(6, 16, 6, .97);
  color: #f5ffe8;
  box-shadow: 0 24px 90px rgba(0, 0, 0, .62);
  text-align: center;
}

.cb2-game-popup-backdrop .cb2-encore-result-popup {
  display: grid;
  grid-template-columns: minmax(135px, 190px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  width: min(96vw, 680px);
  text-align: left;
}

.cb2-encore-result-art {
  align-self: stretch;
  min-height: 220px;
  overflow: hidden;
  border: 1px solid rgba(255, 233, 121, .38);
  border-radius: 18px;
  background: radial-gradient(circle at 50% 30%, rgba(168, 255, 62, .18), rgba(5, 18, 8, .92) 72%);
}

.cb2-encore-result-art img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: contain;
  filter: drop-shadow(0 10px 12px rgba(0, 0, 0, .38));
}

.cb2-encore-result-copy { min-width: 0; }
.cb2-encore-result-copy .cb2-eyebrow { margin: 0 0 5px; }
.cb2-encore-result-copy h2 { margin-bottom: 12px; }
.cb2-encore-result-copy p { margin: 9px 0; color: rgba(245, 255, 232, .9); font-weight: 750; line-height: 1.42; }
.cb2-encore-result-copy small { display: block; color: #dfff83; font-weight: 800; line-height: 1.35; }
.cb2-encore-result-popup .game-notice-close-btn { grid-column: 1 / -1; justify-self: center; }

@media (max-width: 560px) {
  .cb2-game-popup-backdrop .cb2-encore-result-popup { grid-template-columns: 1fr; gap: 12px; padding: 16px; text-align: center; }
  .cb2-encore-result-art { width: min(180px, 60vw); min-height: 170px; margin-inline: auto; }
  .cb2-encore-result-art img { min-height: 170px; }
}

.cb2-game-popup-backdrop .seed-choice-modal {
  width: min(96vw, 820px);
}

.cb2-game-popup-backdrop .seed-reveal-rarity-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.cb2-game-popup-backdrop .seed-reveal-rarity-card {
  padding: 14px 10px;
  border: 1px solid rgba(245, 255, 232, .18);
  border-radius: 18px;
  background: rgba(255, 255, 255, .07);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 12px 28px rgba(0, 0, 0, .22);
}

.cb2-game-popup-backdrop .seed-reveal-rarity-card.is-zero {
  opacity: .45;
}

.cb2-game-popup-backdrop .seed-reveal-rarity-number {
  display: block;
  font-size: clamp(2.6rem, 8vw, 4.35rem);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.06em;
  text-shadow: 0 0 20px currentColor;
}

.cb2-game-popup-backdrop .seed-reveal-rarity-label {
  display: block;
  margin-top: 9px;
  color: rgba(245, 255, 232, .9);
  font-size: .88rem;
  font-weight: 900;
}

.cb2-game-popup-backdrop .seed-reveal-rarity-card.legendary .seed-reveal-rarity-number { color: #ffd75d; }
.cb2-game-popup-backdrop .seed-reveal-rarity-card.epic .seed-reveal-rarity-number { color: #de8cff; }
.cb2-game-popup-backdrop .seed-reveal-rarity-card.rare .seed-reveal-rarity-number { color: #7cc7ff; }
.cb2-game-popup-backdrop .seed-reveal-rarity-card.common .seed-reveal-rarity-number { color: var(--cb2-neon); }

.cb2-game-popup-backdrop h2 {
  margin: 0 0 8px;
  color: var(--cb2-neon);
  text-shadow: 0 0 18px rgba(168, 255, 62, .28);
}

.cb2-game-popup-backdrop .game-popup-emoji {
  display: block;
  margin-bottom: 8px;
  font-size: 2.6rem;
}

.cb2-game-popup-backdrop .game-popup-message,
.cb2-game-popup-backdrop .seed-choice-option-meta {
  color: rgba(245, 255, 232, .82);
  font-weight: 800;
  line-height: 1.4;
}

.cb2-game-popup-backdrop .cb2-popup-pre-line {
  white-space: pre-line;
}

.cb2-game-popup-backdrop .seed-choice-list {
  display: grid;
  gap: 10px;
  max-height: min(55vh, 470px);
  margin: 18px 0;
  padding-right: 6px;
  overflow-y: auto;
}

.cb2-game-popup-backdrop .seed-choice-option {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 10px;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 18px;
  background: rgba(255, 255, 255, .075);
  color: #f5ffe8;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  text-align: left;
  cursor: pointer;
}

.cb2-game-popup-backdrop .seed-choice-option:hover {
  border-color: rgba(168, 255, 62, .58);
  background: rgba(168, 255, 62, .12);
}

.cb2-game-popup-backdrop .cb2-pollen-choice.rarity-common { border-color: rgba(168, 255, 62, .46); }
.cb2-game-popup-backdrop .cb2-pollen-choice.rarity-rare { border-color: rgba(124, 199, 255, .62); background: rgba(58, 128, 220, .10); }
.cb2-game-popup-backdrop .cb2-pollen-choice.rarity-epic { border-color: rgba(222, 140, 255, .66); background: rgba(137, 62, 214, .12); }
.cb2-game-popup-backdrop .cb2-pollen-choice.rarity-legendary { border-color: rgba(255, 215, 93, .72); background: rgba(255, 191, 40, .11); }

.cb2-game-popup-backdrop .seed-choice-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 16px;
  background: radial-gradient(circle at center, rgba(168, 255, 62, .12), rgba(0, 0, 0, .28)), rgba(0, 0, 0, .28);
}

.cb2-game-popup-backdrop .seed-choice-thumb img {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 5px;
  object-fit: contain;
}

.cb2-game-popup-backdrop .seed-choice-random-icon {
  font-size: 2rem;
}

.cb2-game-popup-backdrop .seed-choice-copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.cb2-game-popup-backdrop .seed-choice-option-title {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  color: var(--cb2-neon);
  font-size: 1rem;
  font-weight: 900;
}

.cb2-game-popup-backdrop .seed-choice-pill {
  padding: 3px 8px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 999px;
  background: rgba(168, 255, 62, .10);
  font-size: .72rem;
  font-weight: 950;
}

.cb2-game-popup-backdrop .cb2-pollen-choice-traits {
  display: grid;
  gap: 4px;
  margin-top: 2px;
  color: rgba(245, 255, 232, .72);
  font-size: .73rem;
  font-weight: 850;
}

.cb2-game-popup-backdrop .cb2-pollen-choice-traits .cb2-trait-row {
  margin-top: 0;
}

.cb2-game-popup-backdrop .game-popup-input {
  display: block;
  width: min(100%, 430px);
  box-sizing: border-box;
  margin: 14px auto 6px;
  padding: 11px 14px;
  border: 1px solid rgba(168, 255, 62, .32);
  border-radius: 999px;
  outline: 0;
  background: rgba(0, 0, 0, .45);
  color: #f5ffe8;
  font: inherit;
  font-weight: 900;
  text-align: center;
}

.cb2-game-popup-backdrop .game-popup-input:focus {
  border-color: rgba(168, 255, 62, .72);
  box-shadow: 0 0 0 4px rgba(168, 255, 62, .10);
}

.cb2-game-popup-backdrop .game-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 16px;
}

.cb2-game-popup-backdrop .harvest-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.cb2-game-popup-backdrop .harvest-choice-grid button {
  display: grid;
  gap: 6px;
  min-height: 94px;
  align-content: center;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 18px;
  background: rgba(255, 255, 255, .075);
  color: #f5ffe8;
  text-align: left;
}

.cb2-game-popup-backdrop .harvest-choice-grid button:hover:not(:disabled) {
  border-color: rgba(168, 255, 62, .58);
  background: rgba(168, 255, 62, .12);
}

.cb2-game-popup-backdrop .harvest-choice-grid strong {
  color: var(--cb2-neon);
}

.cb2-game-popup-backdrop .harvest-choice-grid small {
  color: rgba(245, 255, 232, .76);
  font-weight: 800;
  line-height: 1.35;
}

.cb2-game-popup-backdrop .harvest-choice-grid button:disabled {
  cursor: not-allowed;
  filter: grayscale(.7);
  opacity: .48;
}

.cb2-game-popup-backdrop button {
  min-height: 40px;
  padding: 9px 14px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cb2-green), var(--cb2-neon));
  color: #061006;
  font: inherit;
  font-weight: 950;
  cursor: pointer;
}

.cb2-game-popup-backdrop .game-popup-secondary-btn {
  border: 1px solid rgba(245, 255, 232, .18);
  background: rgba(255, 255, 255, .13);
  color: #f5ffe8;
}

@media (max-width: 520px) {
  .cb2-game-popup-backdrop .seed-choice-option {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .cb2-game-popup-backdrop .seed-choice-thumb {
    margin: 0 auto;
  }
}

.cb2-room-progress {
  width: 100%;
  margin-top: 3px;
}

.cb2-room-card-percent {
  color: rgba(245, 255, 232, .72);
  font-size: .67rem;
  font-weight: 900;
}

.cb2-room-card-timer {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 4px;
  padding: 6px 7px;
  border: 1px solid rgba(98, 214, 255, .22);
  border-radius: 9px;
  background: rgba(98, 214, 255, .07);
  color: #dff8ff;
  font-size: .66rem;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
}

.room-card-back-layout,
.plant-card-back-layout,
.dry-card-back-layout {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: 0;
}

.cb2-room-module .plant-details {
  display: block;
  min-width: 0;
}

.cb2-room-module .controls.plant-bottom-actions,
.cb2-room-module .controls.dry-bottom-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: auto;
  padding-top: 8px;
}

.cb2-room-module .controls .plant-tissue-culture-btn {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #7cc7ff, #2563eb);
  color: #fff;
}

.cb2-room-module .controls .plant-sell-btn {
  background: linear-gradient(135deg, #ffd75d, #ff8a00);
  color: #111;
}

.cb2-room-module .smoke-cost-note {
  display: block;
  margin-top: 2px;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1;
}

.cb2-room-module .cb2-breeding-panel,
.cb2-room-module .cb2-mother-panel {
  margin-top: 8px;
  text-align: left;
}

@media (max-width: 720px) {
  .cb2-room-property-info[open] > summary { grid-template-columns: 1fr; }

  .cb2-room-property-info-content { grid-template-columns: 1fr; }

  .cb2-property-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cb2-game-popup-backdrop .seed-reveal-rarity-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cb2-game-popup-backdrop .harvest-choice-grid {
    grid-template-columns: 1fr;
  }

  .cb2-active-room-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cb2-active-room-actions .active-greenhouse-action-label,
  .cb2-active-room-actions .plant-random-seed-btn,
  .cb2-active-room-actions .breed-btn,
  .cb2-active-room-actions .harvest-all-btn {
    grid-column: 1 / -1;
  }

  .cb2-room-module .plant-container {
    grid-template-columns: repeat(var(--cb2-room-columns, 5), minmax(0, 1fr));
  }

  .cb2-room-heading-row {
    gap: 8px;
  }

  .cb2-room-column-switcher {
    grid-template-columns: auto 92px;
    gap: 6px;
    padding: 6px 8px;
    font-size: .64rem;
  }

  .cb2-room-column-switcher input[type="range"] {
    width: 92px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cb2-room-flip-inner {
    transition: none;
  }
}

/* Backup-style Market Menu, rebuilt as a native Dank World page. */
.cb2-page-market .cb2-market-page {
  display: grid;
  gap: 16px;
  margin-top: 10px;
}

.cb2-market-header-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1584 / 228;
  min-height: 92px;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .34);
  border-radius: 22px;
  background: #263631;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .34);
}

.cb2-market-header-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.cb2-market-sign-card {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  min-height: 100%;
  margin: 0;
  pointer-events: none;
}

.cb2-market-sign-card .cb2-shop-sign-inner,
.cb2-market-sign-face {
  min-height: 100%;
  height: 100%;
}

.cb2-market-sign-face {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cb2-market-sign-face .cb2-market-sign-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.cb2-market-sign-face.cb2-shop-sign-back > div {
  width: min(52%, 720px);
  box-sizing: border-box;
}

.cb2-market-sign-hitbox {
  position: absolute;
  z-index: 5;
  left: 20.6%;
  top: 21.9%;
  width: 58.8%;
  height: 54%;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 18px;
  background: transparent;
  color: transparent;
  cursor: default;
  pointer-events: auto;
}

.cb2-market-sign-hitbox:focus-visible {
  outline: none;
}

.cb2-market-stage {
  padding: 0;
  background: transparent;
}

.cb2-market-products,
.cb2-market-seller-panel {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  isolation: isolate;
}

.cb2-market-panel-art {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(.42) saturate(.82) contrast(1.04);
  pointer-events: none;
}

.cb2-market-products > .cb2-market-panel-art { object-position: left center; }
.cb2-market-seller-panel > .cb2-market-panel-art { object-position: right center; }

.cb2-market-products::after,
.cb2-market-seller-panel::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: rgba(3, 10, 5, .42);
  pointer-events: none;
}

.cb2-market-products > :not(.cb2-market-panel-art),
.cb2-market-seller-panel > :not(.cb2-market-panel-art) {
  position: relative;
  z-index: 2;
}

.cb2-market-stage .cb2-market-products,
.cb2-market-stage .cb2-market-side-card {
  border-color: rgba(255, 231, 116, .3);
  background: #071009;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

.cb2-market-seller-panel .cb2-market-cleanup.cb2-market-cleanup-merged {
  margin-top: 16px;
  padding-top: 16px;
  border: 0;
  border-top: 1px solid rgba(255, 215, 93, .34);
  border-radius: 0;
  background: transparent;
}

.cb2-market-banner {
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(10, 25, 13, .96), rgba(21, 48, 24, .88));
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}

.cb2-market-banner img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 16px;
}

.cb2-market-banner h1,
.cb2-market-section-heading h2,
.cb2-market-side-card h2 {
  margin: 0;
}

.cb2-market-banner p:not(.cb2-eyebrow) {
  color: rgba(245, 255, 232, .76);
  line-height: 1.55;
}

.cb2-market-banner strong {
  display: inline-flex;
  padding: 7px 11px;
  border: 1px solid rgba(168, 255, 62, .35);
  border-radius: 999px;
  color: var(--cb2-neon, #a8ff3e);
  background: rgba(168, 255, 62, .09);
}

.cb2-market-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}

.cb2-market-products,
.cb2-market-side-card {
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 20px;
  background: rgba(8, 20, 11, .92);
  padding: 14px;
}

.cb2-market-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.cb2-market-product-grid,
.cb2-market-sidebar {
  display: grid;
  gap: 12px;
}

.cb2-market-product-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.cb2-market-sidebar {
  grid-template-columns: minmax(0, 1fr);
}

.cb2-market-product-card {
  min-width: 0;
  min-height: 500px;
  perspective: 1200px;
  outline: none;
}

.cb2-market-flip-inner {
  position: relative;
  min-height: 500px;
  transform-style: preserve-3d;
  transition: transform .46s ease;
}

.cb2-market-product-card.is-flipped .cb2-market-flip-inner {
  transform: rotateY(180deg);
}

.cb2-market-face {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "media"
    "title"
    "badges"
    "amount"
    "actions";
  gap: 12px;
  align-content: center;
  backface-visibility: hidden;
  padding: 14px;
  border: 1px solid rgba(168, 255, 62, .25);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(24, 48, 27, .98), rgba(7, 16, 9, .98));
  box-shadow: 0 14px 30px rgba(0, 0, 0, .25);
}

.cb2-market-product-card:focus-visible .cb2-market-face,
.cb2-market-product-card:hover .cb2-market-face {
  border-color: rgba(168, 255, 62, .62);
}

.cb2-market-back {
  transform: rotateY(180deg);
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "backcopy" "amount" "actions";
  align-content: start;
  overflow-y: auto;
}

.cb2-market-back h3,
.cb2-market-back p,
.cb2-market-back .cb2-traits {
  grid-column: 1 / -1;
  margin: 0;
}

.cb2-market-back h3 { color: #f5ffe8; }
.cb2-market-back p { color: rgba(245, 255, 232, .76); line-height: 1.45; }
.cb2-market-back .cb2-market-warning { color: #ffd75d; font-weight: 900; }

.cb2-market-product-media {
  grid-area: media;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(168, 255, 62, .25);
  border-radius: 16px;
  background: rgba(0, 0, 0, .25);
}

.cb2-market-product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cb2-market-title { grid-area: title; min-width: 0; }
.cb2-market-title strong { display: block; overflow: hidden; color: #f5ffe8; font-size: 1.06rem; text-overflow: ellipsis; white-space: nowrap; }
.cb2-market-title span { display: block; margin-top: 4px; color: rgba(245, 255, 232, .65); font-weight: 800; }

.cb2-market-badges {
  grid-area: badges;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
}

.cb2-market-badges span {
  height: fit-content;
  padding: 5px 8px;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 999px;
  background: rgba(0, 0, 0, .22);
  color: rgba(245, 255, 232, .82);
  font-size: .7rem;
  font-weight: 900;
  text-transform: capitalize;
}

.cb2-market-amount {
  grid-area: amount;
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cb2-market-amount label {
  display: grid;
  gap: 5px;
  color: rgba(245, 255, 232, .72);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.cb2-market-amount input,
.cb2-seller-choice select {
  width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  border: 1px solid rgba(168, 255, 62, .3);
  border-radius: 11px;
  background: #efffde;
  color: #10200f;
  padding: 7px 9px;
  font-weight: 900;
}

.cb2-market-amount small,
.cb2-seller-choice small {
  color: rgba(245, 255, 232, .65);
  font-weight: 700;
  line-height: 1.35;
}

.cb2-market-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  align-self: end;
}

.cb2-market-actions button { width: 100%; min-height: 38px; padding-inline: 7px; border-radius: 999px; white-space: nowrap; }
.cb2-market-actions .cb2-quick-rename-btn { grid-column: 1 / -1; }
.cb2-market-actions .market-sell-all-btn,
.cb2-market-cleanup-actions .market-sell-entire-btn {
  border-color: rgba(255, 215, 93, .78);
  background: linear-gradient(135deg, #ffe979, #ffc52f);
  color: #171105;
  box-shadow: 0 6px 14px rgba(255, 197, 47, .2);
}

.cb2-market-side-card h2 { margin-bottom: 12px; }
.cb2-seller-choice {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(168, 255, 62, .18);
  border-radius: 16px;
  background: rgba(255, 255, 255, .045);
}

.cb2-seller-choice > span:first-child,
.cb2-market-cleanup-icon {
  display: flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 15px;
  background: rgba(0, 0, 0, .25);
  font-size: 1.8rem;
}

.cb2-seller-choice > span:last-child { display: grid; gap: 6px; min-width: 0; }
.cb2-seller-choice strong { color: #f5ffe8; }

.cb2-market-cleanup {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  border-color: rgba(255, 215, 93, .34);
  background: rgba(255, 215, 93, .07);
}

.cb2-market-cleanup h2 { margin-bottom: 4px; }
.cb2-market-cleanup p:not(.cb2-eyebrow) { color: rgba(245, 255, 232, .7); line-height: 1.45; }
.cb2-market-cleanup-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.cb2-market-cleanup-actions .cb2-btn { width: 100%; min-height: 40px; padding: 9px 11px; border-radius: 999px; font-size: .78rem; line-height: 1.15; }

@media (max-width: 1100px) {
  .cb2-market-banner,
  .cb2-market-layout { grid-template-columns: 1fr; }
  .cb2-market-banner img { max-height: 420px; }
  .cb2-market-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cb2-market-sidebar { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .cb2-market-sign-face.cb2-shop-sign-back > div { width: 68%; gap: 1px; padding: 4px 7px; }
  .cb2-market-sign-face.cb2-shop-sign-back strong { font-size: .68rem; }
  .cb2-market-sign-face.cb2-shop-sign-back span { font-size: .54rem; line-height: 1.05; }
  .cb2-market-sign-face.cb2-shop-sign-back small { font-size: .48rem; line-height: 1.05; }
  .cb2-market-section-heading { align-items: stretch; flex-direction: column; }
  .cb2-market-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cb2-market-product-card,
  .cb2-market-flip-inner { min-height: 470px; }
}

@media (max-width: 410px) {
  .cb2-market-product-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cb2-market-flip-inner { transition: none; }
}

/* Finished flower quality system restored from the original game. */
.weed-quality-badge {
  display: inline-flex !important;
  width: fit-content;
  margin-left: 5px;
  padding: 3px 7px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 950;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
}

.weed-quality-mids { color: #d6b47e; background: rgba(214, 180, 126, .12); }
.weed-quality-good { color: var(--cb2-neon); background: rgba(168, 255, 62, .12); }
.weed-quality-primo { color: #de8cff; background: rgba(222, 140, 255, .12); }
.weed-quality-fire { color: #ffb3b3; background: rgba(255, 107, 107, .14); }

.weed-quality-frame-mids { border-color: rgba(214, 180, 126, .68) !important; box-shadow: 0 0 18px rgba(214, 180, 126, .18); }
.weed-quality-frame-good { border-color: rgba(168, 255, 62, .68) !important; box-shadow: 0 0 18px rgba(168, 255, 62, .18); }
.weed-quality-frame-primo { border-color: rgba(222, 140, 255, .76) !important; box-shadow: 0 0 20px rgba(222, 140, 255, .24); }
.weed-quality-frame-fire { border-color: rgba(255, 107, 107, .82) !important; box-shadow: 0 0 22px rgba(255, 107, 107, .28); }

.market-quality-circle {
  display: inline-flex;
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  align-self: center;
  padding: 0 !important;
  border: 2px solid rgba(255, 255, 255, .18) !important;
  border-radius: 999px;
  box-shadow: 0 0 13px currentColor;
}

.market-quality-circle.quality-mids { color: #d6b47e; background: #d6b47e; }
.market-quality-circle.quality-good { color: var(--cb2-neon); background: var(--cb2-neon); }
.market-quality-circle.quality-primo { color: #de8cff; background: #de8cff; }
.market-quality-circle.quality-fire { color: #ff6b6b; background: #ff6b6b; }

.cb2-finished-weed-section { grid-column: 1 / -1; }
.cb2-finished-weed-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.cb2-finished-weed-card {
  min-height: 390px;
  perspective: 1200px;
  outline: none;
}

.cb2-finished-weed-inner {
  position: relative;
  min-height: 390px;
  transform-style: preserve-3d;
  transition: transform .46s ease;
}

.cb2-finished-weed-card.is-flipped .cb2-finished-weed-inner { transform: rotateY(180deg); }
.cb2-finished-weed-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  backface-visibility: hidden;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(24, 48, 27, .98), rgba(7, 16, 9, .98));
}

.cb2-finished-weed-back { transform: rotateY(180deg); }
.cb2-finished-weed-face h3,
.cb2-finished-weed-face p { margin: 0; }
.cb2-finished-weed-front p { color: rgba(245, 255, 232, .72); font-weight: 800; }
.cb2-finished-weed-image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 2px solid rgba(168, 255, 62, .3);
  border-radius: 14px;
  background: rgba(0, 0, 0, .25);
}

.cb2-finished-weed-image img { width: 100%; height: 100%; object-fit: contain; }
.cb2-finished-weed-details { display: grid; gap: 7px; color: rgba(245, 255, 232, .78); font-size: .82rem; font-weight: 750; line-height: 1.42; }
.cb2-finished-weed-back .cb2-actions { margin-top: auto; }
.cb2-market-back .cb2-finished-weed-details { grid-column: 1 / -1; }
.cb2-market-title strong .weed-quality-badge { vertical-align: .12em; }

@media (prefers-reduced-motion: reduce) {
  .cb2-finished-weed-inner { transition: none; }
}

.cb2-drying-package-note {
  display: block;
  grid-column: 1 / -1;
  color: rgba(255, 215, 93, .86);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.35;
}

/* Smoke Menu uses the same illustrated, flip-sign layout as Market Menu. */
.cb2-smoke-menu-page {
  display: grid;
  gap: 16px;
  margin-top: 10px;
}

.cb2-smoke-menu-header-stage {
  position: relative;
  width: 100%;
  /* Smoke Menu art is 1584 × 249 (the Market header is 1584 × 228). */
  aspect-ratio: 1584 / 249;
  min-height: 92px;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .34);
  border-radius: 22px;
  background: #363025;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .34);
}

.cb2-smoke-menu-header-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.cb2-smoke-menu-sign-card {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  min-height: 100%;
  margin: 0;
  pointer-events: none;
}

.cb2-smoke-menu-sign-card .cb2-shop-sign-inner,
.cb2-smoke-menu-sign-face {
  min-height: 100%;
  height: 100%;
}

.cb2-smoke-menu-sign-face {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cb2-smoke-menu-sign-face .cb2-smoke-menu-sign-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.cb2-smoke-menu-sign-face.cb2-shop-sign-back > div {
  position: absolute;
  z-index: 6;
  /* Exact bounds of the sign opening in the 1584 × 249 smoke header art. */
  left: 37.9%;
  top: 26.9%;
  width: 26.2%;
  height: 40.6%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  justify-items: center;
  gap: 2px;
  padding: 4px 7px;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid rgba(255, 233, 121, .38);
  border-radius: 12px;
  background: rgba(15, 8, 4, .78);
  text-align: center;
  pointer-events: auto;
}

.cb2-smoke-menu-sign-face.cb2-shop-sign-back {
  display: block;
  padding: 0;
  pointer-events: auto;
}

.cb2-smoke-menu-sign-face.cb2-shop-sign-back > img { display: none; }

.cb2-smoke-menu-sign-copy {
  margin: 0;
  align-self: center;
  color: #fff3ca;
  font-size: clamp(.5rem, .88vw, .76rem);
  font-weight: 900;
  line-height: 1.14;
}

.cb2-smoke-menu-sign-face.cb2-shop-sign-back small {
  align-self: end;
  color: var(--cb2-neon, #a8ff3e);
  font-size: clamp(.35rem, .62vw, .52rem);
  font-weight: 950;
  line-height: 1.05;
}

.cb2-smoke-menu-contraband-link {
  border: 0;
  padding: 0;
  color: var(--cb2-neon, #a8ff3e);
  background: transparent;
  font: inherit;
  font-size: 1.55em;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: underline;
  cursor: pointer;
  pointer-events: auto;
}

.cb2-smoke-menu-contraband-link:hover,
.cb2-smoke-menu-contraband-link:focus-visible { color: #fff1a0; outline: none; }

.cb2-smoke-menu-sign-hitbox {
  position: absolute;
  z-index: 5;
  left: 37.9%;
  top: 26.9%;
  width: 26.2%;
  height: 40.6%;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: transparent;
  color: transparent;
  cursor: default;
  pointer-events: auto;
}

.cb2-smoke-menu-sign-hitbox:focus-visible { outline: none; }
.cb2-smoke-menu-sign-card.is-flipped .cb2-smoke-menu-sign-hitbox { pointer-events: none; }
.cb2-smoke-menu-sign-card.is-flipped { pointer-events: auto; }

.cb2-smoke-menu-sign-back-hitbox {
  position: absolute;
  z-index: 7;
  left: 37.9%;
  top: 26.9%;
  width: 26.2%;
  height: 40.6%;
  display: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 12px;
  background: transparent;
  color: transparent;
  cursor: default;
}

.cb2-smoke-menu-sign-card.is-flipped .cb2-smoke-menu-sign-back-hitbox {
  display: block;
  pointer-events: auto;
}

/* Keep the emoji link above the back-flip layer; the face click handler still
   flips the sign when a player clicks anywhere else on the back. */
.cb2-smoke-menu-sign-card.is-flipped .cb2-smoke-menu-sign-back { z-index: 6; }

.cb2-smoke-menu-sign-back-hitbox:focus-visible { outline: none; }

.cb2-smoke-menu-stage {
  padding: 0;
  background: transparent;
}

.cb2-smoke-menu-stage .cb2-market-products,
.cb2-smoke-menu-stage .cb2-market-side-card {
  /* Smoke's lower artwork is 1584 × 423.  This keeps its artwork scale
     equivalent to Market's 1584 × 444 slices in their 520px panels. */
  min-height: 495px;
  border-color: rgba(255, 231, 116, .3);
  background: #071009;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

/* Backup Smoke Menu rebuilt as a native game page. */
.cb2-smoke-page { margin-top: 10px; }
.cb2-smoke-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}

.cb2-smoke-products-panel,
.cb2-smoke-side-card {
  padding: 14px;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 20px;
  background: rgba(8, 20, 11, .92);
}

.cb2-smoke-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.cb2-smoke-heading h1,
.cb2-smoke-side-card h2 { margin: 0; }
.cb2-smoke-meter-pill {
  display: inline-flex;
  padding: 7px 10px;
  border: 1px solid rgba(168, 255, 62, .3);
  border-radius: 999px;
  color: var(--cb2-neon);
  background: rgba(168, 255, 62, .09);
  font-size: .78rem;
  font-weight: 900;
  white-space: nowrap;
}

.cb2-smoke-product-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.cb2-smoke-product-card {
  min-width: 0;
  min-height: 430px;
  perspective: 1200px;
  outline: none;
}

.cb2-smoke-flip-inner {
  position: relative;
  min-height: 430px;
  transform-style: preserve-3d;
  transition: transform .46s ease;
}

.cb2-smoke-product-card.is-flipped .cb2-smoke-flip-inner { transform: rotateY(180deg); }
.cb2-smoke-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  backface-visibility: hidden;
  overflow-y: auto;
  padding: 12px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(24, 48, 27, .98), rgba(7, 16, 9, .98));
  box-shadow: 0 14px 30px rgba(0, 0, 0, .25);
}

.cb2-smoke-product-card:hover .cb2-smoke-face,
.cb2-smoke-product-card:focus-visible .cb2-smoke-face { border-color: rgba(168, 255, 62, .62); }
.cb2-smoke-back { transform: rotateY(180deg); }
.cb2-smoke-face h3,
.cb2-smoke-face p { margin: 0; }
.cb2-smoke-front p { color: rgba(245, 255, 232, .7); font-size: .8rem; font-weight: 800; line-height: 1.4; }
.cb2-smoke-product-image {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 2px solid rgba(168, 255, 62, .28);
  border-radius: 15px;
  background: rgba(0, 0, 0, .25);
}
.cb2-smoke-product-image img { width: 100%; height: 100%; object-fit: contain; }
.cb2-smoke-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.cb2-smoke-badges .weed-quality-badge { margin-left: 0; }
.cb2-smoke-thc-badge { display: inline-flex; padding: 4px 8px; border: 1px solid rgba(168, 255, 62, .3); border-radius: 999px; background: rgba(168, 255, 62, .1); color: #dfffc1; font-size: .7rem; font-weight: 950; white-space: nowrap; }
.cb2-smoke-face .smoke-product-action-pill { width: 100%; min-height: 40px; margin-top: auto; border-radius: 999px; }
.cb2-smoke-product-details { display: grid; gap: 7px; color: rgba(245, 255, 232, .76); font-size: .82rem; font-weight: 750; line-height: 1.42; }
.cb2-smoke-sidebar { display: grid; gap: 12px; }
.cb2-smoking-choice {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(168, 255, 62, .18);
  border-radius: 16px;
  background: rgba(255, 255, 255, .045);
}
.cb2-smoking-choice > span:first-child,
.cb2-smoke-cleanup-icon {
  display: flex;
  width: 54px;
  height: 54px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(168, 255, 62, .22);
  border-radius: 15px;
  background: rgba(0, 0, 0, .25);
  font-size: 1.8rem;
}
.cb2-smoking-choice > span:last-child { display: grid; gap: 6px; min-width: 0; }
.cb2-smoking-choice strong { color: #f5ffe8; }
.cb2-smoking-choice select {
  width: 100%;
  box-sizing: border-box;
  min-height: 38px;
  padding: 7px 9px;
  border: 1px solid rgba(168, 255, 62, .3);
  border-radius: 11px;
  background: #efffde;
  color: #10200f;
  font-weight: 900;
}
.cb2-smoking-choice small,
.cb2-edible-boost-status small { color: rgba(245, 255, 232, .65); font-weight: 700; line-height: 1.35; }
.cb2-edible-boost-status { display: grid; gap: 4px; margin-top: 12px; padding: 10px; border: 1px solid rgba(98, 214, 255, .24); border-radius: 14px; background: rgba(98, 214, 255, .07); }
.cb2-smoke-cleanup { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 10px; border-color: rgba(255, 215, 93, .34); background: rgba(255, 215, 93, .07); }
.cb2-smoke-cleanup h2 { margin-bottom: 4px; }
.cb2-smoke-cleanup p:not(.cb2-eyebrow) { color: rgba(245, 255, 232, .7); line-height: 1.45; }
.cb2-smoke-mix-button { width: 100%; margin-top: 8px; border-radius: 999px; }

@media (max-width: 1100px) {
  .cb2-smoke-layout { grid-template-columns: 1fr; }
  .cb2-smoke-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .cb2-smoke-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cb2-smoke-heading { align-items: stretch; flex-direction: column; }
}

@media (max-width: 430px) {
  .cb2-smoke-product-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cb2-smoke-flip-inner { transition: none; }
}

/* Backup Dank Bank rebuilt as a native tabbed vault. */
.cb2-bank-page {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

/* Dank Bank uses the same illustrated-header language as Market and Smoke. */
.cb2-bank-themed-page { gap: 16px; }

.cb2-bank-header-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1584 / 179;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 215, 93, .34);
  border-radius: 22px;
  background: #1e2a1c;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .34);
}

.cb2-bank-header-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}

.cb2-bank-sign-card {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  min-height: 100%;
  margin: 0;
  pointer-events: none;
}

.cb2-bank-sign-card .cb2-shop-sign-inner,
.cb2-bank-sign-face {
  width: 100%;
  min-height: 100%;
  height: 100%;
}

.cb2-bank-sign-face {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cb2-bank-sign-art {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: initial;
  transform: none;
}

.cb2-bank-sign-face.cb2-shop-sign-back { background: transparent; }
.cb2-bank-sign-face.cb2-shop-sign-back > img {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: auto;
  filter: brightness(.26) saturate(.72);
}
.cb2-bank-sign-face.cb2-shop-sign-back > div {
  width: min(34%, 500px);
  box-sizing: border-box;
  padding: 6px 10px;
  transform: translateY(-8%);
}

.cb2-bank-sign-hitbox {
  position: absolute;
  z-index: 5;
  top: 9%;
  left: 28%;
  width: 44%;
  height: 64%;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 18px;
  background: transparent;
  color: transparent;
  cursor: default;
  pointer-events: auto;
}
.cb2-bank-sign-hitbox:focus-visible { outline: none; }

.cb2-bank-themed-page .cb2-bank-body {
  position: relative;
  isolation: isolate;
  border-color: rgba(255, 231, 116, .32);
  background-image: linear-gradient(rgba(3, 10, 5, .68), rgba(3, 10, 5, .7)), url("../images/dank-bank/dank-bank-bottom.webp");
  background-position: center, center bottom;
  background-size: cover;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .3);
}

.cb2-bank-themed-page .cb2-bank-panel { position: relative; }
.cb2-bank-themed-page .cb2-bank-toolbar,
.cb2-bank-themed-page .cb2-bank-tabs { padding-inline: 4px; }
.cb2-bank-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
}
.cb2-bank-heading h1 { margin: 0; color: var(--cb2-neon); }
.cb2-bank-heading p:not(.cb2-eyebrow) { margin: 5px 0 0; color: rgba(245, 255, 232, .72); font-weight: 800; }
.cb2-bank-wallet {
  padding: 8px 11px;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 999px;
  background: rgba(168, 255, 62, .09);
  color: rgba(245, 255, 232, .88);
  font-weight: 900;
  white-space: nowrap;
}
.cb2-bank-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.cb2-bank-toolbar label { display: grid; gap: 5px; color: rgba(245, 255, 232, .76); font-size: .76rem; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.cb2-bank-toolbar input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 8px 13px;
  border: 1px solid rgba(168, 255, 62, .28);
  border-radius: 999px;
  background: #efffde;
  color: #10200f;
  font-size: .96rem;
  font-weight: 850;
}
.cb2-bank-tabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.cb2-product-menu-tabs { margin: 0 0 12px; }
.cb2-bank-tab {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 7px;
  align-items: center;
  min-height: 40px;
  border: 1px solid rgba(168, 255, 62, .24);
  border-radius: 999px;
  background: rgba(255, 255, 255, .07);
  color: rgba(245, 255, 232, .82);
  box-shadow: none;
  white-space: nowrap;
}
.cb2-bank-tab > span { display: inline-flex; min-width: 22px; min-height: 22px; align-items: center; justify-content: center; padding: 2px 7px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; background: rgba(0, 0, 0, .24); color: var(--cb2-neon); font-size: .72rem; font-weight: 950; }
.cb2-bank-tab.active { border-color: rgba(168, 255, 62, .72); background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green)); color: #102010; }
.cb2-bank-tab.active > span { color: #102010; background: rgba(255, 255, 255, .42); }
.cb2-bank-body { min-height: 500px; overflow: hidden; border: 1px solid rgba(168, 255, 62, .2); border-radius: 20px; background: rgba(0, 0, 0, .18); }
.cb2-bank-panel { padding: 14px; }
.cb2-bank-panel[hidden] { display: none !important; }
.cb2-bank-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; align-items: stretch; }
.cb2-bank-panel-footer { display: flex; justify-content: flex-end; margin-top: 14px; }
.cb2-bank-item { min-width: 0; min-height: 465px; perspective: 1200px; outline: none; }
.cb2-bank-item[hidden] { display: none !important; }
.cb2-bank-item-inner { position: relative; min-height: 465px; transform-style: preserve-3d; transition: transform .48s ease; }
.cb2-bank-item.is-flipped .cb2-bank-item-inner { transform: rotateY(180deg); }
.cb2-bank-item-face {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  backface-visibility: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 11px;
  border: 1px solid rgba(168, 255, 62, .26);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(24, 48, 27, .98), rgba(7, 16, 9, .98));
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}
.cb2-bank-item:hover .cb2-bank-item-face,
.cb2-bank-item:focus-visible .cb2-bank-item-face { border-color: rgba(168, 255, 62, .6); }
.cb2-bank-item-back { transform: rotateY(180deg); background: linear-gradient(145deg, rgba(7, 15, 8, .99), rgba(1, 5, 2, .99)); color: #fff; }
.cb2-bank-item-face h3,
.cb2-bank-item-face p { margin: 0; }
.cb2-bank-item-face p { color: rgba(245, 255, 232, .74); font-size: .84rem; font-weight: 800; line-height: 1.4; }
.cb2-bank-item-media { display: flex; width: 100%; aspect-ratio: 1; align-items: center; justify-content: center; overflow: hidden; border: 1px solid rgba(168, 255, 62, .24); border-radius: 16px; background: rgba(0, 0, 0, .28); }
.cb2-bank-item-media img { width: 100%; height: 100%; object-fit: contain; padding: 5px; box-sizing: border-box; }
.cb2-bank-item-media .cb2-seed-pack-art { padding: 5px; box-sizing: border-box; }
.cb2-bank-item-media .cb2-seed-pack-art > img { padding: 0; }
.cb2-bank-product-icon { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-size: 4rem; }
.cb2-bank-item-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; align-items: center; }
.cb2-bank-item-actions button,
.cb2-bank-item-actions a { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; margin: 0 !important; padding: 7px 10px; border-radius: 999px; font-size: .76rem; font-weight: 950; text-decoration: none; }
.cb2-bank-item-actions .inventory-use-action { background: linear-gradient(135deg, var(--cb2-neon), var(--cb2-green)) !important; color: #071107 !important; }
.cb2-bank-process-shortcuts { display: flex; width: 100%; gap: 7px; align-items: center; flex-wrap: nowrap; overflow-x: auto; padding: 2px 0; }
.cb2-bank-process-shortcuts > a { width: 46px; height: 46px; min-height: 46px; flex: 0 0 46px; padding: 3px !important; overflow: hidden; border: 1px solid rgba(98, 214, 255, .38) !important; border-radius: 13px !important; background: rgba(98, 214, 255, .12) !important; }
.cb2-bank-process-shortcuts .cb2-refinement-media { width: 100%; height: 100%; min-height: 0; }
.cb2-bank-flip-toggle { width: 100%; min-height: 36px; margin-top: auto !important; border: 1px solid rgba(168, 255, 62, .28) !important; border-radius: 999px; background: rgba(168, 255, 62, .1) !important; color: var(--cb2-neon) !important; box-shadow: none !important; font-size: .76rem !important; font-weight: 950; }
.cb2-bank-item-details { display: grid; gap: 8px; padding: 10px; border: 1px solid rgba(168, 255, 62, .18); border-radius: 14px; background: rgba(0, 0, 0, .72); color: #fff; font-size: .88rem; font-weight: 850; line-height: 1.55; text-shadow: 0 1px 2px #000; }
.cb2-bank-nft-card.is-genesis .cb2-bank-item-face { border-color: rgba(255, 215, 93, .55); background: linear-gradient(145deg, rgba(63, 45, 7, .92), rgba(12, 10, 3, .98)); }
.cb2-bank-nft-description {
  display: -webkit-box;
  min-height: 2.8em;
  overflow: hidden;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.cb2-bank-nft-description-full { white-space: normal; }

@media (max-width: 820px) {
  .cb2-bank-heading,
  .cb2-bank-toolbar { grid-template-columns: 1fr; }
  .cb2-bank-wallet { width: fit-content; }
}
@media (max-width: 560px) {
  .cb2-bank-grid { grid-template-columns: 1fr; }
  .cb2-bank-sign-face.cb2-shop-sign-back > div { width: 50%; gap: 1px; padding: 4px 7px; }
  .cb2-bank-sign-face.cb2-shop-sign-back strong { font-size: .68rem; }
  .cb2-bank-sign-face.cb2-shop-sign-back span { font-size: .54rem; line-height: 1.05; }
  .cb2-bank-sign-face.cb2-shop-sign-back small { font-size: .48rem; line-height: 1.05; }
}
@media (prefers-reduced-motion: reduce) {
  .cb2-bank-item-inner { transition: none; }
}

.cb2-bank-item-face h3,
.cb2-smoke-face h3 {
  display: block;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
