/* PokéMart (aba Loja). Tudo escopado em #shopScreen / .mart-*; o modal de quantidade continua em shop-purchase.css. */
#shopScreen .mart-shell {
  --mart-blue: #2f7cf6;
  --mart-ink: #e8f1ff;
  --mart-muted: #93a7c4;
  --mart-panel: #111c30;
  --mart-line: #26385a;
  position: relative;
  padding: 0;
  gap: 0;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 40% at 15% 0%, #2f7cf622, transparent 70%),
    radial-gradient(ellipse 50% 40% at 90% 100%, #f5b40014, transparent 70%),
    repeating-conic-gradient(#ffffff05 0 25%, transparent 0 50%) 0 0 / 3rem 3rem,
    #0b1426;
}
#shopScreen .mart-shell::after {
  content: ""; position: absolute; right: -6rem; bottom: -6rem; width: 22rem; height: 22rem; pointer-events: none; opacity: .045;
  background: radial-gradient(circle, transparent 0 15%, #fff 15% 22%, transparent 22%), linear-gradient(transparent 46%, #fff 46% 54%, transparent 54%);
  border: 1.6rem solid #fff; border-radius: 50%;
}

/* Toldo listrado de PokéMart */
.mart-awning {
  flex: 0 0 auto; height: 1.6rem; position: relative; z-index: 1;
  background: repeating-linear-gradient(90deg, #2f7cf6 0 2.25rem, #eaf3ff 2.25rem 4.5rem);
  box-shadow: inset 0 -.25rem 0 #0003;
}
.mart-awning::after {
  content: ""; position: absolute; left: 0; right: 0; top: 100%; height: .7rem;
  background: radial-gradient(circle at 1.125rem 0, #2f7cf6 0 1.125rem, transparent 1.15rem) 0 0 / 4.5rem .7rem repeat-x,
              radial-gradient(circle at 1.125rem 0, #eaf3ff 0 1.125rem, transparent 1.15rem) 2.25rem 0 / 4.5rem .7rem repeat-x;
  filter: drop-shadow(0 .2rem .15rem #0006);
}

.mart-header { flex: 0 0 auto; display: flex; align-items: center; gap: .75rem; padding: 1.15rem 1.25rem .5rem; position: relative; z-index: 1; }
.mart-logo { width: 2.4rem; height: 2.4rem; flex: 0 0 auto; filter: drop-shadow(0 0 .6rem #2f7cf688); animation: martLogoSpin 8s ease-in-out infinite; }
.mart-logo svg { width: 100%; height: 100%; display: block; }
.mart-title {
  font: 800 2rem/1 var(--font-pixel-ui); letter-spacing: .06em; color: #fff;
  text-shadow: 0 .18rem 0 #1d4fb8, 0 .32rem 0 #0b2a6b, 0 0 1.25rem #2f7cf6aa;
}

.mart-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; padding: .5rem 1.25rem 1.5rem; position: relative; z-index: 1; scrollbar-gutter: stable; }
.mart-root { max-width: 74rem; margin: 0 auto; display: grid; gap: 1.35rem; }

/* Atendente */
.mart-clerk { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1rem; }
.mart-clerk-stage {
  position: relative; width: 7.5rem; height: 7.5rem; display: grid; place-items: end center; padding: 0 0 .7rem;
  border: 0; background: none; cursor: pointer;
}
.mart-clerk-glow { position: absolute; inset: .6rem; border-radius: 50%; background: radial-gradient(circle, #f5b40044, transparent 68%); animation: martPulse 3s ease-in-out infinite; }
.mart-clerk-stage img { position: relative; z-index: 1; width: auto; height: 6rem; max-width: 7rem; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 .3rem .25rem #0008); animation: martIdle 2.4s ease-in-out infinite; transform-origin: bottom center; }
.mart-clerk-shadow { position: absolute; bottom: .45rem; left: 50%; width: 4.4rem; height: .7rem; margin-left: -2.2rem; border-radius: 50%; background: #0009; filter: blur(2px); animation: martShadow 2.4s ease-in-out infinite; }
.mart-clerk-stage.is-hopping img { animation: martHop .55s cubic-bezier(.3,1.6,.5,1); }
.mart-clerk-stage:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; border-radius: 1rem; }

.mart-bubble {
  position: relative; min-height: 4.6rem; padding: .85rem 1.15rem 1.05rem; border-radius: 1rem;
  background: linear-gradient(180deg, #fdfdfd, #e9eef7); color: #1b2333; border: 3px solid #1b2333;
  box-shadow: 0 .35rem 0 #0b1426, 0 .6rem 1.4rem #0007; transform-origin: left center;
}
.mart-bubble::before, .mart-bubble::after { content: ""; position: absolute; top: 50%; border-style: solid; }
.mart-bubble::before { left: -1.05rem; margin-top: -.75rem; border-width: .75rem 1.05rem .75rem 0; border-color: transparent #1b2333 transparent transparent; }
.mart-bubble::after { left: -.7rem; margin-top: -.55rem; border-width: .55rem .75rem .55rem 0; border-color: transparent #f6f8fc transparent transparent; }
.mart-bubble-name { position: absolute; top: -.75rem; left: 1rem; padding: .1rem .55rem; border-radius: .4rem; background: #f5b400; color: #3a2600; font: 800 .68rem var(--font-pixel-ui); letter-spacing: .08em; border: 2px solid #1b2333; }
.mart-bubble p { font: 600 .98rem/1.45 var(--font-pixel-ui); margin: 0; }
.mart-bubble-timer { position: absolute; left: 1rem; right: 1rem; bottom: .4rem; height: .2rem; border-radius: 1rem; background: #1b233318; overflow: hidden; }
.mart-bubble-timer i { display: block; height: 100%; background: linear-gradient(90deg, #2f7cf6, #f5b400); transform-origin: left; animation: martTimer 15s linear forwards; }
.mart-bubble p { transition: opacity .3s, transform .3s, filter .3s; }
.mart-bubble.is-leaving p { opacity: 0; transform: translateY(-.4rem); filter: blur(2px); }
.mart-bubble.is-entering { animation: martBubblePop .45s cubic-bezier(.3,1.5,.5,1); }
.mart-bubble.is-entering p { animation: martTextIn .45s ease-out; }

/* Seções */
.mart-section { display: grid; gap: .7rem; }
.mart-section-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.mart-section-head h3 {
  display: flex; align-items: center; gap: .55rem; margin: 0; font: 800 1.05rem var(--font-pixel-ui); color: var(--mart-ink); letter-spacing: .05em; text-transform: uppercase;
}
.mart-section-head h3::before { content: ""; width: .55rem; height: 1.15rem; border-radius: .2rem; background: var(--shelf-accent, #2f7cf6); box-shadow: 0 0 .7rem var(--shelf-accent, #2f7cf6); }
.mart-hint { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .7rem; border-radius: 2rem; border: 1px solid #2f4a74; background: #10203a; color: #a9c6f0; font: 700 .72rem var(--font-pixel-ui); letter-spacing: .1em; text-transform: uppercase; }
.mart-hint::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: #4ade80; box-shadow: 0 0 .5rem #4ade80; animation: martBlink 1.4s ease-in-out infinite; }

.mart-price { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .28rem .7rem; border-radius: .55rem; background: #0a1222; border: 1px solid #ffffff1c; color: #ffd84d; font: 800 .88rem var(--font-pixel-ui); white-space: nowrap; }
.mart-coin { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; }
.is-locked .mart-price { color: #fca5a5; }

/* Pacotes */
.mart-packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; padding-top: .6rem; }
.mart-pack {
  --pack-a: #6cb8ff; --pack-b: #2f80ed; --pack-c: #1b4fa8; --pack-edge: #b9dcff; --pack-glow: #4aa3ff; --pack-text: #fff; --pack-sub: #e3f0ff;
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; min-height: 11rem; padding: 1.25rem 1rem .9rem;
  border: 2px solid var(--pack-edge); border-radius: .8rem; color: var(--pack-text); text-align: left; cursor: pointer; overflow: visible;
  background: linear-gradient(150deg, var(--pack-a) 0%, var(--pack-b) 48%, var(--pack-c) 100%);
  box-shadow: inset 0 0 0 1px #ffffff30, inset 0 -2.4rem 2rem -1.6rem #0005, 0 .5rem 1.2rem #0007;
  transition: transform .35s cubic-bezier(.3,1.4,.5,1), box-shadow .35s, filter .35s;
}
.mart-pack.tier-2 { --pack-a: #fff0a6; --pack-b: #f3be3c; --pack-c: #b3730c; --pack-edge: #ffe9a3; --pack-glow: #f8c33a; --pack-text: #2d1c02; --pack-sub: #4a3104; }
.mart-pack.tier-3 { --pack-a: #b673ff; --pack-b: #7a33e6; --pack-c: #3f1786; --pack-edge: #e0a35c; --pack-glow: #a855f7; --pack-sub: #efe3ff; }
.mart-pack > * { position: relative; z-index: 2; }
.mart-pack-hanger { position: absolute !important; top: -.85rem; left: 50%; width: 1.35rem; height: 1rem; margin-left: -.675rem; border: 2px solid #b8c4d6; border-bottom: 0; border-radius: .7rem .7rem 0 0; background: transparent; }
.mart-pack-crimp { position: absolute !important; left: .25rem; right: .25rem; top: .25rem; height: .5rem; border-radius: .3rem; background: repeating-linear-gradient(90deg, #ffffff55 0 2px, #00000022 2px 5px); }
.mart-pack-crimp.bottom { top: auto; bottom: .25rem; }
.mart-pack-emblem { position: absolute !important; right: -.5rem; bottom: 1.6rem; width: 5.6rem; height: 5.6rem; opacity: .2; z-index: 1 !important; transition: transform .6s, opacity .3s; }
.mart-pack-emblem svg { width: 100%; height: 100%; }
.mart-pack-shine { position: absolute !important; inset: 0; z-index: 3 !important; border-radius: inherit; pointer-events: none; overflow: hidden; }
.mart-pack-shine::before { content: ""; position: absolute; top: -50%; bottom: -50%; width: 35%; left: -60%; transform: rotate(18deg); background: linear-gradient(90deg, transparent, #ffffff70, transparent); animation: martShine 4.5s ease-in-out infinite; }
.mart-pack.tier-2 .mart-pack-shine::before { animation-delay: 1.4s; }
.mart-pack.tier-3 .mart-pack-shine::before { animation-delay: 2.8s; }
.mart-pack-tag { padding: .22rem .65rem; border-radius: 2rem; background: #0c1222e6; color: #fff; font: 800 .82rem var(--font-pixel-ui); letter-spacing: .08em; border: 1px solid #ffffff40; }
.mart-pack.tier-2 .mart-pack-tag { color: #ffe08a; }
.mart-pack.tier-3 .mart-pack-tag { color: #f3e8ff; box-shadow: 0 0 .7rem #c084fc88; }
.mart-pack-name { margin-top: .2rem; font: 800 1.05rem var(--font-pixel-ui); text-shadow: 0 1px 0 #0004; }
.mart-pack.tier-2 .mart-pack-name { text-shadow: 0 1px 0 #fff6; }
.mart-pack-desc { max-width: 92%; font: 600 .8rem/1.35 var(--font-pixel-ui); color: var(--pack-sub); }
.mart-pack-foot { margin-top: auto; align-self: stretch; padding-top: .6rem; }
.mart-pack-foot .mart-price { width: 100%; padding: .38rem .7rem; background: linear-gradient(180deg, #1b2130, #0b0f18); border-color: #ffffff25; }
.mart-pack:hover:not(.is-preview):not(.is-big), .mart-pack:focus-visible { transform: translateY(-.45rem) rotate(-1deg); box-shadow: inset 0 0 0 1px #ffffff40, 0 0 1.6rem var(--pack-glow), 0 .9rem 1.6rem #0008; filter: saturate(1.15) brightness(1.05); }
.mart-pack-slot:nth-child(2) .mart-pack:hover { transform: translateY(-.45rem) rotate(1deg); }
.mart-pack-slot { position: relative; display: grid; min-width: 0; }
.mart-pack-slot > .mart-pack { width: 100%; }
.mart-pack-info {
  position: absolute; top: .55rem; right: .6rem; z-index: 5; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1.5px solid #ffffffcc; background: #0c1222d9; color: #fff; font: 800 .85rem/1 Georgia, 'Times New Roman', serif; font-style: italic;
  box-shadow: 0 .2rem .5rem #0007; transition: background .2s, transform .2s, box-shadow .2s;
}
.mart-pack-info.tier-2 { color: #ffe08a; border-color: #ffe08acc; }
.mart-pack-info.tier-3 { color: #f3e8ff; border-color: #e9d5ffcc; }
.mart-pack-info:hover, .mart-pack-info:focus-visible { background: #1d2a44; transform: scale(1.1); box-shadow: 0 0 .8rem #ffffff55; }
.mart-pack-info:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.mart-pack-slot:hover .mart-pack-info { transform: translateY(-.45rem); }
.mart-pack-slot:hover .mart-pack-info:hover { transform: translateY(-.45rem) scale(1.1); }

/* Lista de recompensas possíveis do pacote */
.mart-pack-odds { display: grid; gap: .8rem; text-align: left; }
.mart-pack-odds-head { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: .9rem; align-items: center; }
.mart-pack-odds-head strong { display: block; font: 800 1rem var(--font-pixel-ui); color: #fff; }
.mart-stage-body .mart-pack-odds-head p { margin: .25rem 0 .35rem; text-align: left; color: #b8c9e2; font: 600 .78rem/1.4 var(--font-pixel-ui); }
.mart-pack-odds-head small { display: block; color: #8ea4c2; font: 600 .68rem/1.45 var(--font-pixel-ui); }
.mart-pack.is-mini { min-height: 0; padding: .9rem .6rem .6rem; gap: .2rem; pointer-events: none; transform: rotate(-3deg); }
.mart-pack.is-mini .mart-pack-desc, .mart-pack.is-mini .mart-pack-foot, .mart-pack.is-mini .mart-pack-hanger { display: none; }
.mart-pack.is-mini .mart-pack-name { font-size: .72rem; }
.mart-pack.is-mini .mart-pack-tag { font-size: .62rem; }
.mart-pack.is-mini .mart-pack-emblem { width: 3rem; height: 3rem; bottom: .2rem; }
.mart-odds-group { --rc: #a8b5c8; border: 1px solid color-mix(in srgb, var(--rc) 35%, #22324d); border-radius: .8rem; overflow: hidden; background: linear-gradient(180deg, color-mix(in srgb, var(--rc) 10%, #12203a), #0b1527); }
.mart-odds-group.rar-raro { --rc: #38bdf8; }
.mart-odds-group.rar-epico { --rc: #c084fc; }
.mart-odds-group.rar-mitico { --rc: #f9a8d4; border-color: transparent; background: linear-gradient(180deg, #2a1d3a, #0b1527) padding-box, conic-gradient(from var(--mart-angle, 0deg), #f472b6, #fde047, #4ade80, #60a5fa, #c084fc, #f472b6) border-box; animation: martAura 4s linear infinite; }
.mart-odds-group header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem .7rem; border-bottom: 1px solid color-mix(in srgb, var(--rc) 25%, transparent); background: color-mix(in srgb, var(--rc) 12%, transparent); }
.mart-odds-badge { padding: .1rem .55rem; border-radius: 1rem; background: var(--rc); color: #0a1222; font: 800 .66rem var(--font-pixel-ui); letter-spacing: .1em; }
.mart-odds-group header b { color: var(--rc); font: 800 .75rem var(--font-pixel-ui); }
.mart-odds-group ul { display: grid; gap: .1rem; margin: 0; padding: .35rem; list-style: none; }
.mart-odds-group li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: .6rem; padding: .35rem .4rem; border-radius: .55rem; transition: background .2s; }
.mart-odds-group li:hover { background: #ffffff0a; }
.mart-odds-icon { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--rc) 30%, #1b2a44), #0d172a 75%); border: 1px solid color-mix(in srgb, var(--rc) 45%, #24344f); font-size: 1rem; }
.mart-odds-icon svg { width: 1.3rem; height: 1.3rem; }
.mart-odds-text { display: grid; gap: .1rem; min-width: 0; }
.mart-odds-text strong { color: #f1f5ff; font: 700 .78rem var(--font-pixel-ui); }
.mart-odds-text small { color: #8ea4c2; font: 600 .64rem var(--font-pixel-ui); }
.mart-odds-group li em { font-style: normal; color: var(--rc); font: 800 .75rem var(--font-pixel-ui); white-space: nowrap; }
.mart-pack:hover .mart-pack-emblem { transform: rotate(200deg) scale(1.08); opacity: .32; }
.mart-pack:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.mart-pack.tier-3::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: 0 0 1rem #a855f7aa, 0 0 2.2rem #f0abfc44; animation: martAuraPulse 2.8s ease-in-out infinite; }
.mart-pack.is-locked { filter: saturate(.75); }

/* Prateleira única com filtro */
@property --shelf-accent { syntax: "<color>"; inherits: true; initial-value: #38bdf8; }
.mart-shelf { --shelf-accent: #38bdf8; transition: --shelf-accent .45s ease; }
.mart-filter { position: relative; }
.mart-filter-btn {
  display: inline-flex; align-items: center; gap: .45rem; min-height: 2.5rem; padding: .35rem .8rem .35rem .65rem; border-radius: .7rem; cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--shelf-accent) 55%, #2b4266); color: #dce9ff; font: 700 .8rem var(--font-pixel-ui);
  background: linear-gradient(180deg, color-mix(in srgb, var(--shelf-accent) 16%, #172a46), #0e1a2e);
  box-shadow: inset 0 1px 0 #ffffff14, 0 0 .9rem color-mix(in srgb, var(--shelf-accent) 22%, transparent);
  transition: border-color .3s, box-shadow .3s, transform .2s;
}
.mart-filter-btn b { color: var(--shelf-accent); letter-spacing: .04em; }
.mart-filter-btn svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mart-filter-caret { transition: transform .25s; }
.mart-filter-btn[aria-expanded="true"] .mart-filter-caret { transform: rotate(180deg); }
.mart-filter-btn:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 #ffffff14, 0 0 1.2rem color-mix(in srgb, var(--shelf-accent) 40%, transparent); }
.mart-filter-btn:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.mart-filter-menu {
  position: absolute; right: 0; top: calc(100% + .45rem); z-index: 30; min-width: 12rem; display: grid; gap: .2rem; padding: .4rem;
  border-radius: .8rem; border: 1px solid #2f4a74; background: #0d1729f5; backdrop-filter: blur(8px); box-shadow: 0 1rem 2rem #000a;
  animation: martMenuIn .2s cubic-bezier(.3,1.4,.5,1);
}
.mart-filter-menu[hidden] { display: none; }
.mart-filter-menu button { display: flex; align-items: center; gap: .55rem; padding: .5rem .6rem; border: 0; border-radius: .55rem; background: transparent; color: #dce9ff; font: 700 .82rem var(--font-pixel-ui); cursor: pointer; text-align: left; }
.mart-filter-menu button i { width: .7rem; height: .7rem; border-radius: .2rem; background: var(--f); box-shadow: 0 0 .5rem var(--f); }
.mart-filter-menu button small { margin-left: auto; padding: .05rem .4rem; border-radius: 1rem; background: #ffffff10; color: #9fb4d3; font-size: .7rem; }
.mart-filter-menu button:hover, .mart-filter-menu button:focus-visible { background: color-mix(in srgb, var(--f) 16%, transparent); outline: none; }
.mart-filter-menu button[aria-checked="true"] { background: color-mix(in srgb, var(--f) 22%, transparent); color: #fff; box-shadow: inset 2px 0 0 var(--f); }

.mart-shelf-frame {
  position: relative; padding: 1.1rem 3.6rem 0; border-radius: 1.1rem;
  border: 1px solid color-mix(in srgb, var(--shelf-accent) 35%, #22324d);
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, color-mix(in srgb, var(--shelf-accent) 14%, transparent), transparent 70%),
    radial-gradient(circle at 12% 30%, #ffffff06 0 2.2rem, transparent 2.25rem),
    radial-gradient(circle at 88% 70%, #ffffff05 0 3rem, transparent 3.05rem),
    linear-gradient(180deg, #13223b, #0b1527);
  box-shadow: inset 0 1px 0 #ffffff12, 0 .6rem 1.4rem #0006, 0 0 1.4rem color-mix(in srgb, var(--shelf-accent) 10%, transparent);
  transition: border-color .45s, box-shadow .45s;
}
.mart-root > *, .mart-shelf, .mart-shelf-frame { min-width: 0; }
.mart-carousel { position: relative; overflow: hidden; outline: none; width: 100%; min-width: 0; box-sizing: border-box; padding: .45rem .35rem 1.1rem; margin: -.45rem 0 0; }
.mart-carousel:focus-visible { box-shadow: 0 0 0 2px var(--shelf-accent); border-radius: .8rem; }
.mart-carousel-track { display: flex; gap: var(--gap, 14px); transition: transform .55s cubic-bezier(.34,1.22,.5,1); will-change: transform; }
.mart-carousel-track.no-anim { transition: none; }
.mart-carousel-track.is-nudging { animation: martNudge .35s ease-out; }
.mart-carousel-track.is-refresh .mart-item { animation: martItemIn .5s cubic-bezier(.3,1.35,.5,1) backwards; animation-delay: calc(min(var(--i, 0), 8) * 55ms); }
.mart-arrow { width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border-radius: 50%; cursor: pointer; color: #fff;
  border: 1px solid color-mix(in srgb, var(--shelf-accent) 70%, #fff0);
  background: radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--shelf-accent) 55%, #1d3357), #0f1d33 75%);
  box-shadow: 0 .3rem .7rem #0008, 0 0 .9rem color-mix(in srgb, var(--shelf-accent) 35%, transparent);
  transition: transform .2s, box-shadow .2s, opacity .2s; }
.mart-arrow svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.mart-arrow-side { position: absolute; top: calc(50% - 1.75rem); z-index: 3; }
.mart-arrow-side.left { left: .55rem; }
.mart-arrow-side.right { right: .55rem; }
.mart-arrow:hover { transform: scale(1.12); box-shadow: 0 .3rem .7rem #0008, 0 0 1.4rem color-mix(in srgb, var(--shelf-accent) 70%, transparent); }
.mart-arrow-side.left:hover svg { animation: martArrowL .6s ease-in-out infinite; }
.mart-arrow-side.right:hover svg { animation: martArrowR .6s ease-in-out infinite; }
.mart-arrow:active { transform: scale(.92); }
.mart-arrow:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.mart-shelf.is-static .mart-arrow-side { opacity: .35; }
.mart-shelf-base {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 -3.6rem; padding: .55rem 1.1rem;
  border-radius: 0 0 1.05rem 1.05rem; background: linear-gradient(180deg, #7a5532, #4a311a); box-shadow: inset 0 2px 0 #ffffff26, inset 0 -2px 0 #0004;
}
.mart-shelf-progress { position: relative; flex: 1; max-width: 18rem; height: .35rem; border-radius: 1rem; background: #00000055; overflow: hidden; }
.mart-shelf-progress i { position: absolute; top: 0; bottom: 0; border-radius: inherit; background: var(--shelf-accent); box-shadow: 0 0 .5rem var(--shelf-accent); transition: left .55s cubic-bezier(.34,1.22,.5,1), width .3s; }
.mart-shelf-count { color: #f5deb8; font: 700 .75rem var(--font-pixel-ui); letter-spacing: .05em; white-space: nowrap; }

.mart-item {
  position: relative; flex: 0 0 var(--card-w, 10rem); display: flex; flex-direction: column; align-items: center; gap: .5rem; min-width: 0;
  padding: 1.75rem .55rem .85rem; overflow: hidden; border-radius: .95rem; color: var(--mart-ink); cursor: pointer;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, #22324d);
  background:
    radial-gradient(120% 65% at 50% 0%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 62%),
    repeating-linear-gradient(135deg, #ffffff07 0 6px, transparent 6px 13px),
    linear-gradient(180deg, #182c4a, #0c1628);
  box-shadow: inset 0 1px 0 #ffffff18, inset 0 -3px 0 #0005, 0 .45rem .9rem #0006;
  transition: transform .3s cubic-bezier(.3,1.5,.5,1), border-color .3s, box-shadow .3s;
}
.mart-item::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: .85; }
.mart-item::after { content: ""; position: absolute; top: -60%; bottom: -60%; left: -80%; width: 45%; transform: rotate(20deg); background: linear-gradient(90deg, transparent, #ffffff22, transparent); transition: left .7s ease; pointer-events: none; }
.mart-item:hover::after { left: 140%; }
.mart-item-type { position: absolute; top: .45rem; left: .5rem; display: inline-flex; align-items: center; gap: .3rem; padding: .1rem .45rem; border-radius: 1rem; background: #0a1222cc; border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent); color: var(--accent); font: 700 .62rem var(--font-pixel-ui); letter-spacing: .05em; }
.mart-item-type::before { content: ""; width: .4rem; height: .4rem; border-radius: 50%; background: var(--accent); box-shadow: 0 0 .4rem var(--accent); }
.mart-item.is-entering { animation: martCardPop .5s cubic-bezier(.3,1.5,.5,1); }
.mart-item-pedestal {
  position: relative; width: 4.2rem; height: 4.2rem; display: grid; place-items: center; border-radius: 50%;
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--accent) 35%, #1b2a44), #0d172a 72%);
  border: 2px solid color-mix(in srgb, var(--accent) 55%, #24344f);
  box-shadow: 0 0 1rem color-mix(in srgb, var(--accent) 25%, transparent), inset 0 -.3rem .4rem #0006;
  transition: box-shadow .3s;
}
.mart-item-pedestal::after { content: ""; position: absolute; bottom: -.55rem; width: 3rem; height: .45rem; border-radius: 50%; background: #0008; filter: blur(2px); }
.mart-item-icon { display: grid; place-items: center; font-size: 1.9rem; line-height: 1; transition: transform .35s cubic-bezier(.3,1.6,.5,1); }
.mart-item-icon svg { width: 2.3rem; height: 2.3rem; }
.mart-item-name { min-height: 2.3em; display: flex; align-items: center; text-align: center; font: 700 .86rem/1.15 var(--font-pixel-ui); overflow-wrap: anywhere; }
.mart-item:hover, .mart-item:focus-visible { transform: translateY(-.3rem); border-color: color-mix(in srgb, var(--accent) 75%, transparent); box-shadow: inset 0 1px 0 #ffffff18, 0 .7rem 1.2rem #0007, 0 0 1.2rem color-mix(in srgb, var(--accent) 35%, transparent); }
.mart-item:hover .mart-item-pedestal, .mart-item:focus-visible .mart-item-pedestal { box-shadow: 0 0 1.6rem color-mix(in srgb, var(--accent) 60%, transparent), inset 0 -.3rem .4rem #0006; }
.mart-item:hover .mart-item-icon { transform: translateY(-.2rem) rotate(-6deg) scale(1.1); }
.mart-item:focus-visible { outline: 2px solid #fbbf24; outline-offset: -2px; }
.mart-item.is-locked .mart-item-pedestal { filter: grayscale(.4); }

/* Ovos */
.mart-eggs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.mart-egg-card {
  --egg-glow: #86d47a88; --egg-tint: #86d47a;
  position: relative; display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: 1.2rem .6rem 1rem; overflow: hidden;
  border-radius: 1rem; border: 1px solid color-mix(in srgb, var(--egg-tint) 30%, #22324d); color: var(--mart-ink); cursor: pointer;
  background:
    radial-gradient(90% 60% at 50% 30%, color-mix(in srgb, var(--egg-tint) 20%, transparent), transparent 70%),
    repeating-linear-gradient(45deg, #ffffff06 0 8px, transparent 8px 16px),
    linear-gradient(180deg, #172a46, #0c1628);
  box-shadow: inset 0 1px 0 #ffffff18, inset 0 -3px 0 #0005, 0 .45rem .9rem #0006;
  transition: transform .3s cubic-bezier(.3,1.5,.5,1), box-shadow .3s, border-color .3s;
}
.mart-egg-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--egg-tint), transparent); }
.mart-egg-card.tier-rare { --egg-glow: #60a5fa88; --egg-tint: #60a5fa; }
.mart-egg-card.tier-legendary { --egg-glow: #fbbf24aa; --egg-tint: #fbbf24; }
.mart-egg-owned { position: absolute; top: .5rem; right: .5rem; padding: .1rem .5rem; border-radius: 1rem; background: color-mix(in srgb, var(--egg-tint) 22%, #0a1222); border: 1px solid color-mix(in srgb, var(--egg-tint) 60%, transparent); color: #fff; font: 700 .65rem var(--font-pixel-ui); }
.mart-egg-owned[hidden] { display: none; }
.mart-egg-card:hover, .mart-egg-card:focus-visible { transform: translateY(-.35rem); box-shadow: 0 0 1.4rem var(--egg-glow), 0 .6rem 1.2rem #0007; border-color: var(--egg-glow); }
.mart-egg-card:hover .mart-egg { animation: martWobble .7s ease-in-out; }
.mart-egg-card:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.mart-egg-nest { position: relative; width: 5.5rem; height: 5.6rem; display: grid; place-items: end center; }
.mart-egg-nest::before { content: ""; position: absolute; bottom: 0; left: .2rem; right: .2rem; height: 1.4rem; border-radius: 50%; background: repeating-linear-gradient(115deg, #8a5a2b 0 3px, #b07a3c 3px 6px, #6e4520 6px 8px); box-shadow: inset 0 .3rem .4rem #0006, 0 .3rem .5rem #0007; }
.mart-egg-nest .mart-egg { margin-bottom: .55rem; }
.mart-egg-nest::after { content: ""; position: absolute; inset: .3rem .4rem 1rem; border-radius: 50%; background: radial-gradient(circle, var(--egg-glow), transparent 70%); z-index: -1; animation: martPulse 2.6s ease-in-out infinite; }
.mart-egg-wins { padding: .15rem .55rem; border-radius: 2rem; background: #0a1222; border: 1px solid #2f4a74; color: #9cc3ff; font: 700 .72rem var(--font-pixel-ui); }
.mart-egg-sparkles i { position: absolute; width: .35rem; height: .35rem; background: #fff; clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); opacity: 0; animation: martTwinkle 2.4s ease-in-out infinite; }
.mart-egg-sparkles i:nth-child(1) { top: .6rem; left: .6rem; }
.mart-egg-sparkles i:nth-child(2) { top: 1.6rem; right: .4rem; animation-delay: .8s; }
.mart-egg-sparkles i:nth-child(3) { top: .2rem; right: 1.4rem; animation-delay: 1.6s; }
.tier-common .mart-egg-sparkles { display: none; }
.mart-egg-card.is-locked { opacity: .78; }

.mart-egg {
  --egg-base: linear-gradient(160deg, #fffaf0, #efe2c4); --egg-spot: #78c96a;
  position: relative; display: block; width: 3.3rem; height: 4.2rem; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  background: var(--egg-base); transform-origin: 50% 90%;
  box-shadow: inset -.45rem -.55rem 0 #0000001f, inset .35rem .4rem 0 #ffffff70, 0 .25rem .4rem #0006;
}
.mart-egg i { position: absolute; border-radius: 50%; background: var(--egg-spot); }
.mart-egg .s1 { width: 1rem; height: .85rem; top: .8rem; left: .5rem; }
.mart-egg .s2 { width: .7rem; height: .65rem; top: 2rem; right: .45rem; }
.mart-egg .s3 { width: .85rem; height: .7rem; bottom: .55rem; left: 1.2rem; }
.mart-egg.egg-rare { --egg-base: linear-gradient(160deg, #e4f4ff, #7cc0f7 60%, #3b82d6); --egg-spot: #1d4ed8; box-shadow: inset -.45rem -.55rem 0 #0000002a, inset .35rem .4rem 0 #ffffff80, 0 0 1rem #60a5fa88; }
.mart-egg.egg-rare .s2 { background: #f8fbff; }
.mart-egg.egg-legendary { --egg-base: linear-gradient(160deg, #fff6c2, #f7c948 50%, #d48a10); --egg-spot: #7c3aed; box-shadow: inset -.45rem -.55rem 0 #0000002a, inset .35rem .4rem 0 #ffffff90, 0 0 1.2rem #fbbf24aa; animation: martLegendGlow 2.8s ease-in-out infinite; }
.mart-egg.egg-legendary .s1 { background: #dc2626; }
.mart-egg.egg-legendary .s3 { background: #2563eb; }
.mart-egg i.mart-egg-crack {
  left: 8%; right: 8%; top: 44%; height: .55rem; border-radius: 0; background: #3a2a18; transform: scaleX(0); transform-origin: left center; transition: transform .25s;
  clip-path: polygon(0 40%, 12% 0, 25% 60%, 38% 0, 50% 60%, 62% 0, 75% 60%, 88% 0, 100% 40%, 100% 70%, 88% 30%, 75% 100%, 62% 30%, 50% 100%, 38% 30%, 25% 100%, 12% 30%, 0 70%);
}
.mart-egg.crack-1 i.mart-egg-crack { transform: scaleX(.35); }
.mart-egg.crack-2 i.mart-egg-crack { transform: scaleX(.7); }
.mart-egg.crack-3 i.mart-egg-crack { transform: scaleX(1); }
.mart-egg.is-warming { animation: martWarm 3.2s ease-in-out infinite; }
.mart-egg.egg-legendary.is-warming { animation: martWarm 3.2s ease-in-out infinite, martLegendGlow 2.8s ease-in-out infinite; }
.mart-egg.is-ready { animation: martReadyHop 1.1s ease-in-out infinite; }

/* Incubadora da PokéTower (desenhada por mart.js em #towerIncubatorBox) */
.tower-incubator-box {
  flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .6rem; padding: clamp(.625rem, 1.4dvh, .875rem); overflow: hidden;
  background: radial-gradient(ellipse 80% 50% at 50% 0%, #f9731620, transparent 70%), linear-gradient(180deg, #161a26, #0f1119) !important;
}
.tower-incubator-box .panel-title { color: #fdba74; }
.tower-incubator-bag { display: flex; gap: .3rem; }
.tower-bag-chip { display: inline-flex; align-items: center; gap: .1rem; padding: .1rem .4rem .1rem .15rem; border-radius: 1rem; background: #0a0d14; border: 1px solid #3a2a18; color: #fcd9b0; font: 700 .7rem var(--font-pixel-ui); }
.tower-bag-chip .mart-egg { transform: scale(.32); transform-origin: center; margin: -1.43rem -1.12rem; animation: none; }
.tower-incubator-box { flex-shrink: 0; }
.tower-incubator-slots { flex: 1; min-height: 4.4rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.tower-incubator-slot {
  position: relative; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); grid-template-rows: auto auto auto; align-content: center; align-items: center; column-gap: .5rem; row-gap: .3rem; min-height: 0; padding: .45rem .6rem; text-align: left;
  border-radius: .8rem; border: 1px solid #4a3418; color: #fcd9b0; cursor: default; overflow: hidden;
  background: radial-gradient(ellipse 70% 45% at 50% 72%, #f9731638, transparent 70%), radial-gradient(circle at 50% 0%, #fde04714, transparent 55%), #17121b;
  box-shadow: inset 0 1px 0 #ffffff10, inset 0 -3px 0 #0006;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.tower-incubator-slot::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 4.2rem; background: radial-gradient(ellipse 60% 45% at 50% 70%, #f9731640, transparent 70%); pointer-events: none; animation: martPulse 2.6s ease-in-out infinite; }
.tower-incubator-nest { position: relative; grid-row: 1 / span 3; display: grid; place-items: end center; width: 3.4rem; height: 4rem; }
.tower-incubator-nest::before { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: .95rem; border-radius: 50%; background: repeating-linear-gradient(115deg, #8a5a2b 0 3px, #b07a3c 3px 6px, #6e4520 6px 8px); box-shadow: inset 0 .3rem .4rem #0006; }
.tower-incubator-nest .mart-egg { zoom: .74; margin-bottom: .45rem; }
.tower-incubator-name { font: 800 .78rem var(--font-pixel-ui); color: #fff1dc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tower-incubator-label { font: 700 .68rem var(--font-pixel-ui); }
.mart-incubator-bar { width: 100%; height: .4rem; border-radius: 1rem; background: #00000066; overflow: hidden; }
.mart-incubator-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f97316, #fde047); box-shadow: 0 0 .4rem #fbbf24; transition: width .6s; }
.tower-incubator-slot.is-ready { cursor: pointer; border-color: #fbbf24; animation: martReadyGlow 1.4s ease-in-out infinite; }
.tower-incubator-slot.is-ready .tower-incubator-label { color: #fde047; font-size: .85rem; font-weight: 800; letter-spacing: .08em; }
.tower-incubator-slot.is-ready:hover { transform: translateY(-.2rem); }
.tower-incubator-slot.is-empty { display: flex; justify-content: center; align-items: center; gap: .6rem; cursor: pointer; border-style: dashed; border-color: #6b4a26; background: radial-gradient(circle at 50% 45%, #f9731614, transparent 60%), #120f16; }
.tower-incubator-slot.is-empty::before { display: none; }
.tower-incubator-plus { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; border-radius: 50%; border: 2px dashed #fdba74; color: #fdba74; font: 800 1.7rem/1 var(--font-pixel-ui); transition: transform .3s cubic-bezier(.3,1.6,.5,1), background .3s, box-shadow .3s; }
.tower-incubator-slot.is-empty:hover { border-color: #fdba74; }
.tower-incubator-slot.is-empty:hover .tower-incubator-plus { transform: rotate(90deg) scale(1.1); background: #f9731622; box-shadow: 0 0 1rem #f9731666; }
.tower-incubator-slot:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.tower-incubator-hint { margin: 0; color: #a78b6d; font: 600 .68rem var(--font-pixel-ui); text-align: center; }

/* Escolha do ovo para incubar */
.mart-egg-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: .9rem; }
.mart-egg-choice {
  --egg-tint: #86d47a; display: flex; flex-direction: column; align-items: center; gap: .35rem; padding: 1rem .5rem .85rem; border-radius: .9rem; cursor: pointer; color: #e8f1ff;
  border: 1px solid color-mix(in srgb, var(--egg-tint) 40%, #22324d);
  background: radial-gradient(90% 60% at 50% 30%, color-mix(in srgb, var(--egg-tint) 20%, transparent), transparent 70%), linear-gradient(180deg, #172a46, #0c1628);
  transition: transform .25s cubic-bezier(.3,1.5,.5,1), box-shadow .25s;
}
.mart-egg-choice.tier-rare { --egg-tint: #60a5fa; }
.mart-egg-choice.tier-legendary { --egg-tint: #fbbf24; }
.mart-egg-choice-egg { display: grid; place-items: center; height: 5rem; }
.mart-egg-choice strong { font: 800 .85rem var(--font-pixel-ui); }
.mart-egg-choice small { color: #9fb4d3; font: 600 .7rem var(--font-pixel-ui); }
.mart-egg-choice-count { padding: .1rem .5rem; border-radius: 1rem; background: color-mix(in srgb, var(--egg-tint) 22%, #0a1222); color: #fff; font: 700 .68rem var(--font-pixel-ui); }
.mart-egg-choice:hover:not(:disabled) { transform: translateY(-.3rem); box-shadow: 0 0 1.2rem color-mix(in srgb, var(--egg-tint) 50%, transparent); }
.mart-egg-choice:hover:not(:disabled) .mart-egg { animation: martWobble .7s ease-in-out; }
.mart-egg-choice:disabled { opacity: .4; cursor: not-allowed; filter: grayscale(.6); }
.mart-confirm-note { margin: 0; color: #fde68a; font: 700 .78rem var(--font-pixel-ui); text-align: center; }
.mart-stage-body p, .mart-stage-body .mart-confirm-desc { text-align: center; margin-left: auto; margin-right: auto; }
.mart-egg-showcase.is-empty .mart-egg { filter: grayscale(.8) opacity(.5); }

/* Palco: confirmação, abertura e chocadeira */
.mart-stage { position: fixed; inset: 0; z-index: 4000; display: grid; place-items: center; padding: 1rem; }
.mart-stage[hidden] { display: none; }
.mart-stage { --stage-accent: #4aa3ff; }
.mart-stage[data-theme="tier-2"] { --stage-accent: #f8c33a; }
.mart-stage[data-theme="tier-3"] { --stage-accent: #a855f7; }
.mart-stage[data-theme="egg-common"] { --stage-accent: #86d47a; }
.mart-stage[data-theme="egg-rare"] { --stage-accent: #60a5fa; }
.mart-stage[data-theme="egg-legendary"] { --stage-accent: #fbbf24; }
.mart-stage-backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--stage-accent) 18%, transparent), #030814e6 70%); backdrop-filter: blur(4px); }
.mart-stage-card {
  position: relative; width: min(40rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; overflow-x: hidden;
  border: 2px solid color-mix(in srgb, var(--stage-accent) 70%, #fff0); border-radius: 1.1rem; color: var(--mart-ink, #e8f1ff);
  background: radial-gradient(ellipse 90% 45% at 50% 0%, color-mix(in srgb, var(--stage-accent) 22%, transparent), transparent 70%), #0d1729;
  box-shadow: 0 0 2.5rem color-mix(in srgb, var(--stage-accent) 35%, transparent), 0 1.5rem 4rem #000a;
}
.mart-stage.is-open .mart-stage-card { animation: martStageIn .4s cubic-bezier(.3,1.4,.5,1); }
.mart-stage.is-open .mart-stage-backdrop { animation: martFade .3s ease-out; }
.mart-stage-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .8rem 1rem; border-bottom: 1px solid #ffffff14; }
.mart-stage-head h2 { margin: 0; font: 800 1rem var(--font-pixel-ui); letter-spacing: .08em; color: #fff; }
.mart-stage-close { width: 2.3rem; height: 2.3rem; border-radius: 50%; border: 1px solid #ffffff25; background: #ffffff0d; color: #dbe7ff; font-size: 1.3rem; cursor: pointer; }
.mart-stage-close:hover { background: #ffffff1f; }
.mart-stage-body { padding: 1rem 1.1rem .4rem; }
.mart-stage-msg { min-height: 1rem; margin: 0 1.1rem; color: #fda4af; font: 600 .78rem var(--font-pixel-ui); text-align: center; }
.mart-stage-actions { display: flex; justify-content: center; gap: .6rem; padding: .7rem 1.1rem 1.1rem; }
.mart-stage-actions:empty { padding: 0 0 .6rem; }
.mart-btn { min-height: 2.75rem; min-width: 8rem; padding: .6rem 1.2rem; border-radius: .6rem; border: 1px solid #3b5a8c; background: #16263f; color: #dbe7ff; font: 800 .85rem var(--font-pixel-ui); letter-spacing: .06em; cursor: pointer; transition: transform .2s, box-shadow .2s, filter .2s; }
.mart-btn.primary { border-color: #fbbf24; color: #fff7d6; background: linear-gradient(135deg, #e0a019, #9a5d0c); box-shadow: inset 0 1px #fff4, 0 0 1rem #f5b40044; }
.mart-btn:hover:not(:disabled) { transform: translateY(-2px); filter: brightness(1.1); }
.mart-btn:disabled { opacity: .4; cursor: not-allowed; }

.mart-confirm { display: grid; gap: .8rem; justify-items: center; text-align: center; }
.mart-confirm-visual { width: 100%; display: grid; place-items: center; padding: .4rem 0; }
.mart-confirm-visual .mart-pack { width: min(18rem, 100%); cursor: default; animation: martFloat 3s ease-in-out infinite; }
.mart-confirm-desc { margin: 0; max-width: 30rem; color: #b8c9e2; font: 600 .9rem/1.45 var(--font-pixel-ui); }
.mart-odds { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.mart-odds li { display: flex; gap: .4rem; padding: .25rem .6rem; border-radius: 2rem; border: 1px solid currentColor; font: 700 .72rem var(--font-pixel-ui); }
.mart-odds b { color: #fff; }
.rar-comum { color: #a8b5c8; } .rar-raro { color: #38bdf8; } .rar-epico { color: #c084fc; } .rar-mitico { color: #f9a8d4; }
.mart-confirm-summary { width: 100%; max-width: 22rem; display: grid; gap: .5rem; margin: 0; padding: .7rem .9rem; border-radius: .7rem; background: #0a1222; border: 1px solid #ffffff12; }
.mart-confirm-summary > div { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font: 700 .75rem var(--font-pixel-ui); }
.mart-confirm-summary dt { color: #8ea4c2; }
.mart-confirm-summary dd { margin: 0; color: #e7f0ff; }
.mart-confirm-summary dd.is-short { color: #fca5a5; }
.mart-confirm-summary .mart-price { padding: .15rem .5rem; }

.mart-opening { position: relative; display: grid; justify-items: center; gap: .8rem; padding: .8rem 0 .4rem; }
.mart-opening-pack { border: 0; background: none; padding: 0; cursor: pointer; border-radius: 1rem; }
.mart-opening-pack:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.mart-pack.is-big { width: 16rem; min-height: 15rem; cursor: inherit; animation: martFloat 2.6s ease-in-out infinite; box-shadow: 0 0 2.4rem var(--pack-glow), 0 1rem 2rem #000a; }
.mart-opening-pack.is-shaking .mart-pack { animation: martShake .65s ease-in-out; }
.mart-opening-pack.is-torn .mart-pack { animation: martTear .6s ease-in forwards; }
.mart-opening-pack.is-torn .mart-pack .mart-pack-crimp:not(.bottom) { animation: martFlap .5s ease-out forwards; }
.mart-opening-hint { margin: 0; text-align: center; justify-self: center; width: 100%; min-height: 1.2rem; color: #c6d6ef; font: 700 .85rem var(--font-pixel-ui); letter-spacing: .05em; animation: martBlink 1.6s ease-in-out infinite; }

.mart-card-table + .mart-opening-hint { display: block; margin: 1.1rem auto .2rem; }
.mart-card-table { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; padding: .8rem 0; perspective: 60rem; }
.mart-tcg { position: relative; width: 9.2rem; height: 12.8rem; padding: 0; border: 0; background: none; cursor: pointer; animation: martDeal .55s cubic-bezier(.3,1.3,.5,1) backwards; animation-delay: calc(var(--deal) * 140ms); }
.mart-tcg:not(.is-flipped):hover .mart-tcg-inner { transform: translateY(-.35rem) rotateZ(-2deg); }
.mart-tcg:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: .8rem; }
.mart-tcg-inner { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .75s cubic-bezier(.3,1.25,.5,1); }
.mart-tcg.is-flipped .mart-tcg-inner { transform: rotateY(180deg); }
.mart-tcg-face { position: absolute; inset: 0; border-radius: .8rem; backface-visibility: hidden; -webkit-backface-visibility: hidden; overflow: hidden; display: flex; flex-direction: column; align-items: center; }
.mart-tcg-back { justify-content: center; gap: .6rem; border: 3px solid #f4f7fb; background: linear-gradient(150deg, #6cb8ff, #2f80ed 50%, #1b4fa8); box-shadow: 0 .6rem 1.2rem #0009; }
.mart-tcg-back.tier-2 { background: linear-gradient(150deg, #fff0a6, #f3be3c 50%, #b3730c); }
.mart-tcg-back.tier-3 { background: linear-gradient(150deg, #b673ff, #7a33e6 50%, #3f1786); }
.mart-tcg-back::before { content: ""; position: absolute; inset: .45rem; border-radius: .5rem; border: 2px solid #ffffff55; background: repeating-linear-gradient(45deg, #ffffff10 0 .5rem, transparent .5rem 1rem); }
.mart-tcg-back-ball { position: relative; width: 4.2rem; height: 4.2rem; filter: drop-shadow(0 .2rem .3rem #0007); }
.mart-tcg-back-ball svg { width: 100%; height: 100%; }
.mart-tcg-back-tier { position: relative; padding: .15rem .6rem; border-radius: 2rem; background: #0c1222d9; color: #fff; font: 800 .75rem var(--font-pixel-ui); letter-spacing: .1em; }
.mart-tcg-front {
  --rc: #a8b5c8; transform: rotateY(180deg); justify-content: space-between; gap: .3rem; padding: .7rem .55rem .8rem;
  border: 3px solid var(--rc); background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--rc) 30%, #13213a), #0a1222 75%);
  box-shadow: 0 0 1.4rem color-mix(in srgb, var(--rc) 45%, transparent), 0 .6rem 1.2rem #0009;
}
.mart-tcg.rar-raro .mart-tcg-front { --rc: #38bdf8; }
.mart-tcg.rar-epico .mart-tcg-front { --rc: #c084fc; }
.mart-tcg.rar-mitico .mart-tcg-front { --rc: #f9a8d4; border-color: transparent; background: radial-gradient(circle at 50% 38%, #3a2453, #0a1222 75%) padding-box, conic-gradient(from var(--mart-angle, 0deg), #f472b6, #fde047, #4ade80, #60a5fa, #c084fc, #f472b6) border-box; animation: martAura 3s linear infinite; }
.mart-tcg.rar-mitico .mart-tcg-front::after, .mart-tcg.rar-epico .mart-tcg-front::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, #ffffff35 45%, transparent 60%) 0 0 / 250% 100%; animation: martHolo 2.6s linear infinite; mix-blend-mode: screen; }
.mart-tcg-rarity { padding: .12rem .55rem; border-radius: 2rem; background: var(--rc); color: #0a1222; font: 800 .68rem var(--font-pixel-ui); letter-spacing: .1em; }
.mart-tcg-art { flex: 1; display: grid; place-items: center; width: 100%; font-size: 2.6rem; }
.mart-tcg-art svg { width: 3.4rem; height: 3.4rem; }
.mart-tcg-art img { width: 5.2rem; height: 5.2rem; image-rendering: pixelated; filter: drop-shadow(0 0 .5rem #fde04788); }
.mart-tcg-name { text-align: center; font: 800 .8rem/1.15 var(--font-pixel-ui); color: #fff; overflow-wrap: anywhere; }
.mart-tcg-detail { text-align: center; font: 600 .68rem var(--font-pixel-ui); color: #b8c9e2; }
.mart-tcg.is-flipped { cursor: default; }
.mart-tcg.is-flipped.rar-mitico, .mart-tcg.is-flipped.rar-epico { animation: none; }
.mart-tcg.is-flipped .mart-tcg-front .mart-tcg-art { animation: martArtPop .6s .35s cubic-bezier(.3,1.6,.5,1) backwards; }

.mart-egg-showcase { position: relative; display: grid; place-items: center; width: 8rem; height: 8rem; margin: 0 auto; }
.mart-egg-showcase .mart-egg { transform: scale(1.5); }
.mart-egg-showcase::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--stage-accent) 40%, transparent), transparent 70%); animation: martPulse 2.4s ease-in-out infinite; }
.mart-egg-showcase.is-placed .mart-egg { animation: martDrop .7s cubic-bezier(.3,1.5,.5,1); }

.mart-hatch { position: relative; display: grid; justify-items: center; align-content: center; gap: .6rem; min-height: 17rem; padding: 1rem 0; text-align: center; }
.mart-hatch-egg .mart-egg { transform: scale(1.8); }
.mart-hatch-egg .mart-egg.is-hatching { animation: martHatchShake 2.2s ease-in forwards; }
.mart-hatch-rays { position: absolute; left: 50%; top: 42%; width: 22rem; height: 22rem; margin: -11rem 0 0 -11rem; border-radius: 50%; pointer-events: none; opacity: .5;
  background: repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--stage-accent) 55%, transparent) 0 10deg, transparent 10deg 24deg);
  mask: radial-gradient(circle, #000 20%, transparent 68%); -webkit-mask: radial-gradient(circle, #000 20%, transparent 68%); animation: martSpin 14s linear infinite; }
.mart-hatch.is-shiny .mart-hatch-rays { background: repeating-conic-gradient(from 0deg, #fde047aa 0 10deg, transparent 10deg 24deg); opacity: .75; }
.mart-hatch-flash { position: absolute; inset: -2rem; background: #fff; pointer-events: none; animation: martFlash .7s ease-out forwards; }
.mart-hatch-sprite { position: relative; width: 9rem; height: 9rem; image-rendering: pixelated; filter: drop-shadow(0 .4rem .4rem #0009); animation: martSpriteIn .8s cubic-bezier(.3,1.6,.5,1) backwards, martIdle 2.4s .8s ease-in-out infinite; }
.mart-hatch.is-shiny .mart-hatch-sprite { filter: drop-shadow(0 0 .8rem #fde047) drop-shadow(0 .4rem .4rem #0009); }
.mart-hatch-coin svg { width: 5rem; height: 5rem; }
.mart-hatch h3 { position: relative; margin: 0; font: 800 1.35rem var(--font-pixel-ui); letter-spacing: .08em; animation: martTextIn .5s .35s ease-out backwards; }
.mart-hatch-rewards { position: relative; display: grid; gap: .35rem; margin: .2rem 0 0; padding: 0; list-style: none; }
.mart-hatch-rewards li { padding: .3rem .8rem; border-radius: 2rem; background: #0a1222cc; border: 1px solid #ffffff1c; color: #e7f0ff; font: 700 .8rem var(--font-pixel-ui); animation: martTextIn .4s ease-out backwards; }
.mart-hatch-rewards li:nth-child(1) { animation-delay: .5s; } .mart-hatch-rewards li:nth-child(2) { animation-delay: .62s; } .mart-hatch-rewards li:nth-child(3) { animation-delay: .74s; }

.mart-spark { position: absolute; left: 50%; top: 50%; width: .45rem; height: .45rem; margin: -.225rem; border-radius: 50%; background: var(--c); box-shadow: 0 0 .5rem var(--c); pointer-events: none; z-index: 5; animation: martSpark 1s ease-out forwards; }

@property --mart-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

@keyframes martLogoSpin { 0%, 70%, 100% { transform: rotate(0); } 80% { transform: rotate(-20deg); } 90% { transform: rotate(360deg); } }
@keyframes martNoteBob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(-8deg); } }
@keyframes martIdle { 0%, 100% { transform: translateY(0) scaleY(1); } 50% { transform: translateY(-.25rem) scaleY(1.02); } }
@keyframes martShadow { 0%, 100% { transform: scaleX(1); opacity: .9; } 50% { transform: scaleX(.85); opacity: .6; } }
@keyframes martHop { 0% { transform: translateY(0); } 40% { transform: translateY(-1.2rem) rotate(-6deg); } 70% { transform: translateY(0) scale(1.08, .92); } 100% { transform: translateY(0); } }
@keyframes martPulse { 0%, 100% { opacity: .6; transform: scale(.95); } 50% { opacity: 1; transform: scale(1.05); } }
@keyframes martTimer { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes martBubblePop { 0% { transform: scale(.94) rotate(-1deg); } 60% { transform: scale(1.02) rotate(.4deg); } 100% { transform: scale(1); } }
@keyframes martTextIn { from { opacity: 0; transform: translateY(.45rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes martBlink { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes martShine { 0%, 65% { left: -60%; } 100% { left: 130%; } }
@keyframes martAura { to { --mart-angle: 360deg; } }
@keyframes martMenuIn { from { opacity: 0; transform: translateY(-.4rem) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes martNudge { 0%, 100% { translate: 0; } 40% { translate: calc(var(--nudge, 0px) * -1); } 70% { translate: calc(var(--nudge, 0px) * .4); } }
@keyframes martArrowL { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-3px); } }
@keyframes martArrowR { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(3px); } }
@keyframes martCardPop { 0% { transform: scale(.82) translateY(.6rem); opacity: .2; } 60% { transform: scale(1.04); opacity: 1; } 100% { transform: none; } }
@keyframes martAuraPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes martItemIn { from { opacity: 0; transform: translateX(calc(var(--slide-dir, 1) * 2.2rem)) scale(.85); } to { opacity: 1; transform: none; } }
@keyframes martWobble { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-9deg); } 50% { transform: rotate(7deg); } 75% { transform: rotate(-4deg); } }
@keyframes martWarm { 0%, 80%, 100% { transform: rotate(0); } 85% { transform: rotate(-6deg); } 90% { transform: rotate(5deg); } 95% { transform: rotate(-3deg); } }
@keyframes martReadyHop { 0%, 100% { transform: translateY(0) scale(.8); } 30% { transform: translateY(-.35rem) scale(.8) rotate(-6deg); } 60% { transform: translateY(0) scale(.84, .76); } }
@keyframes martReadyGlow { 0%, 100% { box-shadow: 0 0 .4rem #fbbf2455; } 50% { box-shadow: 0 0 1.3rem #fbbf24aa; } }
@keyframes martLegendGlow { 0%, 100% { filter: hue-rotate(0deg) brightness(1); } 50% { filter: hue-rotate(-18deg) brightness(1.12); } }
@keyframes martTwinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0); } 50% { opacity: 1; transform: scale(1.2) rotate(45deg); } }
@keyframes martStageIn { from { opacity: 0; transform: translateY(1rem) scale(.92); } to { opacity: 1; transform: none; } }
@keyframes martFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes martFloat { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-.5rem) rotate(1deg); } }
@keyframes martShake { 0%, 100% { transform: rotate(0); } 15% { transform: rotate(-5deg) translateX(-.3rem); } 30% { transform: rotate(5deg) translateX(.3rem); } 45% { transform: rotate(-7deg) translateX(-.4rem); } 60% { transform: rotate(7deg) translateX(.4rem); } 80% { transform: rotate(-3deg) scale(1.04); } }
@keyframes martTear { 0% { transform: scale(1.04); filter: brightness(1); } 40% { transform: scale(1.1); filter: brightness(2); } 100% { transform: scale(.6) translateY(2rem); opacity: 0; filter: brightness(3); } }
@keyframes martFlap { to { transform: translateY(-4rem) rotate(-25deg); opacity: 0; } }
@keyframes martDeal { from { opacity: 0; transform: translateY(-4rem) scale(.5) rotate(-14deg); } to { opacity: 1; transform: none; } }
@keyframes martHolo { from { background-position: 150% 0; } to { background-position: -100% 0; } }
@keyframes martArtPop { from { transform: scale(.3) rotate(-20deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes martDrop { from { transform: translateY(-5rem) scale(1.5); opacity: 0; } to { transform: scale(1.5); opacity: 1; } }
@keyframes martHatchShake {
  0% { transform: scale(1.8) rotate(0); } 10% { transform: scale(1.8) rotate(-6deg); } 20% { transform: scale(1.8) rotate(6deg); }
  30% { transform: scale(1.8) rotate(0); } 45% { transform: scale(1.8) rotate(-10deg); } 55% { transform: scale(1.8) rotate(10deg); }
  65% { transform: scale(1.82) rotate(-12deg); } 75% { transform: scale(1.85) rotate(12deg); } 85% { transform: scale(1.9) rotate(-14deg); }
  95% { transform: scale(2) rotate(0); filter: brightness(1.8); } 100% { transform: scale(2.1); filter: brightness(3); }
}
@keyframes martSpin { to { transform: rotate(360deg); } }
@keyframes martFlash { from { opacity: .95; } to { opacity: 0; } }
@keyframes martSpriteIn { from { transform: scale(0) translateY(2rem); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes martSpark { from { transform: translate(0, 0) scale(1); opacity: 1; } to { transform: translate(var(--dx), var(--dy)) scale(0); opacity: 0; } }

@media (max-width: 760px) {
  .mart-shelf-frame { padding-inline: 3rem; }
  .mart-shelf-base { margin-inline: -3rem; }
  .mart-packs { grid-template-columns: minmax(0, 1fr); }
  .mart-clerk { grid-template-columns: 1fr; justify-items: center; }
  .mart-bubble::before, .mart-bubble::after { display: none; }
  .mart-eggs { gap: .5rem; }
  .mart-tcg { width: 7.4rem; height: 10.6rem; }
}
@media (prefers-reduced-motion: reduce) {
  #shopScreen .mart-shell *, #shopScreen .mart-shell *::before, #shopScreen .mart-shell *::after,
  .mart-stage *, .mart-stage *::before, .mart-stage *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* (i) da incubadora e lista do que nasce de cada ovo */
.tower-incubator-info {
  display: inline-grid; place-items: center; width: 1.35rem; height: 1.35rem; margin-left: .5rem; padding: 0; border-radius: 50%; cursor: pointer; vertical-align: middle;
  border: 1.5px solid #fde68aaa; background: #0c1222d9; color: #fde68a; font: 800 .75rem/1 Georgia, 'Times New Roman', serif; font-style: italic;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.tower-incubator-info:hover, .tower-incubator-info:focus-visible { background: #1d2a44; transform: scale(1.12); box-shadow: 0 0 .7rem #fbbf2488; }
.tower-incubator-info:focus-visible { outline: 2px solid #fbbf24; outline-offset: 2px; }
.mart-egg-odds { display: grid; gap: .6rem; text-align: left; }
.mart-egg-odds-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.mart-egg-odds-tab { display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .35rem .5rem; border-radius: .6rem; cursor: pointer; border: 1px solid #ffffff22; background: #0b1527; color: #9db0cc; font: 800 .72rem var(--font-pixel-ui); letter-spacing: .05em; text-transform: uppercase; transition: border-color .2s, color .2s, background .2s; }
.mart-egg-odds-tab[aria-selected="true"] { color: #fff; border-color: #fbbf24; background: linear-gradient(180deg, #2a2412, #0b1527); box-shadow: 0 0 .8rem #fbbf2433; }
.mart-egg-odds-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem .8rem; margin: 0; padding: .55rem .7rem; list-style: none; border-radius: .7rem; background: #0b1527; border: 1px solid #22324d; color: #b8c9e2; font: 600 .7rem var(--font-pixel-ui); }
.mart-egg-odds-facts b { color: #fde047; }
.mart-egg-odds-note { margin: 0; color: #8ea4c2; font: 600 .68rem/1.45 var(--font-pixel-ui); }
.mart-egg-odds-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.2rem, 1fr)); gap: .35rem; max-height: 14rem; overflow-y: auto; padding: .35rem; border-radius: .7rem; background: #0b152788; border: 1px solid #22324d; }
.mart-egg-odds-poke { display: grid; justify-items: center; padding: .2rem; border-radius: .5rem; background: #12203a; }
.mart-egg-odds-poke img { width: 3rem; height: 3rem; object-fit: contain; image-rendering: pixelated; }
.mart-egg-odds-poke b { color: #7dd3fc; font: 800 .6rem var(--font-pixel-ui); }

/* Ícones de ovo pequenos: zoom escala o layout junto (antes as manchas escapavam do ovo) */
.tower-bag-chip { gap: .25rem; padding: .1rem .45rem .1rem .3rem; }
.mart-egg-odds-tab { min-height: 2.4rem; }
.mart-egg-odds-grid { grid-template-columns: repeat(auto-fill, minmax(5.4rem, 1fr)); max-height: 16rem; }
.mart-egg-odds-poke { position: relative; gap: .05rem; padding: .3rem .2rem .25rem; text-align: center; }
.mart-egg-odds-poke em { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #b8c9e2; font: 700 .52rem var(--font-pixel-ui); font-style: normal; text-transform: capitalize; }
.mart-egg-odds-poke b { font-size: .68rem; }
.mart-egg-odds-poke i, .mart-egg-odds-starters i { position: absolute; top: .2rem; right: .2rem; padding: .02rem .3rem; border-radius: .3rem; font: 800 .44rem var(--font-pixel-ui); font-style: normal; text-transform: uppercase; letter-spacing: .04em; }
.tag-incomum { color: #86efac; background: #14532d99; border: 1px solid #22c55e66; }
.tag-raro { color: #93c5fd; background: #1e3a8a99; border: 1px solid #3b82f666; }
.tag-ultra-raro { color: #f9a8d4; background: #831843aa; border: 1px solid #ec489988; box-shadow: 0 0 .5rem #ec489966; }
.mart-egg-odds-starters { position: relative; display: grid; gap: .35rem; padding: .5rem .6rem; border-radius: .7rem; background: #0b152788; border: 1px solid #3b82f655; }
.mart-egg-odds-starters header { display: flex; align-items: center; gap: .6rem; padding-right: 2.4rem; }
.mart-egg-odds-starters header b { color: #fff; font: 800 .7rem var(--font-pixel-ui); }
.mart-egg-odds-starters header span { color: #7dd3fc; font: 800 .62rem var(--font-pixel-ui); }
.mart-egg-odds-starters div { display: flex; flex-wrap: wrap; gap: .1rem; }
.mart-egg-odds-starters img { width: 2.1rem; height: 2.1rem; object-fit: contain; image-rendering: pixelated; }

/* (?) padrão do jogo: mesmo visual do (?) das Hunts em pacotes, incubadora e hunts */
:is(.mart-pack-info, .tower-incubator-info, .exp-hunt-info, .exp-area-info) {
  display: inline-flex; align-items: center; justify-content: center; width: 1.65rem; height: 1.65rem; padding: 0; border: 1px solid #6fd9b777; border-radius: 50%;
  color: #a2ebce; background: #142e2c; font: 800 .8rem/1 var(--font-clean, var(--font-pixel-ui)); font-style: normal; cursor: help; transition: border-color .2s, box-shadow .2s, transform .2s;
}
:is(.mart-pack-info, .tower-incubator-info, .exp-hunt-info, .exp-area-info):hover, :is(.mart-pack-info, .tower-incubator-info, .exp-hunt-info, .exp-area-info):focus-visible { border-color: #a2ebce; box-shadow: 0 0 .7rem #6fd9b755; background: #142e2c; }
.tower-incubator-info { width: 1.35rem; height: 1.35rem; margin-left: .5rem; font-size: .7rem; vertical-align: middle; }
.mart-pack-info.tier-2, .mart-pack-info.tier-3 { color: #a2ebce; border-color: #6fd9b777; }
.mart-egg-odds-tab .mart-egg, .tower-bag-chip .mart-egg { flex: none; transform: scale(.32); transform-origin: center; margin: -1.43rem -1.12rem; animation: none !important; }
