/* ════════════════════════════════════════════════════════
   CORE GRID — Theme overrides
   Warm · readable · data-mono only where needed
   ════════════════════════════════════════════════════════ */

/* ── Flat surfaces, no glass glow ─────────────────────── */
.card,
.node-card,
.net-card,
.wallet-card,
.chakra-card,
.chakra-panel,
.asset-card,
.status-strip,
.wallet-stat,
.earn-task,
.earn-hero {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: none;
}

/* ── Kill decorative text glows ───────────────────────── */
.core-tap-timer,
.core-tap-timer--ready,
.asset-card__val,
.chakra-panel__mult,
.chakra-panel--armed .chakra-panel__mult,
.wallet-balance-card__val,
.chakra-result__val,
.chakra-card__val--teal,
.net-card__spec-val--teal,
.wallet-stat__val--grid,
.wallet-stat__val--teal,
.chakra-wheel-label,
.earn-hero__val {
  text-shadow: none;
}

/* ── Screen titles: clean sans ────────────────────────── */
.text-gradient,
.text-gradient--network {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--grid-2);
}
.text-gradient--chakra {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--cryo);
}
.text-gradient-gold {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--grid);
}

.screen-head__title,
.balance-modal__title,
.chakra-head__title,
.wallet-card__title,
.net-card__title,
.earn-card__title {
  font-family: var(--font-sans);
  font-size: var(--fs-title);
  font-weight: 800;
  letter-spacing: var(--ls-title);
  text-transform: uppercase;
  color: var(--text);
}

.screen-head__sub,
.chakra-head__sub,
.balance-modal__note,
.wallet-card__sub {
  font-family: var(--font-sans);
  color: var(--text-muted);
  letter-spacing: normal;
}

/* ── Section labels ───────────────────────────────────── */
.earn-section__label,
.wallet-balance-card__label,
.chakra-card__label,
.chakra-panel__title,
.net-card__label,
.era-head,
.node-card__stat-label,
.wallet-stat__key,
.core-tap-preview__label,
.asset-card__label {
  font-size: var(--fs-section);
  font-weight: 600;
  letter-spacing: var(--ls-section);
  text-transform: uppercase;
  color: var(--text-muted);
}

/* ── Big numeric displays (mono) ──────────────────────── */
.asset-card__val {
  font-size: clamp(0.95rem, 4.2vw, 1.1rem);
  font-weight: 700;
}

.core-tap-timer {
  font-size: var(--fs-timer);
  font-weight: 700;
  color: var(--grid-2);
  letter-spacing: 0.02em;
  text-shadow: none;
}

.core-tap-timer--ready {
  color: var(--grid-2);
  text-shadow: none;
}

.core-tap-preview__grid {
  font-size: clamp(1.1rem, 4.8vw, 1.35rem);
  font-weight: 700;
}

.core-tap-preview__cryo {
  color: var(--cryo);
  font-weight: 600;
}

.core-tap-headline {
  color: var(--grid);
  letter-spacing: var(--ls-title);
}

.wallet-balance-card__val,
.balance-modal__balance,
.balance-modal__balance--cryo {
  font-size: var(--fs-card-val);
  font-weight: 700;
}

.chakra-result__val {
  font-size: var(--fs-card-val);
  font-weight: 700;
}

/* ── Buttons: sans, compact ───────────────────────────── */
.core-action-label {
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: var(--ls-btn);
}

.core-action-label--claim {
  color: var(--grid);
  font-size: var(--fs-md);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.core-action-label--offline {
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
}

.deploy-btn,
.node-card--lifecycle .deploy-btn,
.chakra-panel,
.chakra-panel__btn,
.wallet-card__cta,
.balance-modal__btn,
.balance-modal__close,
.balance-modal__btn--cta,
.chakra-btnx,
.chakra-btnx--cta,
.wallet-mode-tabs__btn,
.earn-task__btn,
.earn-btn,
.net-btn,
.earn-hero__boost {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: var(--ls-btn);
  text-transform: uppercase;
  box-shadow: none;
}

.deploy-btn--ready {
  border: 2px solid var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
}

.earn-task__btn--claim {
  border-color: var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
}

.chakra-panel__btn,
.chakra-btnx--cta,
.wallet-card__cta,
.balance-modal__btn--cta,
#walletDepositBtn,
#gridModalTestBtn,
#gridModalDepositTestBtn {
  border: 2px solid var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
}

.wallet-mode-tabs__btn--active {
  border: 2px solid var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
}

/* ── Bottom nav: raised core tab (visual on icon circle) ─ */
.nav__icon--core {
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.45);
}

.nav__tab--core.nav__tab--active .nav__icon--core {
  border-width: 3px;
  border-color: var(--core);
  background: var(--primary-dim);
}

/* ── Chakra: amethyst accents ─────────────────────────── */
.chakra-panel {
  background: var(--card);
  border: 1px solid var(--border);
}

.chakra-panel--armed {
  border-color: var(--cryo);
  background: var(--premium-dim);
  box-shadow: none;
}

.chakra-panel__mult {
  color: var(--cryo);
}

.chakra-modal__panel,
.balance-modal__panel {
  background: var(--bg);
  border: 2px solid var(--border-strong);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.chakra-wheel__ring--edge {
  stroke: var(--border-strong);
}

.chakra-pointer {
  filter: none;
}

/* ── Chakra: keep mechanic, simplify chrome ───────────── */
.node-card,
.net-card {
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: none;
}

.node-card__price {
  font-family: var(--font-mono);
  font-weight: 700;
}

.node-card__output {
  font-family: var(--font-mono);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--grid);
}

.earn-btn--cta,
.net-btn--cta,
.chakra-btnx--cta {
  border: 2px solid var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
  box-shadow: none;
}

.earn-btn--armed {
  border: 2px solid var(--cryo);
  background: var(--premium-dim);
  color: var(--cryo);
}

/* ── Heat / status ────────────────────────────────────── */
.heat-label__pct {
  color: var(--grid-2);
  font-weight: 700;
}

.status-strip--boost {
  color: var(--grid);
  border-color: var(--grid);
  background: var(--primary-dim);
}

.status-strip--charging {
  color: var(--core);
  border-color: var(--core);
  background: rgba(255, 157, 46, 0.1);
}

.topbar__brand {
  font-family: var(--font-sans);
  color: var(--grid-2);
}

.earn-card__title {
  font-size: var(--fs-lg);
  text-transform: none;
}

/* ── UI chrome: sans, normal spacing ──────────────────── */
.status-strip,
.status-sub,
.heat-label,
.heat-label__title,
.toast,
.net-card__title,
.net-card__sub,
.net-card__spec-key,
.earn-task__title,
.earn-task__sub,
.earn-card__title,
.earn-card__sub,
.chakra-head__sub,
.balance-modal__note,
.balance-modal__section-text,
.wallet-info,
.core-tap-preview__note,
.core-tap-preview__boost,
.core-tap-timer__sub,
.core-metrics__secondary {
  font-family: var(--font-sans);
  letter-spacing: normal;
}

.status-strip {
  font-weight: 600;
}

.chakra-panel__title {
  font-size: var(--fs-section);
  font-weight: 600;
  letter-spacing: var(--ls-section);
  text-transform: uppercase;
}

/* ── Modals backdrop ──────────────────────────────────── */
.chakra-modal__backdrop,
.balance-modal__backdrop {
  backdrop-filter: none;
  background: rgba(0, 0, 0, 0.78);
}

/* ── Feature flags & API state ───────────────────────── */
.feature--hidden {
  display: none !important;
}

.nav__tab--disabled {
  opacity: 0.35 !important;
  pointer-events: none;
  cursor: not-allowed;
}

.panel--feature-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.app-pages--blocked {
  pointer-events: none;
  user-select: none;
}

.api-unavailable {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--app-h-pad);
  background: rgba(11, 9, 8, 0.92);
}

.api-unavailable--hidden {
  display: none;
}

.api-unavailable__panel {
  width: 100%;
  max-width: 320px;
  padding: 20px 18px;
  border-radius: var(--r-md);
  border: 2px solid var(--border-strong);
  background: var(--surface);
  text-align: center;
}

.api-unavailable__title {
  font-size: var(--fs-section);
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}

.api-unavailable__text {
  font-size: 13px;
  line-height: 1.45;
  color: var(--text-muted);
  margin: 0 0 16px;
}

.api-unavailable__retry {
  width: 100%;
  min-height: 44px;
  border-radius: var(--r-sm);
  border: 2px solid var(--grid);
  background: var(--primary-dim);
  color: var(--grid);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}

/* Auth-required: full replacement screen (no dimmed app behind) */
body.is-auth-required .app-frame,
body.is-auth-required .app-shell,
body.is-auth-required .bottom-nav,
body.is-auth-required .panel,
body.is-auth-required .app-pages,
body.is-auth-required .app-main,
body.is-auth-required .toast {
  display: none !important;
}

body.is-auth-required .api-unavailable {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: var(--app-h-pad);
  background: var(--bg);
}

body.is-auth-required .api-unavailable__brand {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--grid);
  text-align: center;
}

.api-unavailable__brand {
  display: none;
}

body.is-auth-required .api-unavailable__panel {
  max-width: 340px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.earn-card--daily {
  border-color: rgba(255, 176, 74, 0.28);
}

.earn-daily__metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.earn-daily__reward {
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--chakra);
}

.earn-btn--disabled,
.earn-btn:disabled {
  opacity: 0.45;
  pointer-events: none;
}
