/* BaseHeart Rewards Center */
.rewards-topbar-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(240,68,145,.2);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(240,68,145,.09), rgba(118,61,255,.045) 58%, rgba(15,14,19,.94));
  color: #e9e8ee;
  font: inherit;
  font-size: 12.5px;
  font-weight: 760;
  cursor: pointer;
  white-space: nowrap;
}
.rewards-topbar-button:hover,
.rewards-topbar-button:focus-visible {
  border-color: rgba(255,102,165,.5);
  background: linear-gradient(135deg, rgba(240,68,145,.15), rgba(118,61,255,.07) 58%, rgba(18,16,22,.97));
}
.rewards-topbar-button:focus-visible { outline: 2px solid rgba(255,102,165,.72); outline-offset: 2px; }
.rewards-topbar-core {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: 9px;
  color: #ff7ab3;
  background: rgba(240,68,145,.1);
  box-shadow: inset 0 0 0 1px rgba(255,122,179,.2);
}
.rewards-topbar-core::before { content:"◆"; font-size:11px; filter:drop-shadow(0 0 7px rgba(255,82,167,.55)); }
.rewards-topbar-level { color:#ff9bc4; font-variant-numeric:tabular-nums; }

.rewards-page[hidden] { display:none !important; }
.rewards-page {
  position: relative;
  min-height: 100vh;
  padding: 88px 32px 80px;
  overflow: hidden;
}
.rewards-page-wrap {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 22px;
}
.rewards-page-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
}
.rewards-heading-copy { display:grid; gap:7px; max-width:760px; }
.rewards-heading-copy h1 {
  margin:0;
  color:#f7f6fa;
  font-size:clamp(34px,4vw,54px);
  line-height:.98;
  letter-spacing:-.055em;
}
.rewards-heading-copy p { margin:0; color:#9895a2; font-size:14px; line-height:1.6; }
.rewards-personal-pill {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#b9b5c1;
  font-size:12px;
  font-weight:700;
}
.rewards-personal-pill::before { content:"⌂"; color:#ff77b1; }

.rewards-tabs {
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
  border:1px solid rgba(255,255,255,.055);
  border-radius:14px;
  background:rgba(14,13,18,.72);
}
.rewards-tab {
  min-height:36px;
  padding:0 13px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#8f8b98;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
  white-space:nowrap;
}
.rewards-tab:hover { color:#e8e4ed; background:rgba(255,255,255,.025); }
.rewards-tab.active {
  color:#fff;
  background:linear-gradient(90deg,rgba(240,68,145,.17),rgba(121,70,255,.08));
  box-shadow:inset 3px 0 0 #f04491;
}
.rewards-tab:focus-visible { outline:2px solid rgba(255,102,165,.7); outline-offset:1px; }

.rewards-panel[hidden] { display:none !important; }
.rewards-panel { display:grid; gap:18px; }
.rewards-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);
  gap:22px;
  min-height:350px;
  padding:28px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 40%, rgba(185,58,255,.09), transparent 29%),
    radial-gradient(circle at 16% 12%, rgba(240,68,145,.12), transparent 34%),
    linear-gradient(145deg, rgba(22,18,27,.96), rgba(10,10,14,.93));
}
.rewards-hero::after {
  content:"";
  position:absolute;
  inset:auto -100px -140px auto;
  width:360px;
  height:360px;
  border:1px solid rgba(240,68,145,.07);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(121,70,255,.018),0 0 0 84px rgba(240,68,145,.012);
  pointer-events:none;
}
.rewards-hero-copy {
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:13px;
}
.rewards-rank-line { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.rewards-rank-name { color:#ff82b8; font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.rewards-level {
  margin:0;
  color:#fff;
  font-size:clamp(43px,7vw,74px);
  line-height:.9;
  letter-spacing:-.065em;
  font-weight:880;
}
.rewards-level small { font-size:.28em; color:#938d9d; letter-spacing:-.02em; font-weight:700; }
.rewards-progress-copy { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#aaa4b2; font-size:12px; }
.rewards-progress-copy strong { color:#ebe8ef; font-variant-numeric:tabular-nums; }
.rewards-progress-track {
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
.rewards-progress-fill {
  display:block;
  width:var(--reward-progress,0%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f04491,#ff77b2 52%,#8a5cff);
  box-shadow:0 0 20px rgba(240,68,145,.42);
}
.rewards-next {
  margin-top:7px;
  display:flex;
  align-items:center;
  gap:12px;
  width:min(520px,100%);
  padding:13px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.028);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
}
.rewards-next-mark {
  width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;
  border-radius:12px;background:rgba(240,68,145,.09);color:#ff75af;font-size:16px;
}
.rewards-next-copy { display:grid; gap:2px; min-width:0; }
.rewards-next-copy span { color:#8f8a97;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }
.rewards-next-copy strong { color:#e9e6ed;font-size:13px; }

.rewards-core-stage {
  position:relative;
  min-height:292px;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.rewards-core-orbit {
  --core-accent:#f04491;
  position:relative;
  width:210px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
}
.rewards-core-orbit::before,
.rewards-core-orbit::after {
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--core-accent) 32%,transparent);
  animation:rewardOrbit 14s linear infinite;
}
.rewards-core-orbit::before { inset:7px; border-style:dashed; }
.rewards-core-orbit::after { inset:26px; animation-direction:reverse; animation-duration:9s; opacity:.6; }
.rewards-core-heart {
  position:relative;
  width:104px;
  height:94px;
  filter:drop-shadow(0 0 24px color-mix(in srgb,var(--core-accent) 38%,transparent));
  animation:rewardCorePulse 3.8s ease-in-out infinite;
}
.rewards-core-heart::before,
.rewards-core-heart::after {
  content:"";
  position:absolute;
  width:58px;height:86px;
  border:2px solid var(--core-accent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--core-accent) 20%,#130f17),rgba(13,11,16,.78));
  top:4px;
}
.rewards-core-heart::before { left:48px;border-radius:52px 52px 12px 42px;transform:rotate(45deg);transform-origin:0 100%; }
.rewards-core-heart::after { left:0;border-radius:52px 52px 42px 12px;transform:rotate(-45deg);transform-origin:100% 100%; }
.rewards-core-spark {
  position:absolute;width:7px;height:7px;border-radius:50%;
  background:var(--core-accent);box-shadow:0 0 13px var(--core-accent);
}
.rewards-core-spark:nth-of-type(1){top:16px;left:46px}
.rewards-core-spark:nth-of-type(2){right:8px;top:92px;width:4px;height:4px}
.rewards-core-label {
  position:absolute;
  bottom:4px;
  left:50%;
  transform:translateX(-50%);
  min-width:140px;
  text-align:center;
  color:#bdb7c5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rewards-core-orbit[data-rank="starter"]{--core-accent:#bc6f98}
.rewards-core-orbit[data-rank="spark"]{--core-accent:#ff5ca5}
.rewards-core-orbit[data-rank="builder"]{--core-accent:#ff78bd}
.rewards-core-orbit[data-rank="creator"]{--core-accent:#c75cff}
.rewards-core-orbit[data-rank="architect"]{--core-accent:#926cff}
.rewards-core-orbit[data-rank="engineer"]{--core-accent:#5f8cff}
.rewards-core-orbit[data-rank="master"]{--core-accent:#55b7d6}
.rewards-core-orbit[data-rank="elite"]{--core-accent:#4fd0b2}
.rewards-core-orbit[data-rank="legend"]{--core-accent:#e4b45d}
.rewards-core-orbit[data-rank="mythic"]{--core-accent:#ff7289}
.rewards-core-orbit[data-rank="ascendant"]{--core-accent:#fff0a0}

/* Core Vault: every rank has its own visual language while sharing the BaseHeart heart silhouette. */
.rewards-core-stage {
  grid-template-rows:minmax(0,1fr) auto auto;
  gap:8px;
  padding-block:8px 2px;
}
.rewards-core-orbit {
  --core-accent-2:var(--core-accent);
  --core-glow:color-mix(in srgb,var(--core-accent) 34%,transparent);
  width:220px;
}
.rewards-core-orbit::before,
.rewards-core-orbit::after { display:none; }
.rewards-core-halo,
.rewards-core-beam,
.rewards-core-wing,
.rewards-core-ring,
.rewards-core-facet,
.rewards-core-node,
.rewards-core-shard {
  position:absolute;
  pointer-events:none;
  opacity:0;
}
.rewards-core-halo {
  inset:24%;
  border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--core-accent) 26%,transparent), transparent 68%);
  filter:blur(9px);
  transform:scale(.9);
}
.rewards-core-beam {
  left:50%;
  top:10%;
  bottom:10%;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(transparent,var(--core-accent),transparent);
  box-shadow:0 0 12px var(--core-accent);
}
.rewards-core-ring {
  border:1px solid color-mix(in srgb,var(--core-accent) 45%,transparent);
  border-radius:50%;
}
.rewards-core-ring--outer { inset:8%; }
.rewards-core-ring--inner { inset:22%; }
.rewards-core-wing {
  top:50%;
  width:34px;
  height:74px;
  border:1px solid color-mix(in srgb,var(--core-accent) 40%,transparent);
  transform:translateY(-50%) skewY(-18deg);
}
.rewards-core-wing--left { right:76%; border-right:0; border-radius:24px 0 0 24px; }
.rewards-core-wing--right { left:76%; border-left:0; border-radius:0 24px 24px 0; transform:translateY(-50%) skewY(18deg); }
.rewards-core-facet {
  width:72px;
  height:72px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  border:1px solid color-mix(in srgb,var(--core-accent-2) 56%,transparent);
  box-shadow:inset 0 0 24px color-mix(in srgb,var(--core-accent) 12%,transparent);
}
.rewards-core-node {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--core-accent);
  box-shadow:0 0 12px var(--core-accent);
}
.rewards-core-node--1 { top:12%; left:50%; transform:translateX(-50%); }
.rewards-core-node--2 { right:12%; top:50%; transform:translateY(-50%); }
.rewards-core-node--3 { bottom:12%; left:50%; transform:translateX(-50%); }
.rewards-core-node--4 { left:12%; top:50%; transform:translateY(-50%); }
.rewards-core-shard {
  width:11px;
  height:18px;
  border:1px solid var(--core-accent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--core-accent) 20%,transparent),rgba(8,7,11,.45));
  clip-path:polygon(50% 0,100% 28%,76% 100%,16% 80%,0 24%);
}
.rewards-core-shard--1 { left:18%; top:22%; transform:rotate(-24deg); }
.rewards-core-shard--2 { right:16%; top:28%; transform:rotate(32deg); }
.rewards-core-shard--3 { right:24%; bottom:14%; transform:rotate(148deg); }
.rewards-core-shard--4 { left:20%; bottom:20%; transform:rotate(-142deg); }
.rewards-core-spark {
  opacity:0;
  animation:rewardSpark 2.8s ease-in-out infinite;
}
.rewards-core-spark--1 { top:16%;left:25%; }
.rewards-core-spark--2 { right:18%;top:42%;width:4px;height:4px;animation-delay:.8s; }
.rewards-core-spark--3 { left:24%;bottom:18%;width:5px;height:5px;animation-delay:1.4s; }
.rewards-core-label {
  position:static;
  transform:none;
  min-width:0;
  margin-top:-6px;
}

/* Starter: the clean origin Core. */
.rewards-core-orbit[data-rank="starter"] { --core-accent:#bc6f98; --core-accent-2:#f391bd; }
.rewards-core-orbit[data-rank="starter"] .rewards-core-heart { animation-duration:4.6s; }

/* Spark: first visible energy ignition. */
.rewards-core-orbit[data-rank="spark"] { --core-accent:#ff5ca5; --core-accent-2:#ffa0cb; }
.rewards-core-orbit[data-rank="spark"] .rewards-core-halo,
.rewards-core-orbit[data-rank="spark"] .rewards-core-spark { opacity:.75; }
.rewards-core-orbit[data-rank="spark"] .rewards-core-halo { animation:rewardHalo 3s ease-in-out infinite; }

/* Builder: four engineered fragments orbit the Core. */
.rewards-core-orbit[data-rank="builder"] { --core-accent:#ff78bd; --core-accent-2:#ffb0d8; }
.rewards-core-orbit[data-rank="builder"] .rewards-core-shard { opacity:.78; }
.rewards-core-orbit[data-rank="builder"] .rewards-core-shard--1,
.rewards-core-orbit[data-rank="builder"] .rewards-core-shard--3 { animation:rewardShardFloat 4.5s ease-in-out infinite; }
.rewards-core-orbit[data-rank="builder"] .rewards-core-shard--2,
.rewards-core-orbit[data-rank="builder"] .rewards-core-shard--4 { animation:rewardShardFloat 4.5s 1.2s ease-in-out infinite reverse; }

/* Creator: a faceted crystal field moves through the heart. */
.rewards-core-orbit[data-rank="creator"] { --core-accent:#c75cff; --core-accent-2:#ff75da; }
.rewards-core-orbit[data-rank="creator"] .rewards-core-facet,
.rewards-core-orbit[data-rank="creator"] .rewards-core-halo { opacity:.7; }
.rewards-core-orbit[data-rank="creator"] .rewards-core-facet { animation:rewardFacet 5.4s ease-in-out infinite; }
.rewards-core-orbit[data-rank="creator"] .rewards-core-heart::before,
.rewards-core-orbit[data-rank="creator"] .rewards-core-heart::after {
  background:linear-gradient(145deg,rgba(199,92,255,.32),rgba(255,117,218,.08) 48%,rgba(13,11,16,.84));
}

/* Architect: measured orbit + four construction nodes. */
.rewards-core-orbit[data-rank="architect"] { --core-accent:#926cff; --core-accent-2:#d9c4ff; }
.rewards-core-orbit[data-rank="architect"] .rewards-core-ring,
.rewards-core-orbit[data-rank="architect"] .rewards-core-node { opacity:.68; }
.rewards-core-orbit[data-rank="architect"] .rewards-core-ring--outer { border-style:dashed; animation:rewardOrbit 15s linear infinite; }
.rewards-core-orbit[data-rank="architect"] .rewards-core-ring--inner { animation:rewardCounterOrbit 9s linear infinite; }

/* Engineer: technical diamond frame and signal beam. */
.rewards-core-orbit[data-rank="engineer"] { --core-accent:#5f8cff; --core-accent-2:#9ac6ff; }
.rewards-core-orbit[data-rank="engineer"] .rewards-core-facet,
.rewards-core-orbit[data-rank="engineer"] .rewards-core-beam,
.rewards-core-orbit[data-rank="engineer"] .rewards-core-node { opacity:.72; }
.rewards-core-orbit[data-rank="engineer"] .rewards-core-facet { border-radius:10px; animation:rewardEngineer 4.8s ease-in-out infinite; }
.rewards-core-orbit[data-rank="engineer"] .rewards-core-beam { animation:rewardBeam 3.2s ease-in-out infinite; }

/* Master: calm particle halo. */
.rewards-core-orbit[data-rank="master"] { --core-accent:#55b7d6; --core-accent-2:#b6efff; }
.rewards-core-orbit[data-rank="master"] .rewards-core-halo,
.rewards-core-orbit[data-rank="master"] .rewards-core-spark,
.rewards-core-orbit[data-rank="master"] .rewards-core-node { opacity:.62; }
.rewards-core-orbit[data-rank="master"] .rewards-core-halo { animation:rewardHalo 4.8s ease-in-out infinite; }
.rewards-core-orbit[data-rank="master"] .rewards-core-node { animation:rewardNodePulse 3.6s ease-in-out infinite; }

/* Elite: two counter-rotating precision rings. */
.rewards-core-orbit[data-rank="elite"] { --core-accent:#4fd0b2; --core-accent-2:#a0ffe7; }
.rewards-core-orbit[data-rank="elite"] .rewards-core-ring,
.rewards-core-orbit[data-rank="elite"] .rewards-core-node { opacity:.78; }
.rewards-core-orbit[data-rank="elite"] .rewards-core-ring--outer { border-style:double; animation:rewardOrbit 8s linear infinite; }
.rewards-core-orbit[data-rank="elite"] .rewards-core-ring--inner { border-style:dashed; animation:rewardCounterOrbit 5.5s linear infinite; }

/* Legend: gold fragments + crest wings. */
.rewards-core-orbit[data-rank="legend"] { --core-accent:#e4b45d; --core-accent-2:#ffe6a2; }
.rewards-core-orbit[data-rank="legend"] .rewards-core-shard,
.rewards-core-orbit[data-rank="legend"] .rewards-core-wing,
.rewards-core-orbit[data-rank="legend"] .rewards-core-halo { opacity:.72; }
.rewards-core-orbit[data-rank="legend"] .rewards-core-wing { animation:rewardWing 4.6s ease-in-out infinite; }
.rewards-core-orbit[data-rank="legend"] .rewards-core-heart { filter:drop-shadow(0 0 30px rgba(228,180,93,.44)); }

/* Mythic: living aura + vertical energy beam. */
.rewards-core-orbit[data-rank="mythic"] { --core-accent:#ff7289; --core-accent-2:#e985ff; }
.rewards-core-orbit[data-rank="mythic"] .rewards-core-halo,
.rewards-core-orbit[data-rank="mythic"] .rewards-core-beam,
.rewards-core-orbit[data-rank="mythic"] .rewards-core-ring,
.rewards-core-orbit[data-rank="mythic"] .rewards-core-spark { opacity:.72; }
.rewards-core-orbit[data-rank="mythic"] .rewards-core-halo { animation:rewardMythicAura 3.8s ease-in-out infinite; }
.rewards-core-orbit[data-rank="mythic"] .rewards-core-ring--outer { animation:rewardCounterOrbit 10s linear infinite; }

/* Ascendant: the only Core using the entire system at once. */
.rewards-core-orbit[data-rank="ascendant"] { --core-accent:#fff0a0; --core-accent-2:#ff74cd; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-halo,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-beam,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-wing,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-ring,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-facet,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-node,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-shard,
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-spark { opacity:.78; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-halo { animation:rewardAscendantAura 3.2s ease-in-out infinite; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-ring--outer { animation:rewardOrbit 7s linear infinite; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-ring--inner { animation:rewardCounterOrbit 4.8s linear infinite; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-facet { animation:rewardFacet 4s ease-in-out infinite; }
.rewards-core-orbit[data-rank="ascendant"] .rewards-core-heart {
  filter:drop-shadow(0 0 38px rgba(255,240,160,.52)) drop-shadow(0 0 14px rgba(255,116,205,.3));
}

.rewards-core-orbit[data-locked="true"] { filter:saturate(.46) brightness(.72); }
.rewards-core-orbit[data-locked="true"] .rewards-core-heart { animation-play-state:paused; }

.rewards-core-vault-open {
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border:1px solid rgba(255,126,184,.2);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#c7c1cc;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}
.rewards-core-vault-open:hover,
.rewards-core-vault-open:focus-visible {
  color:#fff;
  border-color:rgba(255,126,184,.48);
  background:rgba(240,68,145,.08);
}
.rewards-core-vault-open:focus-visible,
.rewards-core-vault-close:focus-visible,
.rewards-core-vault-card:focus-visible,
.rewards-core-vault-use:focus-visible {
  outline:2px solid rgba(255,118,177,.8);
  outline-offset:3px;
}
.rewards-core-vault-open-mark { color:#ff7fb7; font-size:13px; }

.rewards-core-vault-portal { position:relative; z-index:1400; }
body:not([data-main-view="rewards"]) .rewards-core-vault-portal { display:none; }
.rewards-core-vault-backdrop {
  position:fixed;
  inset:0;
  z-index:1400;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(4,4,7,.78);
  backdrop-filter:blur(12px);
}
.rewards-core-vault {
  width:min(1180px,100%);
  max-height:min(880px,92vh);
  overflow:auto;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:
    radial-gradient(circle at 18% 12%,rgba(240,68,145,.1),transparent 30%),
    radial-gradient(circle at 82% 20%,rgba(126,80,255,.08),transparent 27%),
    #0c0b10;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.rewards-core-vault-head {
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:24px 24px 18px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(12,11,16,.94);
  backdrop-filter:blur(14px);
}
.rewards-core-vault-heading { display:grid; gap:5px; max-width:680px; }
.rewards-core-vault-heading h2 { margin:0; color:#f8f5fa; font-size:30px; letter-spacing:-.045em; }
.rewards-core-vault-heading p { margin:0; color:#85808c; font-size:12px; line-height:1.55; }
.rewards-core-vault-close {
  width:40px;
  height:40px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#b9b4bf;
  font:inherit;
  font-size:23px;
  cursor:pointer;
}
.rewards-core-vault-close:hover { color:#fff; background:rgba(255,255,255,.055); }
.rewards-core-vault-layout {
  display:grid;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
  gap:22px;
  padding:22px;
}
.rewards-core-vault-preview {
  position:sticky;
  top:112px;
  align-self:start;
  min-height:610px;
  display:grid;
  grid-template-rows:auto minmax(300px,1fr) auto;
  gap:12px;
  padding:20px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
}
.rewards-core-vault-preview::after {
  content:"";
  position:absolute;
  inset:auto -80px -120px auto;
  width:280px;
  height:280px;
  border-radius:50%;
  border:1px solid rgba(240,68,145,.06);
  box-shadow:0 0 0 42px rgba(121,70,255,.015);
  pointer-events:none;
}
.rewards-core-vault-preview.ascendant {
  border-color:rgba(255,240,160,.2);
  background:radial-gradient(circle at 50% 38%,rgba(255,240,160,.06),transparent 36%),linear-gradient(155deg,rgba(255,116,205,.045),rgba(255,255,255,.012));
}
.rewards-core-vault-preview-label {
  color:#8b8591;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.rewards-core-vault-preview-visual { min-height:300px; display:grid; place-items:center; }
.rewards-core-orbit--preview { width:286px; }
.rewards-core-orbit--preview .rewards-core-heart { transform:scale(1.16); }
.rewards-core-vault-preview-copy {
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  align-content:end;
}
.rewards-core-vault-preview-copy h3 { margin:0; color:#f7f4f9; font-size:28px; letter-spacing:-.04em; }
.rewards-core-vault-preview-copy p { margin:0; color:#88828f; font-size:12px; }
.rewards-core-vault-preview-copy small { color:#706a76; font-size:11px; line-height:1.45; }
.rewards-core-vault-status,
.rewards-core-vault-exclusive {
  width:max-content;
  max-width:100%;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:850;
}
.rewards-core-vault-status { color:#8d8793; background:rgba(255,255,255,.035); }
.rewards-core-vault-status.unlocked { color:#8fe4c5; background:rgba(79,208,178,.08); }
.rewards-core-vault-exclusive { color:#ffe8a3; background:rgba(228,180,93,.09); }
.rewards-core-vault-use {
  min-height:40px;
  margin-top:5px;
  border:1px solid rgba(240,68,145,.28);
  border-radius:11px;
  background:linear-gradient(90deg,rgba(240,68,145,.16),rgba(132,77,255,.08));
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:820;
  cursor:pointer;
}
.rewards-core-vault-use:hover:not(:disabled) { border-color:rgba(255,122,179,.55); background:rgba(240,68,145,.16); }
.rewards-core-vault-use:disabled { cursor:default; opacity:.45; }
.rewards-core-vault-use.active { color:#ff94c0; opacity:1; }

.rewards-core-vault-collection { min-width:0; display:grid; align-content:start; gap:12px; }
.rewards-core-vault-collection-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-end; }
.rewards-core-vault-collection-head strong { color:#dcd7e0; font-size:13px; }
.rewards-core-vault-collection-head span { color:#716b77; font-size:10.5px; }
.rewards-core-vault-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.rewards-core-vault-card {
  min-width:0;
  min-height:176px;
  padding:11px;
  display:grid;
  place-items:center;
  grid-template-rows:110px auto;
  align-content:start;
  gap:8px;
  border:1px solid rgba(255,255,255,.05);
  border-radius:15px;
  background:rgba(255,255,255,.018);
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.rewards-core-vault-card:hover { border-color:rgba(240,68,145,.22); background:rgba(240,68,145,.03); }
.rewards-core-vault-card.selected {
  border-color:rgba(255,116,173,.4);
  background:linear-gradient(155deg,rgba(240,68,145,.08),rgba(112,65,255,.035));
  box-shadow:inset 0 0 0 1px rgba(255,126,184,.06);
}
.rewards-core-vault-card.locked { opacity:.86; }
.rewards-core-vault-card.prestige { border-color:rgba(255,240,160,.15); }
.rewards-core-orbit--card { width:104px; }
.rewards-core-orbit--card .rewards-core-heart { transform:scale(.58); }
.rewards-core-orbit--card .rewards-core-ring--outer { inset:12%; }
.rewards-core-orbit--card .rewards-core-ring--inner { inset:27%; }
.rewards-core-orbit--card *,
.rewards-core-vault-card .rewards-core-heart { animation-play-state:paused !important; }
.rewards-core-vault-card:hover .rewards-core-orbit--card *,
.rewards-core-vault-card:focus-visible .rewards-core-orbit--card *,
.rewards-core-vault-card.selected .rewards-core-orbit--card *,
.rewards-core-vault-card:hover .rewards-core-heart,
.rewards-core-vault-card:focus-visible .rewards-core-heart,
.rewards-core-vault-card.selected .rewards-core-heart { animation-play-state:running !important; }
.rewards-core-vault-card-copy { min-width:0; align-self:end; display:grid; gap:2px; text-align:center; }
.rewards-core-vault-card-copy strong { color:#dcd7e0; font-size:11.5px; }
.rewards-core-vault-card-copy small { color:#77717d; font-size:9.5px; }

@keyframes rewardCounterOrbit { to { transform:rotate(-360deg); } }
@keyframes rewardHalo { 0%,100%{transform:scale(.86);opacity:.42} 50%{transform:scale(1.08);opacity:.8} }
@keyframes rewardSpark { 0%,100%{transform:scale(.55);opacity:.25} 50%{transform:scale(1.12);opacity:1} }
@keyframes rewardShardFloat { 0%,100%{translate:0 0} 50%{translate:0 -8px} }
@keyframes rewardFacet { 0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.88);opacity:.42} 50%{transform:translate(-50%,-50%) rotate(135deg) scale(1.03);opacity:.85} }
@keyframes rewardEngineer { 0%,100%{transform:translate(-50%,-50%) rotate(45deg) scale(.92)} 50%{transform:translate(-50%,-50%) rotate(45deg) scale(1.06)} }
@keyframes rewardBeam { 0%,100%{opacity:.2;transform:translateX(-50%) scaleY(.55)} 50%{opacity:.8;transform:translateX(-50%) scaleY(1)} }
@keyframes rewardNodePulse { 0%,100%{opacity:.25;box-shadow:0 0 5px var(--core-accent)} 50%{opacity:.95;box-shadow:0 0 16px var(--core-accent)} }
@keyframes rewardWing { 0%,100%{opacity:.42;scale:.92} 50%{opacity:.8;scale:1.04} }
@keyframes rewardMythicAura { 0%,100%{transform:scale(.82);filter:blur(9px)} 50%{transform:scale(1.16);filter:blur(14px)} }
@keyframes rewardAscendantAura { 0%,100%{transform:scale(.82);opacity:.48} 50%{transform:scale(1.2);opacity:1} }

.rewards-metric-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.rewards-metric {
  min-height:110px;
  padding:16px;
  border-radius:16px;
  background:rgba(17,15,21,.76);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.052);
  display:grid;
  align-content:space-between;
  gap:12px;
}
.rewards-metric span { color:#88838f;font-size:11px;font-weight:700; }
.rewards-metric strong { color:#f4f1f7;font-size:23px;letter-spacing:-.035em;font-variant-numeric:tabular-nums; }
.rewards-metric small { color:#706b77;font-size:10.5px; }

.rewards-section-card {
  padding:20px;
  border-radius:19px;
  background:rgba(16,14,20,.76);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.052);
}
.rewards-section-head { display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px; }
.rewards-section-head h2 { margin:0;color:#f2eff5;font-size:20px;letter-spacing:-.035em; }
.rewards-section-head p { margin:4px 0 0;color:#817c88;font-size:12px; }

.rewards-rank-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.rewards-rank-card {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:78px;
  padding:12px;
  border-radius:15px;
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
}
.rewards-rank-card.locked { opacity:.48; }
.rewards-rank-mini-core {
  width:44px;height:44px;display:grid;place-items:center;border-radius:15px;
  background:radial-gradient(circle at 50% 45%,rgba(240,68,145,.24),rgba(108,56,255,.06) 52%,rgba(255,255,255,.015));
  color:#ff78b4;font-size:16px;
  box-shadow:inset 0 0 0 1px rgba(255,119,180,.11);
}
.rewards-rank-copy { min-width:0;display:grid;gap:3px; }
.rewards-rank-copy strong { color:#e8e4eb;font-size:13px; }
.rewards-rank-copy small { color:#797480;font-size:11px; }
.rewards-core-button {
  min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.075);border-radius:9px;
  background:rgba(255,255,255,.025);color:#b8b2bd;font:inherit;font-size:11px;font-weight:750;cursor:pointer;
}
.rewards-core-button:hover:not(:disabled){border-color:rgba(240,68,145,.34);color:#fff;background:rgba(240,68,145,.07)}
.rewards-core-button:disabled{cursor:default;opacity:.55}
.rewards-core-button.active{border-color:rgba(240,68,145,.35);color:#ff8abb;background:rgba(240,68,145,.09)}

.rewards-level-groups { display:grid;gap:14px; }
.rewards-level-group { display:grid;gap:9px; }
.rewards-level-group-head { display:flex;align-items:center;justify-content:space-between;gap:10px;color:#bdb7c5;font-size:12px;font-weight:800; }
.rewards-level-group-head small { color:#706b77;font-size:10.5px;font-weight:650; }
.rewards-level-grid { display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px; }
.rewards-level-cell {
  position:relative;min-height:58px;padding:8px 5px;border-radius:11px;
  display:grid;place-items:center;align-content:center;gap:2px;
  background:rgba(255,255,255,.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
  color:#68636f;text-align:center;
}
.rewards-level-cell.reached { color:#ded9e2;background:rgba(240,68,145,.035);box-shadow:inset 0 0 0 1px rgba(240,68,145,.105); }
.rewards-level-cell.current { color:#fff;background:linear-gradient(145deg,rgba(240,68,145,.16),rgba(105,60,255,.09));box-shadow:inset 0 0 0 1px rgba(255,105,175,.28),0 0 22px rgba(240,68,145,.07); }
.rewards-level-cell strong { font-size:12px;font-variant-numeric:tabular-nums; }
.rewards-level-cell small { color:inherit;opacity:.66;font-size:9px; }
.rewards-level-reward { color:#ff85b9 !important;opacity:1 !important;font-weight:800; }

.rewards-achievement-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.rewards-achievement {
  min-height:150px;
  padding:15px;
  border-radius:16px;
  display:grid;
  gap:11px;
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
}
.rewards-achievement.locked { opacity:.63; }
.rewards-achievement-top { display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.rewards-achievement-icon {
  width:38px;height:38px;display:grid;place-items:center;border-radius:13px;
  background:rgba(240,68,145,.08);color:#ff7eb6;box-shadow:inset 0 0 0 1px rgba(240,68,145,.13);
}
.rewards-rarity { padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.035);color:#8c8792;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em; }
.rewards-rarity[data-rarity="Rare"]{color:#80baff;background:rgba(74,147,255,.08)}
.rewards-rarity[data-rarity="Epic"]{color:#c68aff;background:rgba(160,92,255,.09)}
.rewards-rarity[data-rarity="Legendary"]{color:#efc978;background:rgba(239,186,76,.08)}
.rewards-rarity[data-rarity="Mythic"]{color:#ff7f9c;background:rgba(255,86,128,.09)}
.rewards-achievement-copy { display:grid;gap:4px; }
.rewards-achievement-copy strong { color:#e9e5ed;font-size:13px; }
.rewards-achievement-copy span { color:#79747f;font-size:11px; }
.rewards-achievement-progress { height:5px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden; }
.rewards-achievement-progress span { display:block;width:var(--achievement-progress,0%);height:100%;background:linear-gradient(90deg,#f04491,#8a5cff);border-radius:inherit; }

.rewards-history { display:grid;gap:7px; }
.rewards-history-row {
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;
  min-height:62px;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.017);
}
.rewards-history-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(240,68,145,.07);color:#ff78b3; }
.rewards-history-copy { min-width:0;display:grid;gap:2px; }
.rewards-history-copy strong { color:#dfdbe4;font-size:12.5px; }
.rewards-history-copy small { color:#77727d;font-size:10.5px; }
.rewards-history-value { color:#ff90be;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums; }
.rewards-empty { padding:34px 18px;text-align:center;color:#7e7984;font-size:12px; }

.rewards-rules { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.rewards-rule {
  padding:16px;border-radius:15px;background:rgba(255,255,255,.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.045);
  display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:start;
}
.rewards-rule-mark { width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:rgba(240,68,145,.075);color:#ff7eb5;font-weight:800; }
.rewards-rule strong { display:block;margin-bottom:4px;color:#e5e1e8;font-size:12.5px; }
.rewards-rule p { margin:0;color:#7c7782;font-size:11.5px;line-height:1.55; }

.rewards-loading {
  min-height:340px;display:grid;place-items:center;text-align:center;color:#898491;font-size:12px;
}
.rewards-loading span { width:32px;height:32px;border:2px solid rgba(255,255,255,.08);border-top-color:#f04491;border-radius:50%;animation:rewardSpin 1s linear infinite;margin:0 auto 10px;display:block; }
.rewards-error { padding:40px;text-align:center;display:grid;gap:12px;justify-items:center;color:#8c8792; }
.rewards-error strong { color:#e7e3ea;font-size:16px; }
.rewards-error button { min-height:36px;padding:0 14px;border:1px solid rgba(240,68,145,.28);border-radius:10px;background:rgba(240,68,145,.08);color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer; }

@keyframes rewardOrbit { to { transform:rotate(360deg); } }
@keyframes rewardCorePulse { 0%,100%{transform:scale(.98)} 50%{transform:scale(1.035)} }
@keyframes rewardSpin { to{transform:rotate(360deg)} }


/* Rewards 2.0 progression surfaces */
.rewards-evolution-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(255,255,255,.065);border-radius:999px;color:#a9a2af;background:rgba(255,255,255,.022);font-size:10px;font-weight:800}
.rewards-showcase-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:12px}
.rewards-showcase-body{display:grid;gap:14px}
.rewards-showcase-core{display:flex;align-items:center;gap:14px;min-height:108px;padding:12px;border-radius:15px;background:rgba(255,255,255,.018)}
.rewards-showcase-core .rewards-core-orbit--card{width:86px;flex:0 0 auto}
.rewards-showcase-core>div:last-child{display:grid;gap:3px}
.rewards-showcase-core strong{color:#eee9f1;font-size:14px}.rewards-showcase-core small{color:#78717f;font-size:11px}
.rewards-showcase-badges{display:flex;flex-wrap:wrap;gap:7px}
.rewards-showcase-badge{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:0 9px;border-radius:10px;background:rgba(240,68,145,.055);box-shadow:inset 0 0 0 1px rgba(240,68,145,.1)}
.rewards-showcase-badge span{color:#ff79b3;font-size:10px}.rewards-showcase-badge strong{color:#c9c2cd;font-size:10.5px}.rewards-showcase-empty{color:#76707c;font-size:11px}
.rewards-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.rewards-path-choice{min-height:116px;padding:12px;display:grid;align-content:start;gap:7px;text-align:left;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.017);color:inherit;font:inherit;cursor:pointer}
.rewards-path-choice:hover,.rewards-path-choice:focus-visible{border-color:rgba(240,68,145,.28);background:rgba(240,68,145,.035)}
.rewards-path-choice:focus-visible{outline:2px solid rgba(255,111,174,.72);outline-offset:2px}
.rewards-path-choice.active{border-color:rgba(240,68,145,.34);background:linear-gradient(145deg,rgba(240,68,145,.09),rgba(114,68,255,.035))}
.rewards-path-choice strong{color:#e3dee7;font-size:11.5px}.rewards-path-choice span{color:#79727f;font-size:10.5px;line-height:1.4}.rewards-path-choice small{margin-top:auto;color:#ff87ba;font-size:9.5px;font-weight:800}
.rewards-evolution-body{display:flex;align-items:center;gap:16px;min-height:110px;padding:12px;border-radius:15px;background:rgba(255,255,255,.017)}
.rewards-evolution-body .rewards-core-orbit--card{width:90px;flex:0 0 auto}.rewards-evolution-copy{display:grid;gap:5px}.rewards-evolution-copy strong{color:#e7e1eb;font-size:13px}.rewards-evolution-copy span{color:#77717d;font-size:11px;line-height:1.5}
.rewards-prestige-card.locked{opacity:.68}.rewards-prestige-card.active{border:1px solid rgba(255,240,160,.08)}
.rewards-prestige-body{display:grid;gap:10px}.rewards-prestige-name{color:#f2e5af;font-size:20px;letter-spacing:-.03em}
.rewards-prestige-track,.rewards-mastery-track,.rewards-mission-track{height:7px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.052)}
.rewards-prestige-track span,.rewards-mastery-track span,.rewards-mission-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f04491,#a566ff)}
.rewards-prestige-track span{width:var(--prestige-progress,0%)}.rewards-prestige-body small{color:#79727f;font-size:11px}
.rewards-mastery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.rewards-mastery-card{min-height:146px;padding:14px;display:grid;align-content:space-between;gap:12px;border-radius:15px;background:rgba(255,255,255,.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)}
.rewards-mastery-card.complete{background:linear-gradient(145deg,rgba(79,208,178,.05),rgba(255,255,255,.018))}
.rewards-mastery-top{display:flex;gap:10px;align-items:center}.rewards-mastery-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(240,68,145,.07);color:#ff7fb7}
.rewards-mastery-top>div{display:grid;gap:3px}.rewards-mastery-top strong{color:#e6e0e9;font-size:12px}.rewards-mastery-top small,.rewards-mastery-note{color:#77717d;font-size:10.5px}.rewards-mastery-track span{width:var(--mastery-progress,0%)}
.rewards-mission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rewards-mission-card{min-height:132px;padding:14px;display:grid;align-content:space-between;gap:9px;border-radius:15px;background:rgba(255,255,255,.018);box-shadow:inset 0 0 0 1px rgba(255,255,255,.045)}
.rewards-mission-card.complete{box-shadow:inset 0 0 0 1px rgba(79,208,178,.18)}.rewards-mission-top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.rewards-mission-top strong{color:#e6e0e9;font-size:12px}.rewards-mission-top span{color:#ff83b8;font-size:10.5px;font-weight:850;white-space:nowrap}.rewards-mission-card>small{color:#76707b;font-size:10.5px}.rewards-mission-track span{width:var(--mission-progress,0%)}
.rewards-challenge-card{overflow:hidden;background:radial-gradient(circle at 88% 20%,rgba(130,78,255,.08),transparent 28%),rgba(16,14,20,.76)}
.rewards-challenge-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.4fr);gap:24px;align-items:end}.rewards-challenge-body h3{margin:7px 0 5px;color:#f0ebf3;font-size:24px;letter-spacing:-.04em}.rewards-challenge-body p{margin:0;max-width:620px;color:#77717d;font-size:11.5px;line-height:1.55}.rewards-challenge-reward{display:block;margin-top:12px;color:#ff8dbc;font-size:12px}
.rewards-challenge-progress{display:grid;gap:10px;text-align:right}.rewards-challenge-progress strong{color:#d6d0da;font-size:12px}
.rewards-challenge-marks{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;align-items:center}.rewards-challenge-marks span{color:#77717d;font-size:10px}.rewards-challenge-marks strong{padding:5px 8px;border-radius:999px;color:#cdbfef;background:rgba(145,100,255,.07);font-size:9.5px}
.rewards-showcase-toggle{min-height:31px;border:1px solid rgba(255,255,255,.065);border-radius:9px;background:rgba(255,255,255,.02);color:#8d8792;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.rewards-showcase-toggle:hover,.rewards-showcase-toggle:focus-visible{color:#fff;border-color:rgba(240,68,145,.28)}.rewards-showcase-toggle.active{color:#ff8abc;background:rgba(240,68,145,.07);border-color:rgba(240,68,145,.24)}.rewards-achievement.secret.locked{border:1px dashed rgba(255,255,255,.06)}
.rewards-celebration-backdrop{position:fixed;inset:0;z-index:1450;display:grid;place-items:center;padding:20px;background:rgba(5,4,8,.82);backdrop-filter:blur(14px)}
.rewards-celebration{width:min(470px,100%);min-height:520px;padding:28px;display:grid;place-items:center;align-content:center;gap:15px;text-align:center;border:1px solid rgba(255,126,184,.15);border-radius:24px;background:radial-gradient(circle at 50% 35%,rgba(240,68,145,.1),transparent 34%),#0d0b11;box-shadow:0 35px 100px rgba(0,0,0,.58)}
.rewards-celebration .rewards-core-orbit--preview{width:220px}.rewards-celebration h2{margin:0;color:#fff;font-size:42px;letter-spacing:-.055em}.rewards-celebration p{margin:0;max-width:330px;color:#817a87;font-size:12px;line-height:1.55}
.rewards-celebration-close{min-height:41px;padding:0 18px;border:1px solid rgba(240,68,145,.3);border-radius:11px;background:rgba(240,68,145,.1);color:#fff;font:inherit;font-size:12px;font-weight:820;cursor:pointer}
.rewards-core-orbit[data-evolution="1"] .rewards-core-node,.rewards-core-orbit[data-evolution="1"] .rewards-core-shard,.rewards-core-orbit[data-evolution="1"] .rewards-core-ring{opacity:0!important}
.rewards-core-orbit[data-evolution="2"] .rewards-core-shard,.rewards-core-orbit[data-evolution="2"] .rewards-core-ring--outer{opacity:0!important}
.rewards-core-orbit[data-evolution="3"] .rewards-core-shard{opacity:0!important}
.rewards-core-orbit[data-evolution="4"] .rewards-core-shard,.rewards-core-orbit[data-evolution="4"] .rewards-core-node{opacity:.72}
.rewards-core-orbit[data-evolution="5"] .rewards-core-shard,.rewards-core-orbit[data-evolution="5"] .rewards-core-node,.rewards-core-orbit[data-evolution="5"] .rewards-core-ring,.rewards-core-orbit[data-evolution="5"] .rewards-core-halo{opacity:.85}

.project-achievement-badges {
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:5px;
}
.project-achievement-badges[hidden] { display:none !important; }
.project-achievement-badge {
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:21px;
  padding:0 6px;
  border-radius:999px;
  color:#9d96a3;
  background:rgba(240,68,145,.045);
  box-shadow:inset 0 0 0 1px rgba(240,68,145,.09);
  font-size:8.5px;
  font-weight:760;
  line-height:1;
  white-space:nowrap;
}
.project-achievement-badge > span:first-child { color:#ff77b2; font-size:7px; }

@media (max-width:1050px) {
  .rewards-core-vault-layout { grid-template-columns:minmax(285px,.72fr) minmax(0,1.28fr); gap:16px; padding:16px; }
  .rewards-core-vault-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-core-vault-preview { min-height:560px; }
  .rewards-core-orbit--preview { width:250px; }
  .rewards-page { padding-inline:22px; }
  .rewards-hero { grid-template-columns:1fr minmax(230px,.64fr); }
  .rewards-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-level-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .rewards-achievement-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-showcase-grid { grid-template-columns:1fr; }
  .rewards-mastery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .rewards-core-vault-backdrop { padding:10px; align-items:end; }
  .rewards-core-vault { max-height:94vh; border-radius:20px 20px 0 0; }
  .rewards-core-vault-head { padding:18px 16px 14px; }
  .rewards-core-vault-heading h2 { font-size:25px; }
  .rewards-core-vault-layout { display:flex; flex-direction:column; padding:14px; }
  .rewards-core-vault-preview { position:relative; top:auto; min-height:460px; grid-template-rows:auto minmax(235px,1fr) auto; }
  .rewards-core-vault-preview-visual { min-height:235px; }
  .rewards-core-orbit--preview { width:220px; }
  .rewards-core-vault-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards-core-vault-card { min-height:158px; }
  .rewards-core-vault-collection-head { align-items:flex-start; flex-direction:column; gap:3px; }
  .rewards-topbar-button .rewards-topbar-label { display:none; }
  .rewards-topbar-button { min-width:38px;padding:0 7px;gap:4px; }
  .rewards-topbar-level { font-size:10px; }
  .rewards-page { padding:76px 14px 60px; }
  .rewards-page-heading { align-items:flex-start;flex-direction:column; }
  .rewards-heading-copy h1 { font-size:38px; }
  .rewards-tabs { width:100%; }
  .rewards-hero { grid-template-columns:1fr;padding:20px; }
  .rewards-core-stage { min-height:235px;order:-1; }
  .rewards-core-orbit { width:180px; }
  .rewards-rank-grid,
  .rewards-achievement-grid,
  .rewards-rules,
  .rewards-mastery-grid,
  .rewards-mission-grid { grid-template-columns:1fr; }
  .rewards-path-grid { grid-template-columns:1fr; }
  .rewards-path-choice { min-height:90px; }
  .rewards-challenge-body { grid-template-columns:1fr; gap:16px; }
  .rewards-challenge-progress { text-align:left; }
  .rewards-evolution-body { align-items:flex-start; }
  .rewards-celebration { min-height:460px; }
  .rewards-level-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .rewards-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:470px) {
  .rewards-core-vault-backdrop { padding:0; }
  .rewards-core-vault { width:100%; max-height:96vh; border-radius:18px 18px 0 0; border-inline:0; border-bottom:0; }
  .rewards-core-vault-head { padding:15px 13px 12px; }
  .rewards-core-vault-heading p { font-size:11px; }
  .rewards-core-vault-close { width:38px; height:38px; }
  .rewards-core-vault-layout { padding:11px; gap:12px; }
  .rewards-core-vault-preview { min-height:420px; padding:15px; }
  .rewards-core-orbit--preview { width:196px; }
  .rewards-core-vault-preview-copy h3 { font-size:24px; }
  .rewards-core-vault-grid { gap:6px; }
  .rewards-core-vault-card { min-height:145px; padding:8px; border-radius:13px; }
  .rewards-core-orbit--card { width:88px; }
  .rewards-core-vault-card:not(.selected) .rewards-core-orbit--card * { animation:none !important; }
  .rewards-topbar-button { display:none; }
  .rewards-page { padding-inline:11px; }
  .rewards-level { font-size:48px; }
  .rewards-metric-grid { grid-template-columns:1fr 1fr;gap:7px; }
  .rewards-metric { min-height:92px;padding:13px; }
  .rewards-metric strong { font-size:19px; }
  .rewards-level-grid { grid-template-columns:repeat(5,minmax(0,1fr));gap:4px; }
  .rewards-level-cell { min-height:52px;border-radius:9px; }
  .rewards-rank-card { grid-template-columns:42px minmax(0,1fr); }
  .rewards-rank-card .rewards-core-button { grid-column:1/-1;width:100%; }
  .rewards-showcase-core { align-items:flex-start; }
  .rewards-evolution-body { flex-direction:column; }
  .rewards-celebration { min-height:100dvh; border-radius:0; width:100%; padding:20px; }
  .rewards-celebration .rewards-core-orbit--preview { width:180px; }
}
html[dir="rtl"] .rewards-tab.active { box-shadow:inset -3px 0 0 #f04491; }
html[dir="rtl"] .rewards-history-value { text-align:left; }
html[dir="rtl"] .rewards-core-vault-heading,
html[dir="rtl"] .rewards-core-vault-preview-copy,
html[dir="rtl"] .rewards-core-vault-collection { text-align:right; }
html[dir="rtl"] .rewards-core-vault-collection-head { flex-direction:row-reverse; }
@media (prefers-reduced-motion: reduce) {
  .rewards-core-orbit::before,
  .rewards-core-orbit::after,
  .rewards-core-heart,
  .rewards-core-halo,
  .rewards-core-beam,
  .rewards-core-wing,
  .rewards-core-ring,
  .rewards-core-facet,
  .rewards-core-node,
  .rewards-core-shard,
  .rewards-core-spark,
  .rewards-loading span { animation:none !important; }
  .rewards-progress-fill { transition:none !important; }
}

/* BASEHEART_REWARDS_TOPBAR_2026_10_04_START */
.rewards-topbar-button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #d8d4df;
  font: inherit;
  font-size: 12px;
  font-weight: 720;
  cursor: pointer;
  white-space: nowrap;
}
.rewards-topbar-button:hover,
.rewards-topbar-button:focus-visible {
  border-color: rgba(240,68,145,.25);
  background: rgba(240,68,145,.07);
}
.rewards-topbar-button:focus-visible { outline: 2px solid var(--bh-action, #f04491); outline-offset: 2px; }
.rewards-topbar-core {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: 9px;
  color: #ff7ab3;
  background: rgba(240,68,145,.1);
  box-shadow: inset 0 0 0 1px rgba(255,122,179,.2);
}
.rewards-topbar-core::before { content:"◆"; font-size:11px; filter:drop-shadow(0 0 7px rgba(255,82,167,.55)); }
.rewards-topbar-level { color:#ff9bc4; font-variant-numeric:tabular-nums; }


/* BASEHEART_REWARDS_TOPBAR_2026_10_04_END */
