.tx-progress {
  position: fixed; inset: auto 18px 18px auto; margin: 0; width: min(350px, calc(100vw - 36px));
  border: 1px solid var(--line-2); border-radius: 16px; padding: 16px; background: #fffdf8;
  color: var(--ink); box-shadow: 0 12px 42px #30271026; font-family: var(--sans); pointer-events: none; z-index: 480;
}
.tx-progress::backdrop { background: transparent; pointer-events: none; }
.tx-progress__head { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.tx-progress__orbit { width: 13px; height: 13px; border: 1.5px solid var(--gold-pale); border-top-color: var(--gold); border-radius: 50%; animation: tx-spin 1.2s linear infinite; }
.tx-progress ol { display: flex; justify-content: space-between; list-style: none; margin: 16px 0 8px; padding: 0; gap: 5px; }
.tx-progress li { flex: 1; color: var(--ink-3); font-size: 10px; border-top: 2px solid var(--line); padding-top: 7px; }
.tx-progress li.is-current { border-color: var(--gold-lit); color: #8b6527; font-weight: 800; }
.tx-progress li.is-complete { border-color: #4e9e76; color: #397858; }
.tx-progress p { font-size: 11px; margin: 0; color: var(--ink-2); line-height: 1.5; }
.tx-progress[data-stage="2"] .tx-progress__orbit, .tx-progress[data-stage="error"] .tx-progress__orbit { animation: none; border-color: #4e9e76; }
.tx-progress[data-stage="error"] .tx-progress__orbit { border-color: var(--c1); }
@keyframes tx-spin { to { transform: rotate(360deg); } }
.diorama-hud.is-selected { border-color: color-mix(in srgb, var(--gold) 50%, var(--line)); }
.diorama-hud__identity { color: var(--gold); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
@media (prefers-reduced-motion: reduce) { .tx-progress__orbit { animation: none; } }

/* Odds and their estimates stay together in a compact two-column tier grid. */
.odd__apr { grid-column: 1 / -1; font-size: .7rem; line-height: 1.35; color: var(--ink-2); text-align: left; font-variant-numeric: tabular-nums; }
.nft-mint a.btn { opacity: 1; cursor: pointer; }
#deployment-status:not([hidden]) { padding: 1rem; text-align: center; border-bottom: 1px solid var(--border); }
.wallet-notice { margin: 0; padding: .6rem 1rem; text-align: center; font-size: .78rem; color: var(--ink-2); background: var(--gold-wash); border-bottom: 1px solid var(--line); }
.protocol-v2 .testnet__in { max-width: none; padding: .5rem clamp(1rem, 2vw, 2rem); gap: .5rem 1rem; }
.protocol-v2 .testnet__chain { font-size: .6rem; letter-spacing: .04em; }
.protocol-v2 .testnet__gain { font-size: .7rem; }
.protocol-v2 #testnet-add { padding: .45rem .8rem; min-height: 36px; font-size: .65rem; }
.protocol-v2 .testnet__link { padding: .55rem .1rem; font-size: .65rem; }
.protocol-v2 .stat { min-width: 0; align-content: start; }
.protocol-v2 .stat > * { min-width: 0; overflow-wrap: anywhere; }
.protocol-v2 .stat:has(#daily) .stat__v { font-size: 1.1rem; }
.protocol-v2 .stat:has(#apr), .protocol-v2 .stat:has(#emission-current) { grid-column: auto; }
.protocol-v2 .stat:has(#apr) .stat__v,
.protocol-v2 .stat:has(#emission-current) .stat__v { font-size: 1.05rem; }
.protocol-v2 .odds { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; padding: .45rem; }
.protocol-v2 .odd { min-width: 0; grid-template-columns: 6px minmax(0, 1fr) auto; column-gap: .25rem; row-gap: .15rem; padding: .35rem .25rem; font-size: .7rem; }
.protocol-v2 .odd__pip { width: 6px; height: 6px; }
.protocol-v2 .odd > span:not([class]) { overflow-wrap: anywhere; }
.protocol-v2 .odd__apr { overflow-wrap: anywhere; }
@media (max-width: 759px) {
  .play__slots .slotwrap.diorama-wrap { flex: 0 0 auto; height: 370px; min-height: 330px; }
  .play .pack__diorama-wrap { height: 170px; min-height: 150px; }
}

/* Compact mining instruments within the original three-panel layout. The chip
   is decoration; no invented price history or percentage gauge is shown. */
.play__actions .mining-stats {
  order: -1; gap: .55rem; grid-template-columns: repeat(2, minmax(0, 1fr));
  background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible;
}
.play__actions .mining-stats .stat {
  min-width: 0; box-shadow: none; border: 1px solid var(--line); border-radius: 12px;
  background: #faf8f2; padding: .75rem; gap: .35rem;
}
.mining-stats .stat__k { display: flex; align-items: center; gap: .35rem; font-size: .63rem; letter-spacing: .08em; }
.mining-stats .stat__k svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.play__actions .mining-stats .stat__d { font-size: .69rem; line-height: 1.4; }
.play__actions .mining-stats .mining-stats__hash {
  grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between;
  gap: .7rem; padding: .85rem 1rem; position: relative; overflow: hidden;
  color: #faf3df; border-color: #444033;
  background: radial-gradient(ellipse at 100% 0, #625337 0, transparent 75%), #292a24;
  box-shadow: inset 0 1px 0 #f4db9b26, 0 5px 12px #292a2412;
}
.mining-stats__hash-copy { display: grid; gap: .25rem; min-width: 0; }
.mining-stats__hash .stat__k { color: #dcc697; }
.play__actions .mining-stats__hash .stat__v { font-size: clamp(1.4rem, 2vw, 1.95rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.2; overflow-wrap: anywhere; }
.play__actions .mining-stats__hash .stat__d { color: #c5c1b4; }
.mining-stats__hash .pending { color: #c5c1b4; }
.mining-stats__chip { width: 78px; height: 78px; flex: 0 0 auto; color: #e3bf77; filter: drop-shadow(0 6px 6px #0003); }
.play__actions .mining-stats .mining-stats__reward { background: #eef3ed; border-color: #d6e1d3; }
.mining-stats__reward .stat__k { color: #46614b; }
.play__actions .mining-stats .mining-stats__apr { background: #f6f0e2; border-color: #e7dbc2; }
.mining-stats__apr .stat__k { color: #7c602c; }
.play__actions .mining-stats__reward .stat__v,
.play__actions .mining-stats__apr .stat__v { font-size: clamp(1.2rem, 1.7vw, 1.55rem); letter-spacing: -.035em; line-height: 1.2; }
.play__actions .mining-stats .mining-stats__row {
  grid-column: 1 / -1 !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  column-gap: .6rem; row-gap: .1rem; padding: .35rem .15rem .5rem;
  background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
}
.play__actions .mining-stats__row .stat__k { text-transform: none; letter-spacing: 0; font-size: .72rem; font-weight: 600; color: var(--ink-2); }
.play__actions .mining-stats__row .stat__v { text-align: right; font-size: .8rem; line-height: 1.4; align-self: center; }
.play__actions #emission-current { font-size: .8rem; }
.play__actions .mining-stats__row .stat__d { grid-column: 1 / -1; color: var(--ink-3); font-size: .63rem; }
.play__actions .actions__btns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding-top: .15rem; }
.play__actions #claim-revenue { grid-column: 1 / -1; order: -1; background: #303229; color: #faf3df; border-color: #303229; }
.play__actions #claim-revenue:not(:disabled):hover { background: #464938; }
.play__actions .referral-offer { grid-column: 1 / -1; }
.play__actions .actions__btns .btn { white-space: normal; padding: .65rem .45rem; min-height: 44px; font-size: .72rem; }
.play__actions #claim-yield { display: flex; flex-wrap: wrap; justify-content: center; column-gap: .25rem; }
.play__actions #unclaimed { font-size: .68rem; line-height: 1.5; color: var(--ink-3); }
@media (min-width: 760px) and (max-width: 1239px) {
  .play__actions .actions { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 1.2rem; align-items: center; }
  .play__actions .actions__btns { grid-template-columns: 1fr; }
  .play__actions .mining-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* A compact, interactive board for browsers without WebGL. */
.diorama-stage.diorama-static { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: .4rem; padding: .65rem; }
.diorama-static__slot { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-content: center; column-gap: .25rem; padding: .35rem; min-width: 0; min-height: 0; border: 1px solid #dacfb8; border-radius: 10px; background: #fffdf8; color: var(--ink); cursor: pointer; text-align: left; }
.diorama-static__slot small { grid-column: 1 / -1; font-size: .55rem; line-height: 1; color: var(--ink-3); }
.diorama-static__slot svg { width: 28px; height: 28px; grid-row: span 2; align-self: center; }
.diorama-static__slot strong { font-size: .63rem; line-height: 1.3; overflow-wrap: anywhere; }
.diorama-static__slot span { font-size: .54rem; line-height: 1.3; color: var(--ink-2); }
.diorama-static__slot.is-locked { background: #e9e4d8; }
.diorama-static__slot:disabled { opacity: .6; cursor: default; }
.diorama-static__slot.is-selected, .diorama-static__slot:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; background: #fff5db; }
.pack-diorama-stage.pack-static { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; padding: 1.2rem 1.2rem 3rem; align-content: center; }
.pack-static span { padding: .65rem .3rem; border: 1px solid #d9cbb0; border-radius: 8px; background: #fffaf0; text-align: center; font: 600 .75rem/1.3 var(--sans); color: var(--ink-2); }

.wallet-section-label { margin: .2rem 0 .45rem; font: 600 .63rem/1.4 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: var(--ink-3); }
.wallet-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: .5rem; }
.wallet-app { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; min-height: 50px; padding: .6rem .3rem; border: 1px solid var(--line); border-radius: 12px; background: #faf7ef; color: var(--ink); font: 600 .74rem/1.3 var(--sans); cursor: pointer; }
.wallet-app:hover, .wallet-app:focus-visible { border-color: var(--gold); background: #fff3d7; }
.wallet-mobile-note { margin: .7rem 0 0; color: var(--ink-3); }
.walletconnect-sheet { max-height: calc(100dvh - 24px); }
.walletconnect-sheet .sheet__body { gap: .75rem; }
.walletconnect-qr { display: grid; place-items: center; min-height: 120px; border-radius: 16px; background: #fff; }
.walletconnect-qr img { width: min(288px, 100%); height: auto; aspect-ratio: 1; }
#wc-open-app[hidden], #wc-qr[hidden], #wallet-mobile-options[hidden] { display: none !important; }
#wc-open-app { width: 100%; }
#dialog-wallet .wallet-opt { min-height: 56px; }
/* Small surface and spacing refinements within the original three panels. */
.play > .panel { justify-content: flex-start; background: linear-gradient(145deg, #fff 30%, #fcfaf5); }
.play .panel__head { align-items: center; min-height: 34px; padding-bottom: .7rem; margin-bottom: .9rem; border-bottom: 1px solid var(--line); }
.play .panel__title { font-size: clamp(1.1rem, 1.7vw, 1.4rem); letter-spacing: -.035em; }
.play .panel__title::before { content: ''; display: inline-block; width: 5px; height: .85em; margin-right: .55rem; border-radius: 3px; background: linear-gradient(#d6b46e, #a87c3a); vertical-align: -.02em; }
.pack__card { justify-content: flex-start; gap: 1rem; padding: .85rem; background: linear-gradient(155deg, #fffefa, #f8f4e9); }
.play .pack__diorama-wrap { flex: 0 0 auto; height: 220px; min-height: 170px; }
.pack__purchase { display: grid; gap: .8rem; padding: .35rem .15rem; }
.pack__price { font-size: clamp(1.8rem, 2.7vw, 2.45rem); font-weight: 800; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.pack__price-box { gap: .45rem; }
.pack__purchase .btn--play { margin-top: 0; min-height: 50px; padding: .8rem 1rem; border-radius: 13px; background: linear-gradient(120deg, #e5c785, #d3aa55); border-color: #b48b41; box-shadow: 0 5px 12px -7px #88612680, inset 0 1px 0 #fff8; }
.pack__card > .odds { margin-top: auto; background: #fffdf8; }
.protocol-v2 .odd { padding: .55rem .35rem; }
.protocol-v2 .odd__apr { min-height: 2.7em; font-size: .68rem; line-height: 1.35; }
.play__actions .mining-stats .stat { transition: border-color .22s, box-shadow .22s, transform .22s; }
.play__actions .actions__btns { margin-top: .3rem; }
.play__actions .actions__btns .btn { border-radius: 12px; }
.nav { background: linear-gradient(110deg, #fffdf8, var(--paper) 65%); }
.nav__out { transition: background .2s, color .2s, transform .2s; }
.nav__out--content { color: #755320; background: #f2e7cd; box-shadow: inset 0 0 0 1px #bc98472b; white-space: nowrap; }
.content-nav { flex: 0 0 auto; }
@media (hover: hover) and (pointer: fine) {
  .nav__out:hover { transform: translateY(-2px); }
  .play__actions .mining-stats .stat:not(.mining-stats__row):hover { transform: translateY(-2px); box-shadow: 0 5px 12px -8px #30271060; border-color: #bcab83; }
  .pack__purchase .btn--play:not(:disabled):hover { transform: translateY(-2px); box-shadow: 0 8px 18px -8px #88612690; }
}
@media (prefers-reduced-motion: no-preference) {
  .mining-stats__chip { animation: chip-hover 5s ease-in-out infinite; }
  .pack__diorama-pip { animation: pack-signal 3s ease-in-out infinite; }
  .content-nav:not([hidden]) { animation: softSlideUp .3s ease both; }
  .play__actions .mining-stats .stat { animation: softSlideUp .45s ease backwards; }
  .play__actions .mining-stats .stat:nth-child(2) { animation-delay: .12s; }
  .play__actions .mining-stats .stat:nth-child(3) { animation-delay: .2s; }
}
@keyframes chip-hover { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-4px) rotate(2deg); } }
@keyframes pack-signal { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@media (max-width: 759px) { .play .pack__diorama-wrap { height: 180px; } }
@media (max-width: 620px) {
  /* Connected content gets the full navigation row; audio stays above it. */
  .nav:has(.content-nav:not([hidden])) .nav__centre { grid-column: 1 / -1; grid-row: 3; width: 100%; justify-content: space-between; flex-wrap: wrap; }
  .nav:has(.content-nav:not([hidden])) .nav__utility { grid-row: 2; grid-column: 1; justify-self: start; }
  .nav:has(.content-nav:not([hidden])) .nav__right { grid-row: 1 / span 2; align-self: start; }
  .nav__out--content { font-size: .67rem; padding-inline: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .nav__out:hover, .pack__card:hover, .play__actions .mining-stats .stat:hover, .pack__purchase .btn--play:hover { transform: none; }
}
@media (max-width: 480px) {
  .walletconnect-sheet .sheet__head { padding: .8rem 1rem; }
  .walletconnect-sheet .sheet__body { padding: .8rem 1rem 1rem; }
  .walletconnect-qr img { max-width: 230px; }
}

/* Public token identity; wraps without widening the mobile viewport. */
.aeth-contract { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; padding:.85rem 1rem; border:1px solid var(--line, #d5cfc2); border-radius:14px; font-size:.78rem; }
.aeth-contract[hidden] { display:none; }
.aeth-contract > span { font-weight:700; }
.aeth-contract > a { min-width:0; overflow-wrap:anywhere; color:inherit; font-family:monospace; }
.aeth-contract > button { cursor:pointer; border:1px solid currentColor; border-radius:8px; background:transparent; color:inherit; padding:.5rem .8rem; font:inherit; }
