:root {
  color-scheme: dark;
  font-family: "Rubik", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bg: #070b14;
  --surface: #0d1422;
  --surface2: #101a2d;
  --text: #f5f7ff;
  --muted: #8793aa;
  --line: rgba(255,255,255,.08);
  --blue: #3cbcff;
  --violet: #7664ff;
  --purple: #b457ff;
  --cyan: #25e0de;
  --pink: #ff5ab0;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 0% -10%, rgba(78,92,255,.18), transparent 34%),
    radial-gradient(circle at 100% 5%, rgba(18,176,255,.10), transparent 26%),
    #070b14;
  overflow-x: hidden;
}
button, input { font: inherit; }
button { color: inherit; cursor: pointer; }

.ambient {
  position: fixed;
  width: 340px;
  height: 340px;
  filter: blur(90px);
  opacity: .16;
  pointer-events: none;
  z-index: 0;
}
.ambient-a { top: -140px; left: -130px; background: #654cff; }
.ambient-b { top: 120px; right: -210px; background: #00bbff; }

.app-shell {
  position: relative;
  z-index: 1;
  width: min(100%, 920px);
  margin: 0 auto;
  padding: 20px 16px 112px;
}
.page { display: none; animation: pageIn .22s ease; }
.page.active { display: block; }
@keyframes pageIn { from { opacity: .3; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.glass {
  background:
    linear-gradient(145deg, rgba(18,27,47,.96), rgba(8,13,24,.94));
  border: 1px solid var(--line);
  box-shadow: 0 18px 60px rgba(0,0,0,.24);
}

.topbar, .page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.topbar { margin-bottom: 18px; }
.page-header { margin: 6px 2px 20px; }
.page-header h1 {
  margin: 4px 0 3px;
  font-size: clamp(29px, 8vw, 42px);
  letter-spacing: -.035em;
}
.page-header p { margin: 0; color: var(--muted); font-size: 13px; }

.brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.brand-icon {
  position: relative;
  width: 51px;
  height: 51px;
  flex: 0 0 51px;
  border-radius: 17px;
  background: linear-gradient(145deg, #0e1a3b, #11152f);
  border: 1px solid rgba(88,104,255,.28);
  box-shadow: inset 0 0 22px rgba(62,73,255,.18), 0 12px 35px rgba(55,65,210,.14);
  overflow: hidden;
}
.brand-icon span {
  position: absolute;
  bottom: 11px;
  width: 19px;
  height: 29px;
  border-radius: 12px 12px 7px 7px;
  transform: rotate(34deg);
}
.brand-icon span:first-child { left: 12px; background: linear-gradient(#4feaff,#258dff); }
.brand-icon span:last-child { right: 10px; height: 24px; background: linear-gradient(#9a6aff,#d75eff); transform: rotate(-32deg); }

.brand-copy { min-width: 0; }
.brand h1 {
  margin: 0;
  font-size: clamp(24px, 6vw, 32px);
  letter-spacing: -.035em;
  white-space: nowrap;
}
.brand p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.avatar {
  width: 43px;
  height: 43px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #131c2e;
  color: #bdc7dd;
  font-weight: 600;
  flex: 0 0 43px;
}

.kicker, .section-eyebrow {
  color: #7d8aa3;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 600;
}

.balance-card {
  position: relative;
  overflow: hidden;
  border-radius: 25px;
  min-height: 126px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background:
    radial-gradient(circle at 90% 0%, rgba(91,78,255,.34), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(157,54,255,.20), transparent 40%),
    linear-gradient(130deg, #141833, #101c35 65%, #131447);
}
.balance-left { display: flex; gap: 14px; align-items: center; }
.balance-line { display: flex; gap: 8px; align-items: baseline; margin-top: 4px; }
.balance-line strong { font-size: 37px; line-height: 1; letter-spacing: -.04em; }
.balance-line span { font-size: 14px; color: #97a3bb; }

.credit-icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(25,105,255,.42), rgba(70,65,255,.22));
  position: relative;
}
.credit-icon i {
  position: absolute;
  width: 27px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(180deg,#6ef3ff,#1888ff);
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 0 12px rgba(37,191,255,.32);
}
.credit-icon i:nth-child(1){ transform: translateY(-9px); }
.credit-icon i:nth-child(2){ transform: translateY(0); }
.credit-icon i:nth-child(3){ transform: translateY(9px); }
.credit-icon.large { width: 58px; height: 58px; }

.gradient-button, .share-button {
  border: 0;
  color: white;
  background: linear-gradient(100deg, #22c8ff, #416aff 45%, #ae50ff);
  box-shadow: 0 10px 28px rgba(71,79,255,.26);
}
.gradient-button.compact {
  border-radius: 15px;
  padding: 12px 14px;
  font-size: 12px;
  position: relative;
  z-index: 2;
}
.gradient-button b { font-size: 18px; margin-left: 7px; }

.quick-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px;
  margin-top: 12px;
}
.tool-card {
  min-height: 190px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 23px;
  padding: 17px;
  text-align: left;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 45px rgba(0,0,0,.18);
}
.tool-card::after {
  content:"";
  position:absolute;
  width:120px;height:120px;border-radius:50%;
  right:-35px;top:-35px;background:rgba(255,255,255,.06);filter:blur(16px);
}
.tool-purple { background: linear-gradient(145deg,#392058,#12142a); }
.tool-orange { background: linear-gradient(145deg,#4a281f,#171329); }
.tool-cyan { background: linear-gradient(145deg,#0e454b,#0c1727); }
.tool-blue { background: linear-gradient(145deg,#163c6a,#10152f); }

.tool-art {
  width: 65px; height: 65px; border-radius: 20px;
  display: grid; place-items: center;
  font-size: 33px;
  color:white;
  position:relative;
  z-index:1;
  box-shadow: 0 13px 30px rgba(0,0,0,.18);
}
.checker {
  background:
    linear-gradient(45deg,rgba(255,255,255,.14) 25%,transparent 25%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.14) 75%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.14) 75%) 8px 8px/16px 16px,
    linear-gradient(45deg,rgba(255,255,255,.14) 25%,#6a55f5 25%) 8px 8px/16px 16px;
}
.picture-icon { filter: drop-shadow(0 0 10px #c5bfff); }
.emoji { background: radial-gradient(circle at 40% 35%,#ffe56f,#ffaf29 70%); color:#7f3d00; font-size:42px; }
.resize-art { background: linear-gradient(145deg,#12d9ce,#0088a4); }
.resize-art span { width:30px;height:30px;border:3px solid white;border-radius:5px; box-shadow:0 0 12px rgba(255,255,255,.45); }
.convert-art { background: linear-gradient(145deg,#793cff,#2276ff); }

.tool-copy { position:absolute; left:17px; right:17px; bottom:17px; z-index:2; }
.tool-copy h3 { margin:0 0 5px;font-size:17px;letter-spacing:-.02em; }
.tool-copy p { margin:0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.45; max-width:85%; }
.round-arrow {
  position:absolute;top:16px;right:15px;width:31px;height:31px;border-radius:50%;
  display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:16px;z-index:2;
}
.price-pill {
  position:absolute;right:13px;top:14px;z-index:2;
  padding:7px 9px;border-radius:11px;background:rgba(255,255,255,.10);font-size:11px;color:#e9e4ff;
}

.referral-banner {
  margin-top: 12px;
  border-radius: 23px;
  padding: 16px;
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 12px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 0%,rgba(0,183,255,.25),transparent 35%),
    linear-gradient(110deg,#172e69,#101a39 60%,#102956);
}
.gift-art { font-size: 40px; filter: drop-shadow(0 8px 15px rgba(93,67,255,.42)); }
.referral-title { font-weight:600;font-size:15px; }
.referral-sub { color:#9ba9c3;font-size:12px;margin-top:5px; }
.progress-line { display:flex;align-items:center;gap:9px;margin-top:10px; }
.progress-track {
  height: 8px; border-radius:999px;background:rgba(3,8,18,.65);overflow:hidden;flex:1;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.progress-track span {
  display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#28ddff,#5169ff,#bf4fff);
  transition:width .35s ease;
}
.progress-line b { color:#bfc8dd;font-size:11px; }
.invite-chip {
  border-radius:14px;padding:11px 10px;background:rgba(37,144,255,.18);
  border:1px solid rgba(78,177,255,.17);font-size:9px;text-align:center;
}

.section-heading {
  display:flex;align-items:end;justify-content:space-between;gap:10px;margin:26px 2px 12px;
}
.section-heading h2 { margin:4px 0 0;font-size:20px;letter-spacing:-.03em; }
.text-link { border:0;background:none;color:#38adff;font-size:12px;padding:7px 0; }

.transaction-list { display:grid;gap:8px; }
.transaction-item {
  min-height:70px;border-radius:18px;background:rgba(13,21,36,.88);border:1px solid rgba(255,255,255,.06);
  padding:12px 13px;display:grid;grid-template-columns:39px 1fr auto;gap:11px;align-items:center;
}
.tx-icon {
  width:39px;height:39px;border-radius:13px;display:grid;place-items:center;font-weight:600;
  background:linear-gradient(145deg,rgba(106,64,255,.32),rgba(31,36,69,.72));
}
.tx-copy strong { display:block;font-size:14px;font-weight:500; }
.tx-copy small { display:block;color:#75829a;font-size:11px;margin-top:5px; }
.tx-amount { font-weight:600;font-size:14px;white-space:nowrap; }
.tx-amount.plus { color:#48ebc1; }
.tx-amount.minus { color:#ff5a8b; }
.empty-state { border:1px dashed rgba(255,255,255,.08);border-radius:18px;padding:20px;text-align:center;color:#7f8ba2;font-size:11px; }

.search-box {
  height: 52px;border:1px solid rgba(100,123,255,.25);border-radius:17px;background:#10182c;
  display:flex;align-items:center;gap:10px;padding:0 15px;
}
.search-box span { font-size:22px;color:#9ba9d8; }
.search-box input { width:100%;border:0;outline:0;background:transparent;color:white;font-size:15px; }
.search-box input::placeholder { color:#697691; }
.chips { display:flex;gap:7px;overflow:auto;padding:13px 0 4px;scrollbar-width:none; }
.chip {
  border:1px solid rgba(255,255,255,.10);background:#10182a;border-radius:999px;padding:9px 13px;color:#aab5cb;font-size:10px;
}
.chip.active { background:linear-gradient(100deg,#22bcff,#754cff);color:white;border-color:transparent; }

.catalog-grid { display:grid;grid-template-columns:1fr;gap:9px;margin-top:14px; }
.catalog-card {
  border:1px solid rgba(255,255,255,.07);background:#0e1626;border-radius:18px;padding:12px;
  display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;text-align:left;
}
.catalog-card h3 { margin:0;font-size:15px; }
.catalog-card p { margin:4px 0 0;color:#77849c;font-size:11px; }
.catalog-card > span { color:#66748f;font-size:20px; }
.catalog-card.dim { opacity:.64; }
.catalog-icon { width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:600;font-size:15px; }
.purple-icon{background:linear-gradient(145deg,#773bff,#4120a1)}
.orange-icon{background:linear-gradient(145deg,#ffb52e,#d54c38)}
.cyan-icon{background:linear-gradient(145deg,#24dec9,#1689b3)}
.blue-icon{background:linear-gradient(145deg,#3195ff,#334bd5)}
.violet-icon{background:linear-gradient(145deg,#884cff,#5131d0)}
.pink-icon{background:linear-gradient(145deg,#ff4da6,#8d32c7)}

.referral-hero {
  border-radius:25px;padding:20px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 94% 5%,rgba(117,74,255,.38),transparent 28%),
    linear-gradient(130deg,#261947,#10214a 72%);
}
.referral-hero h2 { margin:0;font-size:22px;line-height:1.25;letter-spacing:-.035em;position:relative;z-index:2; }
.referral-hero h2 em { font-style:normal;background:linear-gradient(90deg,#45dcff,#af66ff);-webkit-background-clip:text;color:transparent; }
.referral-hero p { margin:9px 0 0;color:#a1abc1;font-size:11px;position:relative;z-index:2; }
.hero-gift { position:absolute;right:14px;top:8px;font-size:64px;opacity:.32;transform:rotate(7deg);filter:drop-shadow(0 12px 20px #6d3eff); }
.link-box {
  margin-top:22px;border:1px solid rgba(173,111,255,.26);border-radius:16px;background:rgba(6,10,22,.48);
  display:grid;grid-template-columns:1fr auto;gap:8px;padding:7px;align-items:center;position:relative;z-index:2;
}
.link-box span { padding-left:8px;font-size:11px;color:#a8b3c9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.link-box button { border:0;border-radius:11px;background:linear-gradient(100deg,#228ff8,#6d45e9);padding:10px;color:white;font-size:11px; }
.share-button { width:100%;margin-top:9px;border-radius:15px;padding:13px;font-weight:500;position:relative;z-index:2; }

.stats-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px; }
.stat-card { border:1px solid rgba(255,255,255,.07);border-radius:17px;background:#0f1829;padding:15px 10px;text-align:center; }
.stat-card strong { display:block;font-size:21px; }
.stat-card span { color:#7f8ba2;font-size:10px;display:block;margin-top:5px; }

.milestone-card {
  margin-top:11px;border-radius:21px;padding:15px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;
  background:linear-gradient(120deg,#17224d,#0f2348);
}
.milestone-icon { width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#6f4cff,#9f5bff); }
.milestone-copy h3 { margin:3px 0 9px;font-size:15px; }
.progress-track.big { height:7px;width:100%; }
.milestone-reward { color:#67dfff;font-weight:600;font-size:11px;text-align:right; }

.wallet-balance {
  border-radius:23px;padding:18px;display:flex;align-items:center;gap:14px;
  background:linear-gradient(125deg,#161c3c,#11254a);
}
.wallet-balance strong { display:block;font-size:24px;margin-top:3px; }
.coming-wallet { margin-top:11px;border-radius:20px;padding:17px;display:flex;align-items:center;gap:13px; }
.coming-wallet > span { font-size:32px; }
.coming-wallet h3 { margin:0;font-size:15px; }
.coming-wallet p { margin:5px 0 0;color:#7f8ba3;font-size:11px;line-height:1.45; }
.compact-heading { margin-top:22px; }

.profile-card { border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px; }
.profile-avatar {
  width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-weight:600;font-size:20px;
  background:linear-gradient(145deg,#327cff,#8c4eff);
}
.profile-card h2 { margin:0;font-size:19px; }
.profile-card p { margin:5px 0 0;color:#7e8aa0;font-size:10px; }
.profile-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px; }
.profile-stat { border:1px solid rgba(255,255,255,.07);background:#0e1626;border-radius:18px;padding:13px 8px;text-align:center; }
.profile-stat span,.profile-stat small { display:block;color:#79869d;font-size:10px; }
.profile-stat strong { display:block;font-size:22px;margin:5px 0 2px; }
.info-card { border-radius:20px;padding:18px;margin-top:11px; }
.info-card h3 { margin:0;font-size:15px; }
.info-card p { margin:7px 0 0;color:#7f8ba3;font-size:11px;line-height:1.55; }

.bottom-nav {
  position:fixed;left:50%;bottom:max(9px,env(safe-area-inset-bottom));transform:translateX(-50%);
  width:min(calc(100% - 18px),880px);height:72px;border:1px solid rgba(255,255,255,.08);
  border-radius:23px;background:rgba(8,13,23,.94);backdrop-filter:blur(18px);
  display:grid;grid-template-columns:repeat(5,1fr);padding:6px;z-index:50;box-shadow:0 24px 65px rgba(0,0,0,.42);
}
.nav-item { border:0;background:transparent;color:#68758d;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px; }
.nav-item > span { font-size:19px; }
.nav-item small { font-size:10px; }
.nav-item.active { color:#48baff;background:linear-gradient(180deg,rgba(54,131,255,.12),transparent); }
.nav-item.active::after { content:"";width:26px;height:3px;border-radius:999px;background:#35b8ff;margin-top:2px;box-shadow:0 0 10px rgba(53,184,255,.4); }

.toast {
  position:fixed;left:50%;bottom:93px;transform:translate(-50%,16px);z-index:100;
  width:min(calc(100% - 36px),440px);padding:12px 14px;border-radius:14px;
  background:#151f33;border:1px solid rgba(255,255,255,.10);color:#dce4f5;font-size:10px;text-align:center;
  opacity:0;pointer-events:none;transition:.2s ease;box-shadow:0 15px 50px rgba(0,0,0,.35);
}
.toast.show { opacity:1;transform:translate(-50%,0); }

@media (min-width: 700px) {
  .app-shell { padding:30px 28px 118px; }
  .quick-grid { grid-template-columns:repeat(4,1fr); }
  .tool-card { min-height:215px; }
  .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .brand p { font-size:14px; }
  .transaction-list { grid-template-columns:repeat(2,1fr); }
  .transaction-item { min-height:77px; }
  .referral-banner { padding:19px; }
  .referral-title { font-size:15px; }
}


/* ================================
   v2.1 — readability + motion
   ================================ */

body {
  font-size: 14px;
  line-height: 1.45;
}

.brand h1 {
  font-size: clamp(25px, 6vw, 34px);
}

.brand p {
  font-size: 13px;
}

.kicker,
.section-eyebrow {
  font-size: 12px;
}

.balance-line strong {
  font-size: 42px;
}

.balance-line span {
  font-size: 14px;
}

.tool-copy h3 {
  font-size: 18px;
  line-height: 1.12;
}

.tool-copy p {
  font-size: 13px;
  line-height: 1.42;
  max-width: 92%;
}

.referral-title {
  font-size: 15px;
  line-height: 1.25;
}

.referral-sub {
  font-size: 12px;
  line-height: 1.35;
}

.invite-chip {
  font-size: 11px;
}

.section-heading h2 {
  font-size: 23px;
}

.text-link {
  font-size: 12px;
}

.tx-copy strong {
  font-size: 14px;
  line-height: 1.25;
}

.tx-copy small {
  font-size: 11px;
}

.tx-amount {
  font-size: 14px;
}

.nav-item small {
  font-size: 10px;
}

.catalog-card h3 {
  font-size: 15px;
}

.catalog-card p {
  font-size: 11px;
  line-height: 1.35;
}

.referral-hero p {
  font-size: 12px;
}

.stat-card span {
  font-size: 10px;
}

.milestone-copy h3 {
  font-size: 15px;
}

.milestone-reward {
  font-size: 12px;
}

.coming-wallet h3 {
  font-size: 15px;
}

.coming-wallet p,
.profile-card p,
.info-card p {
  font-size: 11px;
}

.profile-stat span,
.profile-stat small {
  font-size: 10px;
}

/* Motion */
.tool-card,
.catalog-card,
.referral-banner,
.balance-card,
.transaction-item,
.stat-card,
.milestone-card,
.wallet-balance,
.coming-wallet,
.profile-card,
.profile-stat,
.info-card,
.gradient-button,
.share-button,
.link-box button,
.nav-item,
.avatar {
  transition:
    transform .20s cubic-bezier(.2,.8,.2,1),
    box-shadow .20s ease,
    border-color .20s ease,
    filter .20s ease,
    background .20s ease;
}

.tool-art,
.catalog-icon,
.gift-art,
.hero-gift {
  transition: transform .24s cubic-bezier(.2,.8,.2,1), filter .24s ease;
}

.quick-grid .tool-card,
.referral-banner,
.transaction-item,
.catalog-card,
.stat-card,
.milestone-card {
  animation: riseIn .35s ease both;
}

.quick-grid .tool-card:nth-child(1) { animation-delay: .02s; }
.quick-grid .tool-card:nth-child(2) { animation-delay: .06s; }
.quick-grid .tool-card:nth-child(3) { animation-delay: .10s; }
.quick-grid .tool-card:nth-child(4) { animation-delay: .14s; }
.referral-banner { animation-delay: .18s; }

@keyframes riseIn {
  from {
    opacity: 0;
    transform: translateY(9px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes softFloat {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(1deg); }
}

@keyframes shine {
  from { transform: translateX(-135%) skewX(-18deg); }
  to   { transform: translateX(235%) skewX(-18deg); }
}

.gradient-button,
.share-button {
  position: relative;
  overflow: hidden;
}

.gradient-button::after,
.share-button::after {
  content: "";
  position: absolute;
  inset: -30% auto -30% 0;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  transform: translateX(-135%) skewX(-18deg);
}

@media (hover: hover) and (pointer: fine) {
  .tool-card:hover,
  .catalog-card:hover,
  .referral-banner:hover,
  .transaction-item:hover,
  .stat-card:hover,
  .milestone-card:hover,
  .wallet-balance:hover,
  .coming-wallet:hover,
  .profile-card:hover,
  .profile-stat:hover,
  .info-card:hover {
    transform: translateY(-4px);
    border-color: rgba(115,151,255,.26);
    box-shadow: 0 22px 60px rgba(0,0,0,.30), 0 0 0 1px rgba(104,138,255,.05);
  }

  .tool-card:hover {
    transform: translateY(-5px) scale(1.012);
    filter: saturate(1.08) brightness(1.03);
  }

  .tool-card:hover .tool-art,
  .catalog-card:hover .catalog-icon {
    transform: translateY(-3px) scale(1.07) rotate(-2deg);
    filter: drop-shadow(0 8px 16px rgba(87,109,255,.28));
  }

  .referral-banner:hover .gift-art {
    transform: translateY(-4px) rotate(-5deg) scale(1.08);
  }

  .gradient-button:hover,
  .share-button:hover,
  .link-box button:hover {
    transform: translateY(-2px) scale(1.02);
    filter: brightness(1.08);
  }

  .gradient-button:hover::after,
  .share-button:hover::after {
    animation: shine .65s ease;
  }

  .nav-item:hover {
    transform: translateY(-2px);
    color: #9edcff;
    background: rgba(54,131,255,.07);
  }

  .avatar:hover {
    transform: scale(1.06);
    border-color: rgba(96,151,255,.30);
  }
}

.tool-card:active,
.catalog-card:active,
.referral-banner:active,
.gradient-button:active,
.share-button:active,
.nav-item:active {
  transform: scale(.975);
}

.hero-gift {
  animation: softFloat 3.8s ease-in-out infinite;
}

/* Keep things readable in narrow Telegram windows */
@media (max-width: 560px) {
  .app-shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .brand p {
    font-size: 12px;
  }

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

  .tool-card {
    min-height: 202px;
  }

  .tool-copy h3 {
    font-size: 17px;
  }

  .tool-copy p {
    font-size: 12px;
  }

  .referral-banner {
    grid-template-columns: 48px 1fr;
  }

  .invite-chip {
    grid-column: 1 / -1;
    width: 100%;
    padding: 10px 12px;
  }

  .section-heading {
    align-items: center;
  }

  .transaction-item {
    min-height: 76px;
  }

  .bottom-nav {
    height: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ================================
   FINAL polish — credits token + cards
   ================================ */

:root {
  --shadow-soft: 0 18px 50px rgba(0,0,0,.24);
  --shadow-strong: 0 24px 70px rgba(0,0,0,.34);
}

.topbar { margin-bottom: 20px; }

.brand-copy h1 {
  font-size: clamp(28px, 6.2vw, 40px);
  letter-spacing: -.045em;
}

.brand-copy p {
  font-size: 14px;
  color: #95a4bf;
}

.balance-card {
  min-height: 136px;
  padding: 22px;
  border: 1px solid rgba(120,141,255,.12);
  box-shadow: var(--shadow-strong), inset 0 1px 0 rgba(255,255,255,.03);
  background:
    radial-gradient(circle at 85% 18%, rgba(115,72,255,.42), transparent 33%),
    radial-gradient(circle at 8% 90%, rgba(38,212,255,.12), transparent 28%),
    linear-gradient(130deg, #17193b 0%, #0f1831 52%, #1f1d54 100%);
}

.balance-left { gap: 16px; }
.balance-line { gap: 10px; margin-top: 6px; }
.balance-line strong {
  font-size: clamp(40px, 8vw, 46px);
  text-shadow: 0 3px 18px rgba(255,255,255,.06);
}
.balance-line span { font-size: 15px; color: #b5c0d6; }

.credit-token-wrap {
  position: relative;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 10px 22px rgba(255,188,51,.18));
}
.credit-token-wrap.large {
  width: 72px;
  height: 72px;
  flex-basis: 72px;
}
.credit-token-wrap::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,214,98,.20), rgba(255,214,98,0) 70%);
  z-index: 0;
  animation: tokenPulse 3.8s ease-in-out infinite;
}
.credit-token-img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: tokenFloat 4.6s ease-in-out infinite;
}

.tool-card {
  min-height: 206px;
  border-radius: 24px;
  padding: 18px;
  border-color: rgba(255,255,255,.09);
}
.tool-card::before {
  content: "";
  position: absolute;
  inset: auto -10% -28% auto;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  opacity: .22;
  filter: blur(30px);
  transition: transform .35s ease, opacity .35s ease;
}
.tool-card::after {
  width: 140px;
  height: 140px;
  right: -44px;
  top: -44px;
  background: rgba(255,255,255,.07);
}
.tool-purple::before { background: radial-gradient(circle, #8b5dff, transparent 70%); }
.tool-orange::before { background: radial-gradient(circle, #ff9640, transparent 70%); }
.tool-cyan::before { background: radial-gradient(circle, #1de1df, transparent 70%); }
.tool-blue::before { background: radial-gradient(circle, #499dff, transparent 70%); }

.tool-purple {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 40%),
    linear-gradient(145deg,#3b2261,#15162c 60%);
}
.tool-orange {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 40%),
    linear-gradient(145deg,#53291d,#17132a 62%);
}
.tool-cyan {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 40%),
    linear-gradient(145deg,#0d4b4f,#0d1628 62%);
}
.tool-blue {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), transparent 40%),
    linear-gradient(145deg,#183f73,#111730 62%);
}

.tool-art {
  width: 76px;
  height: 76px;
  border-radius: 22px;
  box-shadow: 0 16px 36px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
}
.checker {
  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,.20), transparent 38%),
    linear-gradient(45deg,rgba(255,255,255,.12) 25%,transparent 25%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.12) 75%) 0 0/16px 16px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.12) 75%) 8px 8px/16px 16px,
    linear-gradient(45deg,rgba(255,255,255,.12) 25%,#6a55f5 25%) 8px 8px/16px 16px;
}
.picture-icon {
  font-size: 28px;
  transform: translateY(1px);
}
.emoji {
  font-size: 40px;
  background: radial-gradient(circle at 35% 30%, #ffe987, #ffbb36 68%, #ef9824 100%);
  box-shadow: 0 16px 34px rgba(255,176,47,.28), inset 0 1px 0 rgba(255,255,255,.38);
}
.resize-art {
  background: linear-gradient(145deg,#14ddd3,#0087aa);
}
.resize-art span {
  width: 34px;
  height: 34px;
  border-radius: 8px;
}
.convert-art {
  font-size: 36px;
  background: linear-gradient(145deg,#7a43ff,#2c78ff);
}

.tool-copy {
  left: 18px;
  right: 18px;
  bottom: 18px;
}
.tool-copy h3 {
  font-size: 18px;
  line-height: 1.1;
  margin-bottom: 7px;
}
.tool-copy p {
  max-width: 96%;
  font-size: 13px;
  line-height: 1.42;
  color: rgba(255,255,255,.74);
}
.round-arrow {
  width: 34px;
  height: 34px;
  font-size: 17px;
  background: rgba(255,255,255,.11);
  backdrop-filter: blur(6px);
}
.price-pill {
  padding: 7px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.referral-banner {
  border-radius: 24px;
  padding: 18px 16px;
  background:
    radial-gradient(circle at 96% 16%, rgba(67,157,255,.22), transparent 30%),
    linear-gradient(110deg,#152257,#11254e 62%, #123f6b);
}
.gift-art {
  width: 50px;
  height: 50px;
  font-size: 30px;
}
.referral-title { font-size: 16px; }
.referral-sub { color: #aab7d0; }
.progress-track { height: 9px; }
.invite-chip {
  min-width: 88px;
  font-size: 11px;
  font-weight: 500;
  background: linear-gradient(180deg, rgba(49,142,255,.20), rgba(49,142,255,.12));
}

.section-heading { margin-top: 28px; }
.section-heading h2 { font-size: 24px; }
.text-link { font-size: 12px; }

.transaction-item {
  min-height: 76px;
  border-radius: 19px;
  background: linear-gradient(180deg, rgba(16,24,40,.98), rgba(12,18,31,.96));
}
.tx-icon { box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }

.search-box,
.catalog-card,
.stat-card,
.profile-card,
.profile-stat,
.info-card,
.wallet-balance,
.coming-wallet,
.milestone-card,
.link-box,
.stat-card,
.transaction-item {
  box-shadow: var(--shadow-soft);
}

.catalog-card {
  min-height: 86px;
  border-radius: 20px;
  padding: 14px;
}
.catalog-card h3 { font-size: 16px; }
.catalog-card p { font-size: 12px; }
.catalog-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  font-size: 17px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.wallet-balance strong { font-size: 28px; }
.coming-wallet h3,
.info-card h3,
.milestone-copy h3,
.profile-card h2 { font-size: 16px; }
.profile-card p,
.coming-wallet p,
.info-card p,
.link-box span { font-size: 12px; }
.profile-stat strong { font-size: 23px; }
.profile-stat span,
.profile-stat small,
.stat-card span,
.nav-item small,
.tx-copy small,
.link-box button,
.progress-line b {
  font-size: 11px;
}

.bottom-nav {
  background: rgba(8,13,23,.96);
  border-color: rgba(255,255,255,.09);
}
.nav-item > span { font-size: 20px; }
.nav-item.active {
  color: #68cbff;
  background: linear-gradient(180deg, rgba(54,131,255,.16), rgba(54,131,255,.02));
}

@media (hover: hover) and (pointer: fine) {
  .tool-card:hover::before {
    transform: scale(1.16);
    opacity: .30;
  }
  .balance-card:hover .credit-token-img,
  .wallet-balance:hover .credit-token-img {
    transform: translateY(-2px) scale(1.04);
  }
}

@keyframes tokenFloat {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-4px) rotate(2deg); }
}

@keyframes tokenPulse {
  0%,100% { opacity: .5; transform: scale(.96); }
  50% { opacity: .95; transform: scale(1.04); }
}

@media (max-width: 560px) {
  .brand-copy h1 { font-size: 26px; }
  .balance-card {
    padding: 18px;
    min-height: 132px;
  }
  .balance-line strong { font-size: 40px; }
  .balance-line span { font-size: 14px; }
  .gradient-button.compact {
    padding: 12px 13px;
    font-size: 12px;
  }
  .tool-card {
    min-height: 210px;
    padding: 16px;
  }
  .tool-art {
    width: 72px;
    height: 72px;
  }
  .tool-copy h3 { font-size: 17px; }
  .tool-copy p { font-size: 13px; }
  .section-heading h2 { font-size: 22px; }
}


/* ================================
   FINAL v4 — visible visual redesign
   ================================ */

.balance-card {
  min-height: 148px;
  border-color: rgba(129,110,255,.22);
  background:
    radial-gradient(circle at 83% 15%, rgba(132,74,255,.48), transparent 34%),
    radial-gradient(circle at 18% 100%, rgba(26,159,255,.20), transparent 32%),
    linear-gradient(112deg,#18244b 0%,#11172d 44%,#24205f 100%);
}
.balance-card::before,
.balance-card::after {
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  opacity:.30;
  filter:blur(.2px);
}
.balance-card::before {
  width:17px;height:7px;right:31%;top:30%;
  background:linear-gradient(180deg,#ffd86b,#c98718);
  box-shadow: 66px 31px 0 -2px rgba(255,197,70,.55), -92px 47px 0 -4px rgba(255,207,78,.42);
  transform:rotate(-18deg);
}
.balance-card::after {
  width:140px;height:140px;right:-50px;bottom:-84px;
  border:1px solid rgba(168,111,255,.14);
  box-shadow:0 0 65px rgba(102,63,255,.22);
}
.credit-token-wrap {
  width:76px;height:76px;flex-basis:76px;
  filter:drop-shadow(0 12px 24px rgba(255,181,49,.30));
}
.credit-token-wrap.large {width:80px;height:80px;flex-basis:80px;}
.credit-token-img { transform-origin:50% 50%; }
.kicker { color:#a0abc0; }
.balance-line strong { font-size:48px; }

.quick-grid { gap:12px; }
.tool-card {
  min-height:236px;
  padding:16px;
  isolation:isolate;
  overflow:hidden;
}
.tool-card::before {
  width:190px;height:190px;right:-62px;bottom:-64px;opacity:.30;filter:blur(38px);
}
.tool-card::after {
  content:"";
  position:absolute;
  inset:0;
  width:auto;height:auto;border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 42%);
  filter:none;
  z-index:-1;
}

.tool-scene {
  position:absolute;
  left:15px;right:15px;top:16px;
  height:116px;
  z-index:1;
  pointer-events:none;
}

/* Remove background scene */
.scene-checker {
  position:absolute;left:4px;top:8px;width:92px;height:92px;border-radius:20px;
  transform:rotate(-5deg);
  background:
    linear-gradient(45deg,rgba(255,255,255,.16) 25%,transparent 25%) 0 0/18px 18px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.16) 75%) 0 0/18px 18px,
    linear-gradient(45deg,transparent 75%,rgba(255,255,255,.16) 75%) 9px 9px/18px 18px,
    linear-gradient(45deg,rgba(255,255,255,.16) 25%,rgba(89,70,222,.72) 25%) 9px 9px/18px 18px;
  box-shadow:0 15px 32px rgba(45,21,112,.34);
}
.scene-photo {
  position:absolute;left:42px;top:23px;width:82px;height:68px;border-radius:18px;
  transform:rotate(5deg);
  background:linear-gradient(145deg,#42ddff,#7568ff 60%,#d75fff);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 14px 30px rgba(41,82,255,.30);
}
.scene-photo span {
  position:absolute;left:18px;right:18px;bottom:15px;height:25px;
  background:linear-gradient(140deg,transparent 0 26%,rgba(9,38,92,.86) 27% 54%,transparent 55%),
             linear-gradient(40deg,transparent 0 43%,rgba(20,52,105,.88) 44% 72%,transparent 73%);
}
.scene-photo::before {
  content:"";position:absolute;width:12px;height:12px;border-radius:50%;right:17px;top:15px;background:#ffe38b;
}
.scene-cut {
  position:absolute;left:88px;top:61px;font-size:33px;transform:rotate(-18deg);
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.32));
}

/* Emoji scene */
.scene-emoji { perspective:500px; }
.scene-emoji span {
  position:absolute;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;
  font-size:32px;color:#74370a;
  background:linear-gradient(145deg,#ffe974,#ffad2f);
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 14px 30px rgba(255,121,41,.25), inset 0 1px 0 rgba(255,255,255,.45);
}
.scene-emoji span:nth-child(1){left:10px;top:31px;transform:rotate(-9deg) scale(.90);}
.scene-emoji span:nth-child(2){left:54px;top:7px;transform:rotate(5deg) scale(1.05);z-index:3;}
.scene-emoji span:nth-child(3){left:93px;top:47px;transform:rotate(10deg) scale(.80);}
.scene-emoji span:nth-child(4){left:30px;top:61px;transform:rotate(2deg) scale(.70);opacity:.86;}

/* Resize scene */
.resize-frame {
  position:absolute;left:12px;top:15px;width:105px;height:84px;border:2px solid rgba(121,246,255,.86);
  border-radius:14px;
  background:linear-gradient(150deg,rgba(44,211,219,.26),rgba(35,99,167,.20));
  box-shadow:0 0 26px rgba(21,218,217,.20), inset 0 0 24px rgba(23,194,202,.09);
}
.resize-frame::before {
  content:"";position:absolute;left:18px;right:18px;bottom:17px;height:30px;
  background:linear-gradient(135deg,transparent 0 25%,#30a8e2 26% 53%,transparent 54%),
             linear-gradient(45deg,transparent 0 40%,#1ad6d0 41% 70%,transparent 71%);
  opacity:.86;
}
.resize-frame i {position:absolute;width:10px;height:10px;border-radius:3px;background:#d9ffff;box-shadow:0 0 10px #44eff1;}
.resize-frame i:nth-child(1){left:-6px;top:-6px}.resize-frame i:nth-child(2){right:-6px;top:-6px}.resize-frame i:nth-child(3){left:-6px;bottom:-6px}.resize-frame i:nth-child(4){right:-6px;bottom:-6px}
.ratio {
  position:absolute;right:0;padding:4px 7px;border-radius:8px;font-size:9px;font-weight:600;color:#caffff;
  border:1px solid rgba(103,242,240,.24);background:rgba(3,41,62,.56);backdrop-filter:blur(4px);
}
.ratio.r1{top:12px}.ratio.r2{top:42px}.ratio.r3{top:72px}

/* Converter scene */
.scene-convert .file-chip {
  position:absolute;width:62px;height:48px;border-radius:14px;display:grid;place-items:center;
  font-size:12px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.24);
  box-shadow:0 13px 27px rgba(31,51,255,.25);
}
.file-chip.jpg{left:4px;top:18px;transform:rotate(-10deg);background:linear-gradient(145deg,#2da4ff,#3762ff);}
.file-chip.png{left:59px;top:8px;transform:rotate(7deg);background:linear-gradient(145deg,#914cff,#5a4dff);z-index:2;}
.file-chip.webp{left:86px;top:57px;transform:rotate(8deg) scale(.78);background:linear-gradient(145deg,#267dff,#675cff);}
.convert-arrow{position:absolute;left:20px;top:68px;font-size:31px;color:#72e7ff;transform:rotate(-20deg);text-shadow:0 0 16px rgba(69,221,255,.66);}

.tool-copy { bottom:17px; }
.tool-copy h3 { font-size:19px; }
.tool-copy p { font-size:13px;color:rgba(255,255,255,.74);max-width:100%; }
.round-arrow,.price-pill { z-index:4; }

.referral-banner {
  min-height:105px;
  background:
    radial-gradient(circle at 0% 50%,rgba(94,75,255,.28),transparent 26%),
    radial-gradient(circle at 100% 20%,rgba(31,176,255,.20),transparent 30%),
    linear-gradient(110deg,#192a62,#102459 58%,#135280);
}
.gift-art { filter:drop-shadow(0 8px 16px rgba(140,75,255,.30)); }
.progress-track {height:10px;}

.transaction-item { border-color:rgba(255,255,255,.075); }
.bottom-nav { height:76px; }
.nav-item small { font-size:11px; }

@media (hover:hover) and (pointer:fine) {
  .tool-card:hover .tool-scene { transform:translateY(-3px) scale(1.025); }
  .tool-card:hover .scene-emoji span:nth-child(2){transform:rotate(2deg) scale(1.10);}
  .credit-token-wrap:hover .credit-token-img { animation:tokenSpin .75s cubic-bezier(.2,.8,.2,1); }
}
.tool-scene { transition:transform .24s cubic-bezier(.2,.8,.2,1),filter .24s ease; }
@keyframes tokenSpin {
  0%{transform:rotateY(0) scale(1)}
  50%{transform:rotateY(180deg) scale(1.08)}
  100%{transform:rotateY(360deg) scale(1)}
}

@media (min-width:700px) {
  .tool-card { min-height:250px; }
  .tool-scene { height:125px; }
}

@media (max-width:560px) {
  .credit-token-wrap{width:66px;height:66px;flex-basis:66px;}
  .balance-line strong{font-size:43px;}
  .tool-card{min-height:230px;}
  .tool-scene{left:13px;right:13px;top:14px;transform:scale(.95);transform-origin:left top;}
}


/* ================================
   v5 — locked visual direction
   ================================ */
.balance-card {
  border: 1px solid rgba(72,142,255,.48);
  box-shadow:
    0 22px 72px rgba(0,0,0,.34),
    0 0 0 1px rgba(125,74,255,.14) inset,
    0 0 38px rgba(72,80,255,.09);
}
.balance-card::after {
  box-shadow: 0 0 78px rgba(112,57,255,.32);
}
.balance-line span {
  color:#c8c8ff;
  font-size:15px;
  font-weight:500;
}
.credit-token-wrap::after {
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  z-index:-1;
  background:radial-gradient(circle, rgba(255,196,54,.22), transparent 66%);
  filter:blur(4px);
  animation:tokenAura 3.2s ease-in-out infinite;
}
@keyframes tokenAura {
  0%,100% { opacity:.52; transform:scale(.94); }
  50% { opacity:1; transform:scale(1.08); }
}
.tool-card {
  border-color: rgba(96,129,255,.20);
  box-shadow:0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04);
}
.tool-purple { border-color:rgba(148,79,255,.38); }
.tool-orange { border-color:rgba(255,146,49,.34); }
.tool-cyan { border-color:rgba(33,216,217,.36); }
.tool-blue { border-color:rgba(54,119,255,.42); }
.scene-convert .file-chip.webp {
  letter-spacing:-.03em;
  font-size:10px;
}
.referral-banner {
  border-color:rgba(69,124,255,.28);
  box-shadow:0 18px 52px rgba(0,0,0,.23), inset 0 1px 0 rgba(255,255,255,.035);
}
.transaction-item {
  box-shadow:0 12px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.025);
}
.tx-icon img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 4px 8px rgba(255,185,46,.24));
}
.tx-icon.token-icon {
  padding:3px;
  background:linear-gradient(145deg,rgba(54,80,255,.28),rgba(37,31,80,.84));
}
.bottom-nav {
  border-color:rgba(113,133,190,.20);
  box-shadow:0 24px 70px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.025);
}
@media (hover:hover) and (pointer:fine) {
  .tool-card:hover {
    box-shadow:0 28px 70px rgba(0,0,0,.35), 0 0 30px rgba(74,101,255,.10);
  }
  .tool-purple:hover { box-shadow:0 28px 70px rgba(0,0,0,.35), 0 0 32px rgba(150,70,255,.14); }
  .tool-orange:hover { box-shadow:0 28px 70px rgba(0,0,0,.35), 0 0 32px rgba(255,135,47,.13); }
  .tool-cyan:hover { box-shadow:0 28px 70px rgba(0,0,0,.35), 0 0 32px rgba(24,220,214,.12); }
  .tool-blue:hover { box-shadow:0 28px 70px rgba(0,0,0,.35), 0 0 32px rgba(50,117,255,.16); }
}


/* ================================
   v6 — match approved visual mockup
   ================================ */
body {
  background:
    radial-gradient(circle at 6% -4%, rgba(58,60,255,.20), transparent 33%),
    radial-gradient(circle at 100% 8%, rgba(27,157,255,.12), transparent 28%),
    linear-gradient(180deg,#070b16,#060a12 70%);
}
.app-shell { width:min(100%,970px); }
.topbar { margin-bottom:24px; }
.brand-icon { box-shadow:0 0 24px rgba(65,94,255,.17), inset 0 1px 0 rgba(255,255,255,.08); }
.brand-copy h1 { font-size:clamp(30px,5vw,39px); letter-spacing:-.045em; }
.brand-copy p { color:#9caac4; font-size:14px; }

.balance-card {
  min-height:150px; padding:22px 24px; border-radius:28px;
  border:1px solid rgba(55,148,255,.62);
  background:
    radial-gradient(circle at 8% 50%,rgba(255,183,54,.10),transparent 19%),
    radial-gradient(circle at 86% 30%,rgba(145,50,255,.48),transparent 31%),
    linear-gradient(104deg,#17346a 0%,#121c49 39%,#21206b 69%,#5116aa 110%);
  box-shadow:0 26px 80px rgba(0,0,0,.34),0 0 38px rgba(74,92,255,.11),inset 0 1px 0 rgba(255,255,255,.06);
}
.balance-card::before,.balance-card::after { display:none; }
.balance-left { gap:18px; }
.credit-token-wrap { width:88px;height:88px;flex-basis:88px;filter:drop-shadow(0 0 9px rgba(255,214,56,.65)) drop-shadow(0 14px 24px rgba(255,154,32,.24)); }
.credit-token-wrap::before { inset:-13px;background:radial-gradient(circle,rgba(255,205,70,.31),rgba(255,174,23,.08) 45%,transparent 71%); }
.credit-token-wrap::after { inset:-14px; }
.kicker { color:#aeb9d8;font-size:12px; }
.balance-line strong { font-size:52px; }
.balance-line span { font-size:16px;color:#cbc8ff; }
.gradient-button.compact { border-radius:17px;padding:15px 18px;font-size:13px;box-shadow:0 13px 31px rgba(88,65,255,.32); }

.quick-grid { gap:12px;margin-top:14px; }
.tool-card { min-height:278px;padding:0;border-radius:26px;overflow:hidden;isolation:isolate;box-shadow:0 22px 58px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04); }
.tool-card::before { width:210px;height:210px;right:-60px;bottom:-70px;opacity:.35;filter:blur(42px); }
.tool-card::after { background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 47%); }
.tool-purple { background:linear-gradient(145deg,#472074 0%,#26144d 50%,#15172d 100%);border-color:rgba(152,74,255,.52); }
.tool-orange { background:linear-gradient(145deg,#6b3119 0%,#482119 48%,#17142b 100%);border-color:rgba(255,145,49,.52); }
.tool-cyan { background:linear-gradient(145deg,#064e59 0%,#073a45 48%,#0b1830 100%);border-color:rgba(32,219,222,.50); }
.tool-blue { background:linear-gradient(145deg,#153f83 0%,#153471 48%,#121a42 100%);border-color:rgba(50,118,255,.58); }
.tool-visual-wrap { position:absolute;left:7px;right:7px;top:5px;height:170px;display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;overflow:visible;transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .28s ease; }
.tool-visual { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.20)); }
.tool-copy { left:19px;right:19px;bottom:19px; }
.tool-copy h3 { margin:0 0 7px;font-size:21px;letter-spacing:-.035em; }
.tool-copy p { max-width:96%;color:rgba(242,245,255,.79);font-size:14px;line-height:1.45; }
.round-arrow { top:14px;right:14px;width:38px;height:38px;font-size:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(8px); }
.price-pill { right:12px;top:13px;padding:8px 11px;border-radius:13px;background:rgba(255,255,255,.14);font-size:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.10); }

.referral-banner { min-height:128px;margin-top:15px;padding:17px 18px;grid-template-columns:96px 1fr auto;border-radius:27px;border:1px solid rgba(59,130,255,.44);background:radial-gradient(circle at 9% 55%,rgba(105,47,255,.30),transparent 24%),radial-gradient(circle at 97% 20%,rgba(35,169,255,.23),transparent 30%),linear-gradient(110deg,#173172,#172d6b 54%,#12598c);box-shadow:0 20px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.04); }
.gift-art { width:88px;height:88px;background:transparent;display:grid;place-items:center; }
.gift-art img { width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(108,44,255,.34));transition:transform .25s ease; }
.referral-title { font-size:17px; }
.referral-sub { font-size:12px;color:#b3c1de; }
.progress-track { height:10px; }
.invite-chip { padding:13px 15px;min-width:96px;border-radius:14px;font-size:12px;background:linear-gradient(180deg,rgba(33,151,255,.24),rgba(33,117,255,.16)); }
.section-heading { margin-top:29px; }
.section-heading h2 { font-size:25px; }
.transaction-item { min-height:78px;border-radius:18px;background:linear-gradient(180deg,#101a2c,#0c1525);border-color:rgba(87,107,160,.22); }
.bottom-nav { height:80px;border-radius:25px;background:rgba(7,12,24,.97);border-color:rgba(84,112,175,.25); }
.nav-item>span { font-size:20px; }
.nav-item small { font-size:11px; }
.nav-item.active { background:linear-gradient(180deg,rgba(32,145,255,.22),rgba(28,86,205,.07)); }
@media (hover:hover) and (pointer:fine) {
  .tool-card:hover .tool-visual-wrap { transform:translateY(-6px) scale(1.035);filter:brightness(1.06) saturate(1.06); }
  .referral-banner:hover .gift-art img { transform:translateY(-3px) rotate(-3deg) scale(1.05); }
}
@media (min-width:700px) {
  .quick-grid { grid-template-columns:repeat(4,1fr); }
  .tool-card { min-height:286px; }
  .tool-visual-wrap { height:177px; }
}
@media (max-width:560px) {
  .balance-card { min-height:142px;padding:18px; }
  .credit-token-wrap { width:70px;height:70px;flex-basis:70px; }
  .balance-line strong { font-size:44px; }
  .balance-line span { font-size:14px; }
  .tool-card { min-height:250px; }
  .tool-visual-wrap { height:150px; }
  .tool-copy h3 { font-size:18px; }
  .tool-copy p { font-size:13px; }
  .referral-banner { grid-template-columns:72px 1fr;min-height:118px; }
  .gift-art { width:66px;height:66px; }
  .invite-chip { grid-column:1/-1;width:100%; }
}


/* ================================
   v7 — approved design, production pass
   ================================ */
html, body { min-height:100%; }
body {
  background:#030712;
  position:relative;
}
body::before {
  content:"";
  position:fixed;
  inset:-60px;
  z-index:-3;
  background:
    linear-gradient(rgba(3,7,18,.42),rgba(3,7,18,.58)),
    url('/static/page-bg.jpg') center top / cover no-repeat;
  filter:saturate(1.16) contrast(1.02);
  transform:scale(1.06);
}
body::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 14%, rgba(44,92,255,.35), transparent 31%),
    radial-gradient(circle at 86% 11%, rgba(165,47,255,.26), transparent 30%),
    radial-gradient(circle at 52% 65%, rgba(24,115,255,.12), transparent 35%),
    linear-gradient(180deg, rgba(3,7,18,.05), rgba(3,7,18,.70) 78%, #040811 100%);
}
.ambient { opacity:.28;filter:blur(105px); }
.ambient-a{width:520px;height:520px;background:#2938ff;top:-180px;left:-210px;}
.ambient-b{width:500px;height:500px;background:#8d2bff;top:-110px;right:-240px;}

.app-shell { width:min(100%,1010px); padding:22px 26px 132px; }
.page[data-page="home"] { position:relative; }
.page[data-page="home"] .topbar {
  min-height:130px;
  margin-bottom:14px;
  padding:10px 6px 8px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.page[data-page="home"] .topbar::after {
  content:"";
  position:absolute;
  left:36%;right:0;bottom:-18px;height:70px;
  z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(25,154,255,.08),rgba(154,49,255,.12),transparent);
  filter:blur(18px);
}
.hero-mascot-art {
  position:absolute;
  right:66px;
  top:-22px;
  width:360px;
  height:170px;
  z-index:-1;
  opacity:.92;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 86%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 86%,transparent 100%);
}
.hero-mascot-art img { width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(1.08) brightness(.98) drop-shadow(0 12px 34px rgba(64,92,255,.22)); }
.brand { position:relative;z-index:2; }
.brand-icon { width:62px;height:62px;flex-basis:62px;border-radius:20px;background:rgba(5,12,32,.72);backdrop-filter:blur(12px);border-color:rgba(76,151,255,.38); }
.brand-icon span:first-child{left:15px;bottom:13px;width:22px;height:34px}.brand-icon span:last-child{right:12px;bottom:13px;width:22px;height:28px}
.brand-copy h1 { font-size:clamp(35px,5vw,47px);text-shadow:0 6px 28px rgba(0,0,0,.26); }
.brand-copy p { font-size:15px;color:#c4cae0;text-shadow:0 2px 10px rgba(0,0,0,.35); }
.avatar { position:relative;z-index:3;background:rgba(10,16,39,.72);backdrop-filter:blur(12px);border-color:rgba(100,134,220,.28); }

.balance-card {
  min-height:166px;
  padding:22px 28px;
  border-radius:30px;
  border:1.5px solid rgba(60,180,255,.76);
  background:
    radial-gradient(circle at 12% 50%,rgba(255,187,43,.13),transparent 24%),
    radial-gradient(circle at 86% 40%,rgba(195,44,255,.40),transparent 31%),
    linear-gradient(102deg,rgba(16,57,119,.96),rgba(14,33,86,.97) 43%,rgba(27,24,111,.97) 70%,rgba(80,19,167,.97) 112%);
  box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 28px rgba(61,136,255,.13),inset 0 1px 0 rgba(255,255,255,.08);
}
.balance-left { gap:18px; }
.credit-token-wrap {
  width:120px;height:102px;flex-basis:120px;
  border-radius:32px;
  overflow:hidden;
  filter:none;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 55%,rgba(0,0,0,.85) 70%,transparent 95%);
  mask-image:radial-gradient(ellipse at center,#000 55%,rgba(0,0,0,.85) 70%,transparent 95%);
}
.credit-token-wrap::before,.credit-token-wrap::after{display:none!important;}
.credit-token-img { width:100%;height:100%;object-fit:cover;animation:coinFloat 4.2s ease-in-out infinite;filter:saturate(1.05) drop-shadow(0 12px 18px rgba(255,162,32,.22)); }
@keyframes coinFloat {0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1.5deg)}}
.kicker { color:#d2d7ec;font-size:13px;letter-spacing:.13em; }
.balance-line strong { font-size:58px;line-height:.96;text-shadow:0 5px 28px rgba(0,0,0,.18); }
.balance-line span { font-size:20px;color:#c5c2ff;font-weight:400; }
.gradient-button.compact { padding:17px 23px;border-radius:18px;font-size:15px;font-weight:600;box-shadow:0 13px 34px rgba(78,62,255,.36),0 0 20px rgba(42,205,255,.12); }

.quick-grid { gap:13px;margin-top:15px; }
.tool-card {
  min-height:334px;
  border-radius:28px;
  border-width:1.3px;
  box-shadow:0 22px 58px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.055);
}
.tool-purple{background:linear-gradient(150deg,#5b168f 0%,#321264 52%,#16172e 100%);border-color:rgba(229,75,255,.72)}
.tool-orange{background:linear-gradient(150deg,#8b3513 0%,#5b2416 50%,#21152c 100%);border-color:rgba(255,154,45,.78)}
.tool-cyan{background:linear-gradient(150deg,#075f72 0%,#074252 52%,#0a1730 100%);border-color:rgba(29,236,239,.72)}
.tool-blue{background:linear-gradient(150deg,#164c9a 0%,#173b83 52%,#101a45 100%);border-color:rgba(56,129,255,.78)}
.tool-card::after { background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 50%); }
.tool-visual-wrap {
  left:8px;right:8px;top:8px;height:205px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 79%,rgba(0,0,0,.55) 91%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 79%,rgba(0,0,0,.55) 91%,transparent 100%);
}
.tool-visual { width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(1.08) contrast(1.02) drop-shadow(0 18px 26px rgba(0,0,0,.17)); }
.tool-copy { left:20px;right:18px;bottom:20px; }
.tool-copy h3 { font-size:25px;line-height:1.04;margin-bottom:9px;letter-spacing:-.045em; }
.tool-copy p { font-size:16px;line-height:1.35;color:#e1e4f2; }
.round-arrow { width:42px;height:42px;top:15px;right:15px;font-size:21px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 18px rgba(0,0,0,.12); }
.price-pill { top:auto;right:17px;bottom:104px;font-size:13px;padding:8px 13px;border-radius:999px;background:rgba(24,17,55,.66);border:1px solid rgba(255,210,104,.38);box-shadow:0 8px 22px rgba(0,0,0,.18),0 0 14px rgba(255,153,43,.11); }

.referral-banner {
  min-height:143px;
  margin-top:16px;
  grid-template-columns:220px 1fr auto;
  gap:10px;
  padding:10px 17px 10px 8px;
  border-radius:29px;
  border:1.5px solid rgba(61,151,255,.68);
  background:
    radial-gradient(circle at 7% 50%,rgba(174,47,255,.26),transparent 27%),
    radial-gradient(circle at 96% 45%,rgba(68,66,255,.32),transparent 31%),
    linear-gradient(105deg,#15347c,#122b71 56%,#143f99 100%);
  box-shadow:0 22px 62px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.055);
}
.gift-art {
  width:210px;height:124px;overflow:hidden;background:transparent;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 76%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 76%,transparent 100%);
}
.gift-art img { width:100%;height:100%;object-fit:cover;object-position:left center;filter:saturate(1.08) drop-shadow(0 11px 20px rgba(129,46,255,.28)); }
.referral-title { font-size:19px;letter-spacing:-.025em; }
.referral-sub { margin-top:5px;font-size:13px;color:#d0d7ef; }
.progress-line { margin-top:12px; }
.progress-track { height:12px;border:1px solid rgba(51,188,255,.25); }
.progress-track span { box-shadow:0 0 14px rgba(41,222,255,.50); }
.invite-chip { padding:15px 20px;min-width:118px;font-size:13px;font-weight:600;border-radius:16px;background:linear-gradient(100deg,#25c9ff,#4e69ff 55%,#af4bff);box-shadow:0 12px 28px rgba(73,76,255,.28); }

.page[data-page="home"] .section-heading { margin:28px 6px 12px; }
.page[data-page="home"] .section-eyebrow { display:none; }
.section-heading h2 { font-size:30px;letter-spacing:-.04em; }
.text-link { color:#2ce6f3;font-size:14px; }
.transaction-list { gap:10px; }
.transaction-item { min-height:78px;padding:12px 16px;border-radius:16px;background:linear-gradient(100deg,rgba(15,28,59,.96),rgba(10,23,50,.96));border-color:rgba(63,121,210,.35); }
.tx-icon { width:44px;height:44px;border-radius:12px;overflow:hidden;padding:0!important;background:linear-gradient(145deg,#173f91,#241253)!important;border:1px solid rgba(82,140,255,.34); }
.tx-icon img { width:100%;height:100%;object-fit:cover;filter:saturate(1.08); }
.tx-copy strong { font-size:15px; }
.tx-copy small { font-size:12px;color:#9aa8c7; }
.tx-amount { font-size:19px;font-weight:700; }

.bottom-nav {
  height:92px;
  bottom:max(11px,env(safe-area-inset-bottom));
  border-radius:27px;
  border:1.3px solid rgba(74,135,255,.48);
  background:rgba(5,12,28,.94);
  backdrop-filter:blur(22px);
  box-shadow:0 24px 74px rgba(0,0,0,.48),0 0 24px rgba(54,93,255,.10),inset 0 1px 0 rgba(255,255,255,.04);
}
.nav-item { gap:5px; }
.nav-item>span { font-size:24px; }
.nav-item small { font-size:13px; }
.nav-item.active { color:#35e3ff;background:linear-gradient(180deg,rgba(27,145,255,.27),rgba(18,72,184,.09));box-shadow:inset 0 0 0 1px rgba(47,161,255,.10); }
.nav-item.active::after { width:34px;height:3px;background:#31e8ff;box-shadow:0 0 13px rgba(49,232,255,.66); }

@media (hover:hover) and (pointer:fine) {
  .tool-card:hover { transform:translateY(-6px) scale(1.012);filter:brightness(1.045) saturate(1.04); }
  .tool-card:hover .tool-visual-wrap { transform:translateY(-5px) scale(1.035); }
  .balance-card:hover .credit-token-img { transform:translateY(-5px) rotate(1.5deg) scale(1.025); }
  .referral-banner:hover .gift-art img { transform:translateY(-3px) scale(1.025); }
}

@media (min-width:700px) {
  .quick-grid { grid-template-columns:repeat(4,1fr); }
  .tool-card { min-height:336px; }
  .tool-visual-wrap { height:207px; }
  .transaction-list { grid-template-columns:1fr 1fr; }
}

@media (max-width:699px) {
  .app-shell { padding-left:14px;padding-right:14px; }
  .page[data-page="home"] .topbar { min-height:102px; }
  .hero-mascot-art { width:245px;height:130px;right:35px;top:-12px;opacity:.58; }
  .brand-icon { width:50px;height:50px;flex-basis:50px;border-radius:16px; }
  .brand-copy h1 { font-size:27px; }
  .brand-copy p { font-size:12px;max-width:250px; }
  .balance-card { min-height:142px;padding:18px 16px; }
  .credit-token-wrap { width:82px;height:76px;flex-basis:82px; }
  .balance-left { gap:7px; }
  .balance-line strong { font-size:43px; }
  .balance-line span { font-size:13px; }
  .gradient-button.compact { padding:13px 14px;font-size:12px; }
  .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tool-card { min-height:270px; }
  .tool-visual-wrap { height:160px; }
  .tool-copy h3 { font-size:19px; }
  .tool-copy p { font-size:13px; }
  .price-pill { bottom:91px;font-size:11px;padding:7px 10px; }
  .referral-banner { grid-template-columns:92px 1fr;min-height:126px;padding:11px; }
  .gift-art { width:92px;height:92px; }
  .referral-title { font-size:15px; }
  .referral-sub { font-size:11px; }
  .invite-chip { grid-column:1/-1;width:100%;padding:11px 14px; }
  .section-heading h2 { font-size:24px; }
  .bottom-nav { height:78px; }
  .nav-item>span { font-size:19px; }
  .nav-item small { font-size:10px; }
}

@media (max-width:430px) {
  .hero-mascot-art { opacity:.34;right:10px; }
  .brand-copy p { max-width:205px; }
  .balance-card { gap:8px; }
  .gradient-button.compact b { margin-left:4px; }
  .tool-card { min-height:256px; }
  .tool-visual-wrap { height:150px; }
  .tool-copy { left:15px;right:14px;bottom:15px; }
  .tool-copy h3 { font-size:18px; }
  .tool-copy p { font-size:12px; }
}


/* ================================
   v8 — final visual polish
   ================================ */

html, body {
  background: #030715;
}

body {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 68% -6%, rgba(25,153,255,.19), transparent 28%),
    radial-gradient(circle at 95% 7%, rgba(154,44,255,.22), transparent 29%),
    radial-gradient(circle at 5% 22%, rgba(27,67,255,.16), transparent 30%),
    linear-gradient(180deg,#060b22 0%,#040816 58%,#030711 100%);
}

body::before {
  content:"";
  position: fixed;
  inset: 0;
  z-index: -6;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 7%, rgba(120,214,255,.80) 0 1px, transparent 1.7px),
    radial-gradient(circle at 24% 18%, rgba(133,106,255,.70) 0 1px, transparent 1.6px),
    radial-gradient(circle at 42% 9%, rgba(255,255,255,.80) 0 1px, transparent 1.5px),
    radial-gradient(circle at 57% 22%, rgba(52,201,255,.72) 0 1px, transparent 1.7px),
    radial-gradient(circle at 73% 13%, rgba(185,90,255,.74) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 88% 27%, rgba(255,255,255,.70) 0 1px, transparent 1.6px),
    radial-gradient(circle at 14% 49%, rgba(72,154,255,.58) 0 1px, transparent 1.7px),
    radial-gradient(circle at 35% 61%, rgba(255,255,255,.54) 0 1px, transparent 1.6px),
    radial-gradient(circle at 67% 54%, rgba(92,145,255,.62) 0 1px, transparent 1.7px),
    radial-gradient(circle at 91% 69%, rgba(212,71,255,.62) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 20% 84%, rgba(57,185,255,.45) 0 1px, transparent 1.6px),
    radial-gradient(circle at 79% 89%, rgba(255,255,255,.45) 0 1px, transparent 1.7px);
  opacity:.85;
}

body::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:-5;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 49% 13%, rgba(29,93,255,.18), transparent 40%),
    radial-gradient(ellipse at 78% 40%, rgba(90,23,255,.12), transparent 33%),
    radial-gradient(ellipse at 18% 58%, rgba(20,109,255,.10), transparent 37%),
    linear-gradient(180deg, rgba(5,9,25,.02), rgba(3,7,18,.42) 78%, rgba(3,7,17,.82) 100%);
}

.cosmic-ribbon {
  position:fixed;
  z-index:-4;
  pointer-events:none;
  border-radius:50%;
  filter:blur(.4px);
  opacity:.62;
}
.ribbon-a {
  width:1400px;
  height:650px;
  left:-300px;
  top:-120px;
  border:3px solid rgba(27,193,255,.30);
  box-shadow:
    0 0 34px rgba(24,151,255,.18),
    inset 0 0 40px rgba(114,34,255,.10);
  transform:rotate(-11deg);
}
.ribbon-a::after {
  content:"";
  position:absolute;
  inset:54px 110px;
  border-radius:50%;
  border:2px solid rgba(156,51,255,.25);
  box-shadow:0 0 34px rgba(126,52,255,.18);
}
.ribbon-b {
  width:1250px;
  height:530px;
  right:-460px;
  bottom:-160px;
  border:2px solid rgba(66,103,255,.24);
  box-shadow:0 0 42px rgba(77,45,255,.16);
  transform:rotate(13deg);
}
.star-field {
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  opacity:.48;
  background-image:
    radial-gradient(circle,rgba(80,176,255,.55) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(171,76,255,.48) 0 1px,transparent 1.4px);
  background-size:74px 74px,113px 113px;
  background-position:13px 8px,48px 31px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 70%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 70%,transparent 100%);
}

.app-shell {
  width:min(100%, 1040px);
  padding-bottom:150px;
}

.page[data-page="home"] .topbar {
  min-height:160px;
  margin-bottom:14px;
  overflow:visible;
  isolation:isolate;
}

.page[data-page="home"] .topbar::before {
  content:"";
  position:absolute;
  right:-32px;
  top:-46px;
  width:560px;
  height:240px;
  border-radius:50%;
  background:
    radial-gradient(circle at 56% 44%,rgba(26,194,255,.21),transparent 30%),
    radial-gradient(circle at 82% 38%,rgba(171,59,255,.28),transparent 39%);
  filter:blur(8px);
  z-index:-2;
}

.hero-mascot-art {
  right:46px;
  top:-47px;
  width:500px;
  height:248px;
  z-index:-1;
  opacity:.91;
  overflow:visible;
  mix-blend-mode:screen;
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 7%,#000 28%,#000 90%,transparent 100%),
    linear-gradient(180deg,#000 0%,#000 68%,rgba(0,0,0,.72) 82%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 91%,transparent 100%);
}
.hero-mascot-art img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center right;
  filter:saturate(1.16) brightness(1.05) drop-shadow(0 18px 36px rgba(63,79,255,.28));
}

.brand {
  max-width:520px;
}
.brand-copy h1 {
  font-size:clamp(38px,5vw,50px);
}
.brand-copy p {
  color:#d0d7ec;
  font-size:15px;
}

.balance-card {
  min-height:154px;
  padding:18px 28px;
  border:1.5px solid rgba(67,183,255,.82);
  background:
    radial-gradient(circle at 8% 45%,rgba(31,213,255,.10),transparent 24%),
    radial-gradient(circle at 96% 30%,rgba(214,49,255,.40),transparent 31%),
    linear-gradient(102deg,rgba(14,45,106,.98),rgba(16,31,85,.98) 46%,rgba(40,25,129,.98) 74%,rgba(79,21,170,.98) 112%);
  box-shadow:
    0 24px 70px rgba(0,0,0,.31),
    0 0 28px rgba(42,131,255,.12),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.credit-token-wrap {
  width:100px;
  height:100px;
  flex-basis:100px;
  border-radius:50%;
  overflow:hidden;
  -webkit-mask-image:none;
  mask-image:none;
  background:radial-gradient(circle,rgba(255,194,44,.16),transparent 66%);
  box-shadow:0 0 26px rgba(255,177,41,.18);
}
.credit-token-img {
  width:118%;
  height:118%;
  object-fit:cover;
  object-position:43% 54%;
  margin:-9% 0 0 -9%;
  border-radius:50%;
  filter:saturate(1.09) brightness(1.03) drop-shadow(0 11px 15px rgba(255,142,26,.24));
}
.balance-left { gap:15px; }
.balance-line strong { font-size:56px; }
.balance-line span { font-size:19px;color:#d7ceff; }

.quick-grid { gap:13px; }
.tool-card {
  min-height:308px;
  border-radius:27px;
  overflow:hidden;
}
.tool-visual-wrap {
  left:8px;
  right:8px;
  top:7px;
  height:184px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 84%,rgba(0,0,0,.65) 93%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 84%,rgba(0,0,0,.65) 93%,transparent 100%);
}
.tool-visual {
  width:94%;
  height:94%;
  margin:2% 3%;
  object-fit:contain;
  object-position:center center;
  filter:saturate(1.11) contrast(1.025) brightness(1.02) drop-shadow(0 18px 28px rgba(0,0,0,.18));
}
.tool-copy {
  bottom:18px;
}
.tool-copy h3 {
  font-size:24px;
  margin-bottom:7px;
}
.tool-copy p {
  font-size:15px;
  color:#e2e6f4;
}
.price-pill {
  right:17px;
  bottom:97px;
}

.referral-banner {
  min-height:132px;
  grid-template-columns:166px minmax(0,1fr) auto;
  gap:13px;
  padding:10px 18px 10px 10px;
  border-color:rgba(65,158,255,.75);
  background:
    radial-gradient(circle at 4% 50%,rgba(175,47,255,.18),transparent 22%),
    radial-gradient(circle at 100% 50%,rgba(72,55,255,.32),transparent 34%),
    linear-gradient(106deg,#15387e,#112b72 58%,#17489f 100%);
}
.gift-art {
  width:158px;
  height:112px;
  overflow:visible;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.85) 0%,#000 28%,#000 82%,transparent 100%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.85) 0%,#000 28%,#000 82%,transparent 100%);
}
.gift-art img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  mix-blend-mode:screen;
  filter:saturate(1.13) brightness(1.05) drop-shadow(0 13px 18px rgba(126,51,255,.30));
}
.referral-title { font-size:18px; }
.referral-sub { font-size:13px; }
.invite-chip { min-width:116px; }

.page[data-page="home"] .section-heading {
  margin-top:24px;
}
.section-heading h2 { font-size:28px; }

.transaction-list {
  padding-bottom:18px;
}
.transaction-item {
  min-height:72px;
}

.bottom-nav {
  width:min(calc(100% - 32px),960px);
  height:84px;
  bottom:max(12px,env(safe-area-inset-bottom));
  border-color:rgba(71,137,255,.55);
  background:rgba(4,10,25,.965);
}
.nav-item>span { font-size:22px; }
.nav-item small { font-size:12px; }

/* Keep all content safely above the fixed navigation */
.page[data-page="home"] {
  padding-bottom:26px;
}

@media (min-width:700px) {
  .tool-card { min-height:310px; }
  .tool-visual-wrap { height:185px; }
}

@media (max-width:860px) {
  .hero-mascot-art {
    width:405px;
    height:210px;
    right:20px;
    top:-35px;
    opacity:.76;
  }
  .brand { max-width:470px; }
  .brand-copy h1 { font-size:39px; }
}

@media (max-width:699px) {
  .app-shell { padding-bottom:134px; }
  .page[data-page="home"] .topbar { min-height:116px; }
  .hero-mascot-art {
    width:285px;
    height:150px;
    right:4px;
    top:-18px;
    opacity:.52;
  }
  .brand { max-width:310px; }
  .brand-copy h1 { font-size:28px; }
  .brand-copy p { font-size:12px; }
  .balance-card { min-height:138px;padding:15px 16px; }
  .credit-token-wrap { width:76px;height:76px;flex-basis:76px; }
  .balance-line strong { font-size:43px; }
  .balance-line span { font-size:13px; }
  .quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tool-card { min-height:260px; }
  .tool-visual-wrap { height:152px; }
  .tool-copy h3 { font-size:19px; }
  .tool-copy p { font-size:12.5px; }
  .price-pill { bottom:89px; }
  .referral-banner {
    grid-template-columns:90px minmax(0,1fr);
    min-height:118px;
    padding:10px 12px;
  }
  .gift-art { width:88px;height:88px; }
  .invite-chip { grid-column:1/-1;width:100%; }
  .bottom-nav { height:78px;width:min(calc(100% - 16px),960px); }
  .nav-item>span { font-size:19px; }
  .nav-item small { font-size:10px; }
}

@media (max-width:430px) {
  .hero-mascot-art { width:235px;height:132px;opacity:.38;right:-12px; }
  .brand { max-width:255px; }
  .brand-copy h1 { font-size:25px; }
  .brand-copy p { max-width:190px; }
  .balance-card { padding:14px 12px; }
  .credit-token-wrap { width:67px;height:67px;flex-basis:67px; }
  .gradient-button.compact { padding:12px 12px; }
  .tool-card { min-height:250px; }
  .tool-visual-wrap { height:145px; }
}
