/* -------- dev-only economy reveal gate --------
 * Paired with scripts/econ-gate.js. Economy / wave / claim surfaces are hidden
 * by default (html.tw-econ-off) and shown with a loud dashed magenta outline in
 * reveal mode (html.tw-econ-reveal) — a border that clearly says "this is not
 * normally here". Two tagging conventions:
 *   1. `data-econ` attribute on the element (preferred — grep it to find every
 *      surface when we strip for real in pass 2).
 *   2. The explicit selector list below, for JS-rendered DOM we didn't want to
 *      touch (stable classes/ids only).
 * Backend endpoints, world data, and feature flags are untouched — this file
 * only hides chrome. */

html.tw-econ-off [data-econ],
/* --- builder chrome --- */
html.tw-econ-off .token-corner,          /* $TINYWORLD ticker + CA + GitHub link */
html.tw-econ-off #unpack-prompt,         /* "claim your FREE worlds" bubble */
html.tw-econ-off #tab-wallet,            /* Account → Wallet tab */
html.tw-econ-off #panel-wallet,
html.tw-econ-off .auth-wallet-section,   /* "Sign in with Phantom" (email login stays) */
html.tw-econ-off .tw-pp-stats,           /* player panel G / $TW / holdings tier */
html.tw-econ-off .brand-countdown,       /* countdown.js mount in the builder brand */
html.tw-econ-off .tw-countdown,          /* any countdown.js mount */
html.tw-econ-off [data-countdown-mount], /* static countdown mount points (landing hero) */
/* --- worlds universe overlay (46) --- */
html.tw-econ-off .tw-worlds-tab[data-tab="sale"],
html.tw-econ-off .tw-worlds-tab[data-tab="reserve"],
html.tw-econ-off .tw-worlds-deal,        /* price / hold-to-unlock rows on cards */
html.tw-econ-off .tw-worlds-claim-banner,
html.tw-econ-off .tw-badge.unclaimed,    /* "For sale" */
html.tw-econ-off .tw-badge.reserve,
/* --- market / village / packs --- */
html.tw-econ-off .tv-market-overlay,     /* Phantom buy status overlay */
html.tw-econ-off #village-commission-btn,
html.tw-econ-off #village-commission-modal,
html.tw-econ-off #new-world-reveal,      /* island rarity/yield reveal (JS-guarded too) */
/* --- card_reveal / store pages --- */
html.tw-econ-off .pack-shop,
html.tw-econ-off .gold-pill,
html.tw-econ-off #tinyverseStoreHub,
/* --- wave taxonomy (features / roadmap) --- */
html.tw-econ-off #wave-filter,
html.tw-econ-off .wave-badge,
html.tw-econ-off .admin-wave-select,
html.tw-econ-off .wave-select,
html.tw-econ-off .wave-row,              /* roadmap detail-modal wave row */
/* --- cross-page links to gated pages --- */
html.tw-econ-off a[href="/rewards"],
html.tw-econ-off a[href="/card_reveal"],
html.tw-econ-off a[href="doc.html?file=docs/economy.md"],
html.tw-econ-off a[href="/assets/tinyworld-economy-guide.pdf"] {
  display: none !important;
}

html.tw-econ-reveal [data-econ],
html.tw-econ-reveal .token-corner,
html.tw-econ-reveal #unpack-prompt,
html.tw-econ-reveal #tab-wallet,
html.tw-econ-reveal #panel-wallet,
html.tw-econ-reveal .auth-wallet-section,
html.tw-econ-reveal .tw-pp-stats,
html.tw-econ-reveal .brand-countdown,
html.tw-econ-reveal .tw-countdown,
html.tw-econ-reveal [data-countdown-mount],
html.tw-econ-reveal .tw-worlds-tab[data-tab="sale"],
html.tw-econ-reveal .tw-worlds-tab[data-tab="reserve"],
html.tw-econ-reveal .tw-worlds-deal,
html.tw-econ-reveal .tw-worlds-claim-banner,
html.tw-econ-reveal .tw-badge.unclaimed,
html.tw-econ-reveal .tw-badge.reserve,
html.tw-econ-reveal .tv-market-overlay,
html.tw-econ-reveal #village-commission-btn,
html.tw-econ-reveal #village-commission-modal,
html.tw-econ-reveal #new-world-reveal,
html.tw-econ-reveal .pack-shop,
html.tw-econ-reveal .gold-pill,
html.tw-econ-reveal #tinyverseStoreHub,
html.tw-econ-reveal #wave-filter,
html.tw-econ-reveal .wave-badge,
html.tw-econ-reveal .admin-wave-select,
html.tw-econ-reveal .wave-select,
html.tw-econ-reveal .wave-row,
html.tw-econ-reveal a[href="/rewards"],
html.tw-econ-reveal a[href="/card_reveal"],
html.tw-econ-reveal a[href="doc.html?file=docs/economy.md"],
html.tw-econ-reveal a[href="/assets/tinyworld-economy-guide.pdf"] {
  outline: 3px dashed #ff2bd6 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(255, 43, 214, 0.22) !important;
}
