/* IRONCORE construction festival palette — original UI, not a copy of any other product */
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap');

:root {
  --fz-font: 'Fredoka', system-ui, sans-serif;
  --fz-purple-deep: #2a1148;
  --fz-purple: #4e2482;
  --fz-purple-mid: #6e3aab;
  --fz-purple-soft: #a078d8;
  --fz-pink: #ff4aa8;
  --fz-orange: #ff9a1f;
  --fz-yellow: #ffe45a;
  --fz-lime: #8fe02a;
  --fz-lime-dark: #5ca016;
  --fz-ink: #2a0a45;
  --fz-ink-soft: #4c2a6e;
  --fz-white: #fffef8;
  --fz-stroke: #2a0a45;
  --fz-stroke-w: 3px;
  --fz-radius: 22px;
  --fz-radius-lg: 28px;
  --fz-ease: cubic-bezier(0.34, 1.2, 0.64, 1);
  --fz-safe-top: env(safe-area-inset-top, 0px);
  --fz-safe-bottom: env(safe-area-inset-bottom, 0px);
  --fz-skyline-height: clamp(68px, 18vw, 96px);

  /* Colored fiesta panels — not flat white */
  --fz-surface-purple: linear-gradient(155deg, #a855e8 0%, #6e3aab 46%, #4e2482 100%);
  --fz-surface-pink: linear-gradient(155deg, #ff5a9e 0%, #d946a8 42%, #7a3db8 100%);
  --fz-surface-orange: linear-gradient(155deg, #ffd066 0%, #ff9a1f 40%, #e85a8a 100%);
  --fz-surface-magenta: linear-gradient(160deg, #c94bb8 0%, #8b3aab 55%, #5a2b92 100%);
  --fz-surface-green: linear-gradient(155deg, #9ad926 0%, #5ca016 35%, #5a2b92 100%);
  --fz-surface-bg: var(--fz-surface-purple);
  --fz-surface-bg-compact: linear-gradient(160deg, rgba(122, 61, 184, 0.98) 0%, rgba(62, 28, 106, 0.98) 100%);
  --fz-cap-strip: linear-gradient(
    90deg,
    var(--fz-lime) 0%,
    var(--fz-yellow) 20%,
    var(--fz-orange) 40%,
    var(--fz-pink) 62%,
    var(--fz-purple-mid) 82%,
    var(--fz-lime) 100%
  );
  --fz-surface-3d:
    inset 0 2px 0 rgba(255, 255, 255, 0.18),
    inset 0 -4px 10px rgba(0, 0, 0, 0.22),
    0 4px 0 var(--fz-stroke),
    0 14px 28px rgba(0, 0, 0, 0.32);

  --ic-font: var(--fz-font);
  --ic-bg: transparent;
  --ic-surface: var(--fz-surface-bg);
  --ic-text: var(--fz-white);
  --ic-text-2: rgba(255, 254, 248, 0.86);
  --ic-muted: rgba(255, 254, 248, 0.68);
  --ic-line: rgba(42, 10, 69, 0.15);
  --ic-accent: var(--fz-pink);
  --ic-accent-soft: rgba(255, 74, 168, 0.16);
  --ic-accent-mid: var(--fz-orange);
  --ic-radius: var(--fz-radius);
  --ic-radius-lg: var(--fz-radius-lg);
  --ic-shadow: var(--fz-surface-3d);
  --ic-ease: var(--fz-ease);
  --ic-safe-top: var(--fz-safe-top);
  --ic-safe-bottom: var(--fz-safe-bottom);

  --icp-orange: var(--fz-orange);
  --icp-orange-hot: #ffb347;
  --icp-orange-deep: #e8870a;
  --icp-ink: var(--fz-white);
  --icp-muted: rgba(255, 254, 248, 0.78);
  --icp-line: var(--ic-line);
  --icp-bg: transparent;
  --icp-card: var(--fz-surface-bg);
  --icp-ease: var(--fz-ease);
}

html {
  margin: 0;
  min-height: 100%;
  background: var(--fz-purple-deep);
}

body.fz-theme,
body.ic-dash,
body.ic-shop,
body.ic-myasset,
body.ic-team,
body.ic-profile {
  font-family: var(--fz-font);
  color: var(--fz-white);
  -webkit-font-smoothing: antialiased;
  background-color: var(--fz-purple-deep);
  background-image: none;
}

body.icp-page,
body.ic-auth {
  font-family: var(--fz-font);
  color: var(--fz-white);
  -webkit-font-smoothing: antialiased;
  background-color: var(--fz-purple-deep);
  background-image:
    repeating-conic-gradient(
      from 0deg at 50% -8%,
      rgba(255, 228, 90, 0.09) 0deg 9deg,
      transparent 9deg 18deg
    ),
    radial-gradient(ellipse 130% 70% at 50% -18%, #9b62d4 0%, transparent 58%),
    linear-gradient(180deg, #5a2b92 0%, #2a1148 55%, #1c0b32 100%);
  background-attachment: fixed;
}

/* Top banner — static/incore.png (buildings sit at bottom of asset; crop from bottom) */
.fz-skyline {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  pointer-events: none;
  overflow: hidden;
  padding-top: env(safe-area-inset-top, 0px);
  background: linear-gradient(180deg, #6e3aab 0%, #4e2482 72%);
}

.fz-skyline--incore {
  height: calc(var(--fz-skyline-height) + env(safe-area-inset-top, 0px));
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.fz-skyline--incore + .fz-sun-deco {
  display: none;
}

.fz-skyline__img {
  width: 100%;
  max-width: 100%;
  height: var(--fz-skyline-height);
  object-fit: cover;
  object-position: center bottom;
  display: block;
  flex-shrink: 0;
}

.fz-sun-deco {
  position: fixed;
  top: calc(6px + env(safe-area-inset-top, 0px));
  right: max(10px, calc(50% - 210px + 10px));
  width: 54px;
  height: 54px;
  z-index: 88;
  pointer-events: none;
  opacity: 0.5;
}

.fz-sun-deco::before {
  content: '';
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--fz-yellow) 0%, var(--fz-orange) 100%);
  border: 3px solid var(--fz-stroke);
  box-shadow: 0 3px 0 var(--fz-stroke);
}

.fz-sun-deco::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: repeating-conic-gradient(
    from -4deg at 50% 50%,
    rgba(255, 154, 31, 0.85) 0deg 10deg,
    transparent 10deg 20deg
  );
  -webkit-mask: radial-gradient(circle, transparent 42%, #000 44%);
  mask: radial-gradient(circle, transparent 42%, #000 44%);
}

body.fz-theme .ha-shell {
  position: relative;
}

body.fz-theme .ic-top {
  padding-top: 8px;
}

.fz-theme .ha-frame,
.fz-theme .ha-shell,
body.icp-page .ha-frame,
body.icp-page .ha-shell,
body.ic-auth .ha-frame,
body.ic-auth .ha-shell {
  background: transparent;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.fz-theme.has-ic-bnav .ha-shell {
  padding-bottom: calc(78px + var(--fz-safe-bottom));
}

.fz-card,
.ic-menu,
.ic-welcome,
.ic-promo,
.ic-panel,
.ic-shop-card,
.ic-ma-tile,
.ic-ma-card,
.ic-ma-slide-empty,
.ic-team-metric,
.ic-team-level-row,
.ic-team-faq,
.ic-prof-user,
.ic-prof-earn__cell,
.ic-prof-nav__item,
.ic-prof-about,
.ic-top__btn,
.icp-card,
.icp-wallet-hero,
.icp-wallet-form,
.icp-account,
.icp-channel,
.icp-chip,
.ic-td-pill,
.ic-td-row,
.ic-td-desc,
.ic-td-empty {
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  box-shadow: var(--fz-surface-3d);
}

.fz-card,
.ic-menu,
.ic-welcome,
.ic-promo,
.ic-panel,
.ic-shop-card,
.ic-ma-tile,
.ic-ma-card,
.ic-ma-slide-empty,
.ic-team-metric,
.ic-team-level-row,
.ic-team-faq,
.ic-prof-user,
.ic-prof-earn__cell,
.ic-prof-nav__item,
.ic-prof-about,
.ic-top__btn,
.icp-card,
.icp-wallet-hero,
.icp-wallet-form,
.icp-account,
.icp-channel,
.icp-chip,
.ic-td-pill,
.ic-td-row,
.ic-td-desc,
.ic-td-empty,
body.ic-auth--fiesta .ic-fiesta-panel,
body.ic-auth--fiesta .ic-reg-body {
  background: var(--fz-surface-bg);
  color: var(--fz-white);
}

.ic-act__icon {
  background: linear-gradient(165deg, rgba(255, 154, 31, 0.55) 0%, rgba(110, 58, 171, 0.85) 100%);
  border: 2px solid rgba(255, 254, 248, 0.35);
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.2),
    0 3px 0 rgba(42, 10, 69, 0.35),
    0 8px 16px rgba(0, 0, 0, 0.25);
  border-radius: 16px;
}

body.fz-theme .ic-welcome {
  background: var(--fz-surface-orange);
}

body.fz-theme .ic-menu {
  background: var(--fz-surface-purple);
  padding-top: 22px;
}

body.fz-theme .ic-promo {
  background: var(--fz-surface-magenta);
}

body.fz-theme .ic-ma-tile:nth-child(1) {
  background: var(--fz-surface-pink);
}

body.fz-theme .ic-ma-tile:nth-child(2) {
  background: var(--fz-surface-orange);
}

body.fz-theme .ic-ma-tile:nth-child(3) {
  background: var(--fz-surface-green);
}

body.fz-theme .ic-ma-card {
  background: var(--fz-surface-magenta);
}

body.fz-theme .ic-shop-card:nth-child(odd) {
  background: var(--fz-surface-purple);
}

body.fz-theme .ic-shop-card:nth-child(even) {
  background: var(--fz-surface-pink);
}

body.fz-theme .ic-team-metric {
  background: var(--fz-surface-purple);
}

body.fz-theme .ic-team-level-row {
  background: var(--fz-surface-magenta);
}

body.fz-theme .ic-team-faq {
  background: var(--fz-surface-purple);
}

body.fz-theme .ic-prof-user {
  background: var(--fz-surface-pink);
}

body.fz-theme .ic-prof-earn__cell {
  background: var(--fz-surface-orange);
}

body.fz-theme .ic-prof-nav__item {
  background: var(--fz-surface-purple);
}

body.fz-theme .ic-prof-about {
  background: var(--fz-surface-green);
}

body.fz-theme .ic-top__btn {
  background: var(--fz-surface-magenta);
}

body.fz-theme .icp-card,
body.fz-theme .icp-wallet-form,
body.fz-theme .icp-wallet-hero {
  background: var(--fz-surface-purple);
}

body.fz-theme .ic-ma-slide-empty {
  background: var(--fz-surface-magenta);
}

body.ic-auth--fiesta .ic-fiesta-panel,
body.ic-auth--fiesta .ic-reg-body {
  background: var(--fz-surface-pink);
}

/* Fiesta light panels — cap strip + soft glow (original layout, not a clone of any other app) */
body.fz-theme .ic-menu,
body.fz-theme .ic-welcome,
body.fz-theme .ic-promo,
body.fz-theme .ic-panel,
body.fz-theme .ic-shop-card,
body.fz-theme .ic-ma-slide-empty,
body.fz-theme .ic-team-metric,
body.fz-theme .ic-team-level-row,
body.fz-theme .ic-team-faq,
body.fz-theme .ic-prof-user,
body.fz-theme .ic-prof-earn__cell,
body.fz-theme .ic-prof-nav__item,
body.fz-theme .icp-card,
body.fz-theme .icp-wallet-form,
body.ic-auth--fiesta .ic-fiesta-panel,
body.ic-auth--fiesta .ic-reg-body {
  position: relative;
  overflow: hidden;
}

body.fz-theme .ic-menu::before,
body.fz-theme .ic-welcome::before,
body.fz-theme .ic-promo::before,
body.fz-theme .ic-panel::before,
body.fz-theme .ic-shop-card::before,
body.fz-theme .ic-ma-slide-empty::before,
body.fz-theme .ic-team-metric::before,
body.fz-theme .ic-team-level-row::before,
body.fz-theme .ic-team-faq::before,
body.fz-theme .ic-prof-user::before,
body.fz-theme .ic-prof-earn__cell::before,
body.fz-theme .ic-prof-nav__item::before,
body.fz-theme .icp-card::before,
body.fz-theme .icp-wallet-form::before,
body.ic-auth--fiesta .ic-fiesta-panel::before,
body.ic-auth--fiesta .ic-reg-body::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background: var(--fz-cap-strip);
  opacity: 0.9;
  pointer-events: none;
  z-index: 1;
}

body.fz-theme .ic-welcome::after,
body.fz-theme .ic-menu::after,
body.fz-theme .ic-shop-card::after {
  content: '';
  position: absolute;
  top: 18px;
  right: 14px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 228, 90, 0.35) 0%, transparent 68%);
  pointer-events: none;
  z-index: 0;
}

body.fz-theme .ic-ma-tile,
body.fz-theme .ic-ma-card,
body.fz-theme .ic-welcome,
body.fz-theme .ic-menu,
body.fz-theme .ic-shop-card,
body.fz-theme .ic-ma-slide-empty,
body.fz-theme .ic-top__btn {
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  box-shadow: var(--fz-surface-3d);
}

body.fz-theme .ic-ma-tile,
body.fz-theme .ic-team-metric {
  border-radius: 999px;
}

body.fz-theme .ic-ma-card__accent {
  height: 7px;
  background: var(--fz-cap-strip) !important;
}

body.fz-theme .ic-ma-metric {
  background: rgba(0, 0, 0, 0.22);
  border: 2px solid rgba(255, 254, 248, 0.22);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

body.fz-theme .ic-shop-cell {
  background: rgba(0, 0, 0, 0.2);
  border: 2px solid rgba(255, 254, 248, 0.22);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

body.fz-theme .ic-ma-seg__pill {
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange));
  border: 2px solid var(--fz-stroke);
  box-shadow: 0 2px 0 var(--fz-stroke);
}

.ic-shell,
.icp-shell {
  width: min(420px, 100%);
  min-height: 100dvh;
  margin: 0 auto;
  background: transparent;
  padding-top: 0;
  padding-bottom: calc(12px + var(--fz-safe-bottom));
}

body.ic-team-detail .icp-shell,
body.ic-team-detail--full .icp-shell,
body.icp-page--full .icp-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.has-ic-bnav .ic-shell {
  padding-bottom: calc(82px + var(--fz-safe-bottom));
}

.ic-page-head__title,
.ic-page-head__title em {
  color: var(--fz-yellow);
  text-shadow: 2px 2px 0 var(--fz-stroke);
}

.ic-page-head__sub {
  color: rgba(255, 254, 248, 0.82);
}

.ic-page-head__title em {
  color: var(--fz-lime);
  font-style: normal;
}

.ic-brand__name {
  color: var(--fz-white);
  text-shadow: 2px 2px 0 var(--fz-stroke);
}

.ic-brand__name span {
  color: var(--fz-yellow);
}

.ic-brand__tag {
  color: rgba(255, 254, 248, 0.75);
}

.ic-welcome {
  color: var(--fz-white);
}

.ic-welcome__title {
  color: rgba(255, 254, 248, 0.9);
  font-weight: 600;
}

.ic-welcome__name {
  color: var(--fz-yellow);
  font-weight: 700;
  text-shadow: 1px 1px 0 var(--fz-stroke);
}

.ic-welcome__tag {
  color: rgba(255, 254, 248, 0.88);
  max-width: none;
}

.ic-menu__title {
  color: var(--fz-yellow);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ic-act__name {
  color: var(--fz-white);
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.ic-partnership {
  background: var(--fz-surface-magenta);
  border-top: var(--fz-stroke-w) solid var(--fz-stroke);
}

.ic-partnership__headline {
  color: var(--fz-white);
}

.ic-partnership__headline span {
  color: var(--fz-lime);
}

.ic-partnership__lead,
.ic-partnership__eyebrow {
  color: rgba(255, 254, 248, 0.82);
}

.ic-shop-card__name {
  color: var(--fz-white);
}

.ic-shop-card__amount {
  color: var(--fz-lime);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ic-shop-cell {
  border-radius: 12px;
}

.ic-shop-cell__lbl {
  color: rgba(255, 254, 248, 0.76);
}

.ic-shop-cell__val {
  color: var(--fz-white);
}

.ic-shop-cell__val--accent {
  color: var(--fz-lime);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ic-shop-buy,
.ic-btn {
  background: linear-gradient(180deg, var(--fz-lime) 0%, var(--fz-lime-dark) 100%);
  color: var(--fz-ink);
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  box-shadow: 0 4px 0 var(--fz-stroke);
  font-weight: 700;
}

.ic-shop-buy.is-recharge,
.ic-btn--ghost {
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange));
  color: var(--fz-ink);
}

.ic-ma-seg {
  background: rgba(0, 0, 0, 0.28);
  border: 2px solid rgba(255, 255, 255, 0.18);
}

.ic-ma-seg__pill {
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange));
  box-shadow: 0 2px 0 var(--fz-stroke);
}

.ic-ma-seg__btn {
  color: rgba(255, 254, 248, 0.78);
}

.ic-ma-seg__btn em {
  color: rgba(255, 254, 248, 0.65);
}

.ic-ma-seg__btn.is-active {
  color: var(--fz-ink);
}

.ic-ma-seg__btn.is-active em {
  color: var(--fz-purple-deep);
}

.ic-ma-tile,
.ic-ma-card {
  color: var(--fz-white);
}

.ic-ma-tile__lbl,
.ic-ma-metric__lbl {
  color: rgba(255, 254, 248, 0.78);
}

.ic-ma-tile__val,
.ic-ma-metric__val {
  color: var(--fz-yellow);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.ic-ma-card__name {
  color: var(--fz-white);
}

.ic-ma-card__meta,
.ic-ma-foot-meta {
  color: rgba(255, 254, 248, 0.72);
}

.ic-ma-card__pct {
  color: var(--fz-lime);
}

.ic-ma-slide-empty p {
  color: rgba(255, 254, 248, 0.85);
}

.ic-team-level-row__name,
.ic-team-level-row__count {
  color: var(--fz-white);
}

.ic-team-faq summary,
.ic-team-faq p {
  color: rgba(255, 254, 248, 0.88);
}

.ic-prof-nav__lbl {
  color: var(--fz-white);
}

.ic-prof-earn__lbl {
  color: rgba(255, 254, 248, 0.76);
}

.ic-prof-earn__val {
  color: var(--fz-yellow);
}

body.fz-theme .ic-shop-cell--accent {
  background: linear-gradient(180deg, rgba(255, 228, 90, 0.45), rgba(255, 154, 31, 0.35));
}

body.fz-theme .ic-welcome > *,
body.fz-theme .ic-menu > * {
  position: relative;
  z-index: 2;
}

.ic-ma-card__accent {
  background: linear-gradient(90deg, var(--fz-pink), var(--fz-orange));
}

.ic-ma-progress__fill {
  background: linear-gradient(90deg, var(--fz-lime), var(--fz-yellow));
}

.ic-team-hero {
  background: linear-gradient(145deg, #6e3aab 0%, #4e2482 50%, #2a1148 100%);
  border-radius: 0 0 var(--fz-radius-lg) var(--fz-radius-lg);
  border-bottom: var(--fz-stroke-w) solid var(--fz-stroke);
}

.ic-team-hero__btn--solid {
  background: var(--fz-yellow);
  color: var(--fz-ink);
  border: 2px solid var(--fz-stroke);
  box-shadow: 0 3px 0 var(--fz-stroke);
}

.ic-team-metric,
.ic-team-level-row,
.ic-team-faq {
  color: var(--fz-white);
}

.ic-team-metric__lbl,
.ic-team-level-row__lbl {
  color: rgba(255, 254, 248, 0.76);
}

.ic-team-metric__val,
.ic-team-level-row__val {
  color: var(--fz-yellow);
}

.ic-team-list-head__title {
  color: var(--fz-yellow);
  text-shadow: 1px 1px 0 var(--fz-stroke);
}

.ic-team-list-head__sub {
  color: rgba(255, 254, 248, 0.75);
}

.ic-prof-balance {
  background: linear-gradient(135deg, #ff4aa8, #ff9a1f 52%, #ffe45a);
  color: var(--fz-ink);
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  box-shadow: var(--ic-shadow);
}

.ic-prof-balance__lbl {
  color: var(--fz-ink-soft);
}

.ic-prof-balance__val--accent {
  color: var(--fz-purple-deep);
}

.ic-prof-section-title {
  color: rgba(255, 254, 248, 0.78);
}

.ic-prof-user,
.ic-prof-earn__cell,
.ic-prof-nav__item {
  color: var(--fz-white);
}

.ic-prof-about {
  color: var(--fz-white);
}

body.icp-page {
  background-color: var(--fz-purple-deep);
}

.icp-head,
.icp-head--minimal {
  background: transparent;
  border-bottom: 2px solid rgba(255, 255, 255, 0.14);
}

body.fz-theme .icp-entry {
  background: var(--fz-surface-bg);
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  box-shadow: var(--fz-surface-3d);
}

body.fz-theme .icp-entry__title {
  color: var(--fz-yellow);
}

body.fz-theme .icp-entry__meta,
body.fz-theme .icp-entry__sub,
body.fz-theme .icp-progress__lbl,
body.fz-theme .icp-copy {
  color: rgba(255, 254, 248, 0.82);
}

body.fz-theme .icp-entry__amt {
  color: var(--fz-lime);
}

body.fz-theme .icp-entry__amt--out {
  color: #ffb4a2;
}

body.fz-theme .icp-chip {
  background: rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.18);
  color: var(--fz-white);
}

body.fz-theme .icp-chip.is-on {
  background: rgba(255, 228, 90, 0.18);
  border-color: var(--fz-yellow);
  color: var(--fz-yellow);
}

/* Selected payout account — keep readable text on fiesta (avoid light .is-on wash) */
body.fz-theme .icp-account.is-on,
body.fz-theme .icp-account:has(.icp-account__radio:checked) {
  border-color: var(--fz-yellow);
  background: rgba(0, 0, 0, 0.32);
  box-shadow:
    inset 0 0 0 1px rgba(255, 228, 90, 0.35),
    var(--fz-surface-3d);
}

body.fz-theme .icp-account.is-on .icp-account__name,
body.fz-theme .icp-account:has(.icp-account__radio:checked) .icp-account__name {
  color: var(--fz-white);
}

body.fz-theme .icp-account.is-on .icp-account__meta,
body.fz-theme .icp-account:has(.icp-account__radio:checked) .icp-account__meta {
  color: rgba(255, 254, 248, 0.82);
}

body.fz-theme .icp-account.is-on .icp-account__num,
body.fz-theme .icp-account:has(.icp-account__radio:checked) .icp-account__num {
  color: var(--fz-yellow);
}

body.fz-theme .icp-account.is-on .icp-account__check,
body.fz-theme .icp-account:has(.icp-account__radio:checked) .icp-account__check {
  border-color: var(--fz-yellow);
  background: var(--fz-yellow);
}

body.fz-theme .icp-progress__bar {
  background: rgba(0, 0, 0, 0.35);
}

body.fz-theme .icp-progress__fill {
  background: linear-gradient(90deg, var(--fz-lime), var(--fz-yellow));
}

body.fz-theme .icp-badge {
  background: rgba(0, 0, 0, 0.3);
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 254, 248, 0.75);
}

body.fz-theme .icp-badge--ready {
  color: var(--fz-lime);
  border-color: rgba(193, 251, 47, 0.45);
  background: rgba(193, 251, 47, 0.12);
}

.icp-back,
.icp-back--minimal {
  background: var(--fz-yellow) !important;
  color: var(--fz-ink) !important;
  border: 2px solid var(--fz-stroke) !important;
  box-shadow: 0 3px 0 var(--fz-stroke) !important;
  border-radius: 14px !important;
}

.icp-title,
.icp-title--minimal {
  color: var(--fz-yellow) !important;
  text-shadow: 1px 1px 0 var(--fz-stroke);
}

.icp-card,
.icp-wallet-hero,
.icp-wallet-form {
  color: var(--fz-white);
}

.icp-kicker,
.icp-copy,
.icp-hint,
.icp-wallet-hero__title,
.icp-wallet-hero__meta,
.icp-section__title,
.icp-label,
.icp-field label {
  color: rgba(255, 254, 248, 0.88);
}

.icp-balance {
  color: var(--fz-yellow);
  text-shadow: 1px 1px 0 var(--fz-stroke);
}

.icp-wallet-hero::before {
  background: linear-gradient(90deg, var(--fz-pink), var(--fz-orange), var(--fz-yellow)) !important;
}

.icp-field input,
.icp-field select,
.icp-input,
.icp-amount-wrap__field {
  background: #fffaf0 !important;
  border: 2px solid rgba(42, 10, 69, 0.18) !important;
  color: var(--fz-ink) !important;
  font-family: var(--fz-font) !important;
}

.icp-field input:focus,
.icp-input:focus,
.icp-amount-wrap__field:focus-within {
  border-color: var(--fz-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 154, 31, 0.25) !important;
}

/* Amount input uses --icp-ink (white on fiesta); force readable text on cream field */
body.fz-theme .icp-amount-wrap__input {
  color: var(--fz-ink) !important;
  -webkit-text-fill-color: var(--fz-ink);
}

body.fz-theme .icp-amount-wrap__input::placeholder {
  color: var(--fz-ink-soft) !important;
  opacity: 0.72;
}

body.fz-theme .icp-amount-wrap__input:-webkit-autofill,
body.fz-theme .icp-amount-wrap__input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--fz-ink);
  box-shadow: 0 0 0 1000px #fffaf0 inset;
}

body.fz-theme .icp-amount-wrap__prefix {
  color: var(--fz-orange) !important;
}

body.fz-theme .icp-amount-wrap__lbl {
  color: rgba(255, 254, 248, 0.9);
}

.icp-btn {
  background: linear-gradient(180deg, var(--fz-lime), var(--fz-lime-dark)) !important;
  color: var(--fz-ink) !important;
  border: var(--fz-stroke-w) solid var(--fz-stroke) !important;
  box-shadow: 0 4px 0 var(--fz-stroke) !important;
  font-family: var(--fz-font) !important;
  font-weight: 700 !important;
}

.icp-chip.is-on,
.icp-channel.is-on {
  border-color: var(--fz-yellow) !important;
  background: rgba(255, 228, 90, 0.28) !important;
  color: var(--fz-yellow) !important;
}

.icp-chip,
.icp-channel {
  color: rgba(255, 254, 248, 0.85);
}

.icp-section__bar {
  background: linear-gradient(180deg, var(--fz-pink), var(--fz-orange)) !important;
}

.icp-cal__day.is-today {
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange)) !important;
  color: var(--fz-ink) !important;
}

.icp-cal__day.is-claimed {
  background: rgba(143, 224, 42, 0.25) !important;
  color: var(--fz-purple-deep) !important;
}

.icp-msg__box {
  border: var(--fz-stroke-w) solid var(--fz-stroke);
  border-radius: var(--fz-radius-lg);
  background: var(--fz-surface-magenta);
  box-shadow: 0 8px 0 var(--fz-stroke), 0 20px 40px rgba(0, 0, 0, 0.35);
}

.icp-msg__text {
  font-family: var(--fz-font);
  color: var(--fz-white);
  font-weight: 600;
}

.icp-msg__btn {
  font-family: var(--fz-font);
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange));
  color: var(--fz-ink);
  border: 2px solid var(--fz-stroke);
  box-shadow: 0 3px 0 var(--fz-stroke);
  font-weight: 700;
}

/* Bottom nav — purple steel bar, gold active (original, not a gift-circle clone) */
.ic-bnav {
  padding: 0 10px calc(10px + env(safe-area-inset-bottom, 0px));
}

.ic-bnav__bar {
  background: linear-gradient(180deg, #6e3aab 0%, #3d1c6a 100%);
  border: 3px solid var(--fz-stroke);
  border-radius: 24px;
  box-shadow: 0 5px 0 var(--fz-stroke), 0 14px 28px rgba(0, 0, 0, 0.35);
  padding: 8px 6px 10px;
}

.ic-bnav__item {
  color: rgba(255, 254, 248, 0.62);
  border-radius: 16px;
}

.ic-bnav__item.is-active {
  color: var(--fz-yellow);
  background: transparent;
}

.ic-bnav__item:hover,
.ic-bnav__item:focus,
.ic-bnav__item:focus-visible,
.ic-bnav__item:active,
.ic-bnav__item--hub.is-active {
  background: transparent;
}

.ic-bnav__ico img {
  filter: brightness(0) saturate(100%) invert(96%) sepia(12%) saturate(280%) hue-rotate(8deg) brightness(105%) contrast(95%);
  opacity: 0.7;
}

.ic-bnav__item.is-active .ic-bnav__ico img {
  filter: brightness(0) saturate(100%) invert(88%) sepia(61%) saturate(600%) hue-rotate(2deg) brightness(104%) contrast(104%);
  opacity: 1;
}

.ic-bnav__lbl {
  font-family: var(--fz-font);
  font-size: 0.6rem;
  font-weight: 600;
  color: inherit;
}

.ic-bnav__item.is-active .ic-bnav__lbl {
  color: var(--fz-yellow);
}

.ic-bnav__item--hub {
  position: relative;
  margin-top: -18px;
}

.ic-bnav__item--hub .ic-bnav__ico {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(180deg, var(--fz-yellow), var(--fz-orange));
  border: 3px solid var(--fz-stroke);
  box-shadow: 0 4px 0 var(--fz-stroke);
}

.ic-bnav__item--hub .ic-bnav__ico img {
  width: 26px;
  height: 26px;
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(12%) sepia(40%) saturate(1800%) hue-rotate(250deg) brightness(90%) contrast(110%);
}

.ic-bnav__item--hub .ic-bnav__lbl {
  color: var(--fz-yellow);
}
