/* ============================================================
   MGM Renown — Hall of Legends (achievements + badges)
   Pairs with public/js/mgm-renown-fx.js. Colour code matches the
   /renown/ explainer: violet = Renown XP, gold hexagon = Shards.
   ============================================================ */
.mgmr-wrap { --xp: #a18dff; --xp-2: #6fd6ff; --shard: #f0d47b; }
.mgmr-ico { display: inline-block; width: 1.15em; height: 1.15em; vertical-align: -.2em; flex: none; }
.mgmr-xp-word { color: #c4b8ff; }
.mgmr-sh-word { color: var(--g-light, #f0d47b); }

/* ── icon slots that used to hold emoji ── */
.mgmr-maintab-icon .mgmr-ico { width: 30px; height: 30px; color: var(--g-light); }
.mgmr-maintab.is-active .mgmr-maintab-icon .mgmr-ico { filter: drop-shadow(0 0 10px rgba(232,201,107,.7)); }
.mgmr-stat-icon .mgmr-ico { width: 20px; height: 20px; color: var(--g-light); }
.mgmr-game-tab-emoji .mgmr-ico { width: 30px; height: 30px; color: var(--g-light); }
.mgmr-section-meta { margin-left: 12px; padding: 3px 10px; border-radius: 20px; font-size: .78rem; font-weight: 700; letter-spacing: .04em; vertical-align: middle;
    color: var(--gc, var(--g-light)); background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }

/* ════════════════ HALL HEADER ════════════════ */
.mgmr-hall { position: relative; overflow: hidden; margin: 0 0 20px; padding: 40px 40px 30px; border-radius: 18px;
    background: radial-gradient(60% 90% at 85% 20%, rgba(161,141,255,.18), transparent 60%), radial-gradient(50% 70% at 10% 0%, rgba(232,201,107,.14), transparent 60%),
    linear-gradient(135deg, #1a1533 0%, #0e0e1a 50%, #1c1636 100%);
    border: 1px solid var(--border); box-shadow: 0 10px 40px rgba(0,0,0,.45); }
.mgmr-hall-fx { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.mgmr-hall > *:not(.mgmr-hall-fx) { position: relative; z-index: 1; }
.mgmr-drift { position: absolute; bottom: -50px; opacity: 0; filter: drop-shadow(0 0 8px currentColor); animation: mgmrDrift var(--d, 14s) linear var(--dl, 0s) infinite; }
.mgmr-drift svg { width: 100%; height: 100%; display: block; }
@keyframes mgmrDrift { 0% { transform: translateY(0) rotate(0); opacity: 0; } 12% { opacity: var(--o, .3); } 85% { opacity: var(--o, .3); }
    100% { transform: translateY(-560px) rotate(var(--r, 180deg)); opacity: 0; } }
.mgmr-hall-top { display: grid; grid-template-columns: 1fr 230px; gap: 30px; align-items: center; }
.mgmr-hall-kicker { display: inline-block; font-size: .8rem; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--g); margin-bottom: 8px; }
.mgmr-wrap h1.mgmr-hall-title { margin: 0 0 12px; font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.02; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.mgmr-hall-title em { font-style: normal; background: linear-gradient(90deg, var(--xp-2), var(--xp) 40%, var(--g) 80%) 0 0 / 200% 100%; -webkit-background-clip: text; background-clip: text;
    color: transparent; animation: mgmrSheen 6s linear infinite; }
@keyframes mgmrSheen { from { background-position: 200% 0; } to { background-position: 0 0; } }
.mgmr-hall-copy p { margin: 0; max-width: 640px; font-size: 1.12rem; line-height: 1.6; color: var(--text); }
.mgmr-hall-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.mgmr-hall-chips span { padding: 8px 14px; border-radius: 10px; font-size: .92rem; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.mgmr-hall-chips b { color: #fff; font-size: 1.05rem; }
.mgmr-hall-ring { position: relative; width: 230px; height: 230px; }
.mgmr-hall-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); filter: drop-shadow(0 0 18px rgba(161,141,255,.35)); }
.mgmr-hall-ring circle { fill: none; stroke-width: 9; }
.mgmr-hall-ring .bg { stroke: rgba(255,255,255,.07); }
.mgmr-hall-ring .fg { stroke: url(#mgmr-hall-grad); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1.8s cubic-bezier(.2,.8,.2,1) .2s; }
.mgmr-hall.is-live .mgmr-hall-ring .fg { stroke-dashoffset: calc(100 - var(--p, 0) * 100); }
.mgmr-hall-ring-t { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px; }
.mgmr-hall-ring-t b { font-size: 2.6rem; line-height: 1; font-weight: 800; color: #fff; }
.mgmr-hall-ring-t span { margin-top: 6px; font-size: .85rem; color: var(--muted); }
.mgmr-hall-games { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px 26px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.08); }
.mgmr-hall-game { display: grid; grid-template-columns: 44px 1fr auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; }
.mgmr-hall-game-logo { grid-row: 1 / span 2; width: 44px; height: 34px; display: grid; place-items: center; color: var(--gc); }
.mgmr-hall-game-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.mgmr-hall-game-name { font-size: .92rem; font-weight: 700; color: #fff; }
.mgmr-hall-game-n { font-size: .85rem; color: var(--muted); text-align: right; }
.mgmr-hall-game-n b { color: #fff; }
.mgmr-hall-bar { grid-column: 2 / span 2; height: 7px; border-radius: 4px; background: rgba(255,255,255,.07); overflow: hidden; }
.mgmr-hall-bar i { display: block; height: 100%; width: 0; border-radius: 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--gc, #e8c96b) 60%, #fff 0%), var(--gc, #e8c96b));
    box-shadow: 0 0 12px var(--gc, #e8c96b); transition: width 1.4s cubic-bezier(.2,.8,.2,1) .4s; }
.mgmr-hall.is-live .mgmr-hall-bar i { width: calc(var(--p, 0) * 100%); }
.mgmr-hall-next { --gc: #a18dff; display: grid; grid-template-columns: 46px auto 1fr auto; gap: 14px; align-items: center; margin-top: 20px; padding: 14px 18px; border-radius: 14px;
    background: linear-gradient(90deg, rgba(161,141,255,.14), rgba(232,201,107,.08)); box-shadow: inset 0 0 0 1px rgba(161,141,255,.4); }
.mgmr-hall-next-ico { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: radial-gradient(circle at 35% 30%, #6d5bd8, #2a1f5c); box-shadow: 0 0 18px rgba(161,141,255,.6); }
.mgmr-hall-next-ico .mgmr-ico { width: 26px; height: 26px; }
.mgmr-hall-next-t small { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--xp); }
.mgmr-hall-next-t b { color: #fff; font-size: 1.08rem; }
.mgmr-hall-next .mgmr-hall-bar { grid-column: auto; height: 9px; }
.mgmr-hall-next-n { font-size: .9rem; color: var(--muted); white-space: nowrap; }
.mgmr-hall-next-n b { color: #fff; }

/* ════════════════ ACHIEVEMENT MEDALLIONS ════════════════ */
.mgmr-fx .mgmr-ach { opacity: 0; transform: translateY(18px) scale(.97); }
.mgmr-fx .mgmr-ach.is-in { opacity: 1; transform: none; transition: opacity .5s ease calc(var(--i, 0) * 55ms), transform .55s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 55ms), box-shadow .25s, border-color .25s; }
.mgmr-wrap .mgmr-ach { position: relative; transform-style: preserve-3d; }
.mgmr-wrap .mgmr-ach.is-in:hover { transform: perspective(900px) translateY(-6px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .2s ease, box-shadow .25s, border-color .25s; }
.mgmr-wrap .mgmr-ach::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; border-radius: inherit; opacity: 0; transition: opacity .3s;
    background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(255,240,200,.14), transparent 46%); }
.mgmr-wrap .mgmr-ach:hover::after { opacity: 1; }
.mgmr-wrap .mgmr-ach .mgmr-item-icon-wrap { height: 118px; opacity: 1;
    background: radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--gc, #e8c96b) 22%, transparent), transparent 62%), linear-gradient(135deg, var(--bg) 0%, var(--surface2) 100%); }
.mgmr-medal { position: relative; width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; color: #f6ecd0;
    background: radial-gradient(circle at 38% 30%, color-mix(in srgb, var(--gc, #e8c96b) 55%, #fff 8%), color-mix(in srgb, var(--gc, #e8c96b) 45%, #0b0b14) 62%, #0b0b14 100%);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--gc, #e8c96b) 70%, #000), 0 0 0 6px rgba(0,0,0,.45), 0 0 0 7px color-mix(in srgb, var(--gc, #e8c96b) 35%, transparent), 0 10px 24px rgba(0,0,0,.55);
    transition: transform .45s cubic-bezier(.2,.8,.2,1), filter .4s; }
.mgmr-medal .mgmr-medal-glyph { width: 40px; height: 40px; stroke-width: 1.9; filter: drop-shadow(0 2px 3px rgba(0,0,0,.6)); }
.mgmr-medal .mgmr-item-icon-img { width: 60px; height: 60px; }
.mgmr-medal-ring { position: absolute; inset: -9px; border-radius: 50%; border: 1px dashed color-mix(in srgb, var(--gc, #e8c96b) 55%, transparent); animation: mgmrSpin 30s linear infinite; }
@keyframes mgmrSpin { to { transform: rotate(360deg); } }
.mgmr-ach:hover .mgmr-medal { transform: translateY(-3px) scale(1.07) rotate(-4deg); }
/* locked: greyed, glyph dimmed */
.mgmr-ach:not(.mgmr-item--earned) .mgmr-medal { filter: grayscale(.85) brightness(.62); }
.mgmr-ach:not(.mgmr-item--earned):hover .mgmr-medal { filter: grayscale(.4) brightness(.85); }
.mgmr-ach:not(.mgmr-item--earned) .mgmr-medal-ring { animation: none; opacity: .4; }
.mgmr-item-lock { position: absolute; top: 8px; left: 8px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: #8d8fa6;
    background: rgba(0,0,0,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.mgmr-item-lock .mgmr-ico { width: 13px; height: 13px; }
.mgmr-ach:not(.mgmr-item--earned):hover .mgmr-item-lock { animation: mgmrJiggle .5s ease; }
@keyframes mgmrJiggle { 25% { transform: rotate(-14deg); } 50% { transform: rotate(10deg); } 75% { transform: rotate(-6deg); } }
/* earned: shine sweep across the medal, stamp on reveal */
.mgmr-ach.mgmr-item--earned .mgmr-medal::after { content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.45) 50%, transparent 65%) 0 0 / 250% 100%; animation: mgmrSheen 3.6s linear infinite; mix-blend-mode: overlay; }
.mgmr-wrap .mgmr-item-check { display: grid; place-items: center; font-size: 0; }
.mgmr-item-check .mgmr-ico { width: 14px; height: 14px; stroke-width: 3; }
.mgmr-fx .mgmr-ach.mgmr-item--earned .mgmr-item-check, .mgmr-fx .mgmr-ach.mgmr-item--earned .mgmr-item-count { transform: scale(0); }
.mgmr-fx .mgmr-ach.is-stamped .mgmr-item-check, .mgmr-fx .mgmr-ach.is-stamped .mgmr-item-count { animation: mgmrStamp .55s cubic-bezier(.2,1.8,.4,1) forwards; }
@keyframes mgmrStamp { 0% { transform: scale(2.6) rotate(-25deg); opacity: 0; } 60% { transform: scale(.85) rotate(4deg); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
.mgmr-fx .mgmr-ach.is-stamped .mgmr-medal { animation: mgmrThud .5s ease .15s; }
@keyframes mgmrThud { 40% { transform: scale(1.14); filter: brightness(1.5) drop-shadow(0 0 18px var(--gc, #e8c96b)); } }
.mgmr-fx .mgmr-ach.is-stamped .mgmr-item-icon-wrap::after { content: ""; position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%;
    border: 3px solid var(--gc, #e8c96b); animation: mgmrRing .8s ease-out .15s both; pointer-events: none; }
@keyframes mgmrRing { from { transform: scale(.4); opacity: 1; } to { transform: scale(5); opacity: 0; } }

/* rarity */
.mgmr-ach { --rc: #8b91a6; }
.mgmr-ach[data-rarity="rare"] { --rc: #5aa0ff; }
.mgmr-ach[data-rarity="epic"] { --rc: #b08cff; }
.mgmr-ach[data-rarity="legendary"] { --rc: #ff9f43; }
.mgmr-ach[data-rarity="unclaimed"] { --rc: #ff6b9a; }
.mgmr-rarity { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding-top: 6px; font-size: .78rem; font-weight: 700; letter-spacing: .03em; color: var(--rc); }
.mgmr-rarity i { width: 8px; height: 8px; transform: rotate(45deg); background: var(--rc); box-shadow: 0 0 8px var(--rc); }
.mgmr-ach[data-rarity="unclaimed"] .mgmr-rarity { background: linear-gradient(90deg, #ff6b9a, #ffb86b, #ff6b9a) 0 0 / 200% 100%; -webkit-background-clip: text; background-clip: text;
    color: transparent; animation: mgmrSheen 4s linear infinite; }
.mgmr-ach[data-rarity="legendary"].mgmr-item--earned { border-color: rgba(255,159,67,.7); box-shadow: 0 0 22px rgba(255,159,67,.22); }
.mgmr-ach[data-rarity="epic"].mgmr-item--earned { border-color: rgba(176,140,255,.65); }
.mgmr-wrap .mgmr-ach .mgmr-item-body { display: flex; flex-direction: column; }

/* rewards row */
.mgmr-item-rewards { display: inline-flex; align-items: center; gap: 12px; }
.mgmr-wrap .mgmr-item-xp { display: inline-flex; align-items: center; gap: 5px; color: #c4b8ff; }
.mgmr-wrap .mgmr-item-xp .mgmr-ico--xp { width: 13px; height: 13px; color: var(--xp); filter: drop-shadow(0 0 5px rgba(161,141,255,.8)); }
.mgmr-item-sh { display: inline-flex; align-items: center; gap: 5px; font-size: .92rem; font-weight: 700; color: var(--g-light); }
.mgmr-item-sh .mgmr-ico--shard, .mgmr-badge-rewards .mgmr-ico--shard { width: 14px; height: 17px; }

/* ════════════════ BADGES ════════════════ */
.mgmr-badges { display: grid; grid-template-columns: repeat(auto-fill, minmax(500px, 1fr)); gap: 22px; padding: 22px; }
.mgmr-badge { position: relative; display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: start; padding: 26px; border-radius: 16px; overflow: hidden;
    background: radial-gradient(90% 80% at 0% 0%, rgba(161,141,255,.1), transparent 60%), var(--surface2); border: 1px solid var(--border);
    transform-style: preserve-3d; transition: transform .25s ease, box-shadow .25s, border-color .25s; }
.mgmr-fx .mgmr-badge { opacity: 0; transform: translateY(20px); }
.mgmr-fx .mgmr-badge.is-in { opacity: 1; transform: none; transition: opacity .6s ease calc(var(--i, 0) * 90ms), transform .6s cubic-bezier(.2,.8,.2,1) calc(var(--i, 0) * 90ms), box-shadow .25s; }
.mgmr-wrap .mgmr-badge.is-in:hover { transform: perspective(1100px) translateY(-4px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .2s ease; box-shadow: 0 18px 40px rgba(0,0,0,.5); }
.mgmr-badge.is-earned { border-color: rgba(232,201,107,.7); box-shadow: 0 0 30px rgba(232,201,107,.16); background: radial-gradient(90% 80% at 0% 0%, rgba(232,201,107,.16), transparent 60%), var(--surface2); }
.mgmr-badge-medal { position: relative; width: 150px; height: 150px; }
.mgmr-badge-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.mgmr-badge-ring circle { fill: none; stroke-width: 6; }
.mgmr-badge-ring .bg { stroke: rgba(255,255,255,.08); }
.mgmr-badge-ring .fg { stroke: var(--xp); stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; filter: drop-shadow(0 0 6px rgba(161,141,255,.8));
    transition: stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1) calc(.3s + var(--i, 0) * 90ms); }
.mgmr-badge.is-in .mgmr-badge-ring .fg, .mgmr-wrap:not(.mgmr-fx) .mgmr-badge-ring .fg { stroke-dashoffset: calc(100 - var(--p, 0) * 100); }
.mgmr-badge.is-earned .mgmr-badge-ring .fg { stroke: var(--g); filter: drop-shadow(0 0 8px rgba(232,201,107,.9)); }
.mgmr-badge-core { position: absolute; inset: 18px; border-radius: 50%; display: grid; place-items: center; color: #d9dbe8;
    background: radial-gradient(circle at 38% 30%, #3b3d5c, #151524 70%); box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.5); filter: grayscale(.6) brightness(.8); }
.mgmr-badge-core .mgmr-ico { width: 56px; height: 56px; stroke-width: 1.6; }
.mgmr-badge-core img { width: 76%; height: 76%; object-fit: contain; }
.mgmr-badge.is-earned .mgmr-badge-core { color: #fff5d6; filter: none; background: radial-gradient(circle at 38% 30%, #f6de94, #c9a14a 45%, #5e4613 100%);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 0 30px rgba(232,201,107,.55); }
.mgmr-badge.is-earned .mgmr-badge-core .mgmr-ico { color: #2a1d05; }
.mgmr-badge-rays { position: absolute; inset: -30px; border-radius: 50%; opacity: 0; pointer-events: none;
    background: repeating-conic-gradient(from 0deg, rgba(232,201,107,.28) 0 6deg, transparent 6deg 18deg); -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%); mask-image: radial-gradient(circle, #000 30%, transparent 70%); }
.mgmr-badge.is-earned .mgmr-badge-rays { opacity: 1; animation: mgmrSpin 18s linear infinite; }
.mgmr-badge-kicker { display: inline-block; font-size: .74rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--xp); }
.mgmr-badge.is-earned .mgmr-badge-kicker { color: var(--g); }
.mgmr-wrap h3.mgmr-badge-name { margin: 6px 0 6px; font-size: 1.5rem; line-height: 1.15; color: #fff; }
.mgmr-badge-desc { margin: 0 0 14px; font-size: .95rem; line-height: 1.55; color: var(--text); }
.mgmr-badge-reqs { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; }
.mgmr-badge-reqs li { display: grid; grid-template-columns: 26px 1fr auto; gap: 10px; align-items: center; padding: 7px 10px; border-radius: 9px; font-size: .9rem;
    background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.mgmr-badge.is-in .mgmr-badge-reqs li { animation: mgmrReq .45s ease both; }
.mgmr-badge.is-in .mgmr-badge-reqs li:nth-child(2) { animation-delay: .08s; } .mgmr-badge.is-in .mgmr-badge-reqs li:nth-child(3) { animation-delay: .16s; }
.mgmr-badge.is-in .mgmr-badge-reqs li:nth-child(4) { animation-delay: .24s; } .mgmr-badge.is-in .mgmr-badge-reqs li:nth-child(5) { animation-delay: .32s; }
.mgmr-badge.is-in .mgmr-badge-reqs li:nth-child(6) { animation-delay: .4s; }
@keyframes mgmrReq { from { opacity: 0; transform: translateX(-10px); } }
.mgmr-req-dot { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: color-mix(in srgb, var(--gc, #e8c96b) 70%, #fff);
    background: rgba(0,0,0,.4); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--gc, #e8c96b) 50%, transparent); }
.mgmr-req-dot .mgmr-ico { width: 14px; height: 14px; }
.mgmr-badge-reqs li b { font-weight: 600; color: #d6d9e6; }
.mgmr-badge-reqs li small { font-size: .68rem; font-weight: 800; letter-spacing: .1em; color: color-mix(in srgb, var(--gc, #e8c96b) 80%, #fff); }
.mgmr-badge-reqs li.is-done { background: rgba(93,227,154,.07); box-shadow: inset 0 0 0 1px rgba(93,227,154,.3); }
.mgmr-badge-reqs li.is-done .mgmr-req-dot { color: #06230f; background: #3ed485; box-shadow: 0 0 10px rgba(62,212,133,.6); }
.mgmr-badge-reqs li.is-done b { color: #fff; }
.mgmr-badge-rewards { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); font-weight: 700; }
.mgmr-badge-title { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-size: .9rem; }
.mgmr-badge-title .mgmr-ico { width: 16px; height: 16px; color: var(--g); }

/* view switch */
.mgmr-view-in { animation: mgmrView .4s ease both; }
@keyframes mgmrView { from { opacity: 0; transform: translateY(10px); } }

@media (max-width: 900px) {
    .mgmr-hall { padding: 26px 20px 22px; }
    .mgmr-hall-top { grid-template-columns: 1fr; }
    .mgmr-hall-ring { width: 180px; height: 180px; margin: 0 auto; }
    .mgmr-hall-next { grid-template-columns: 40px 1fr; }
    .mgmr-hall-next .mgmr-hall-bar, .mgmr-hall-next-n { grid-column: 1 / -1; }
    .mgmr-badges { grid-template-columns: 1fr; padding: 14px; }
    .mgmr-badge { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .mgmr-badge-reqs li { text-align: left; }
    .mgmr-badge-rewards { justify-content: center; }
}

/* layout fixes (2026-09-18): explicit placement for the per-game rows; roomier card footers */
.mgmr-hall-game-logo { grid-column: 1; grid-row: 1 / 3; }
.mgmr-hall-game-name { grid-column: 2; grid-row: 1; }
.mgmr-hall-game-n { grid-column: 3; grid-row: 1; white-space: nowrap; }
.mgmr-hall-game .mgmr-hall-bar { grid-column: 2 / 4; grid-row: 2; margin-top: 6px; }
.mgmr-wrap .mgmr-ach .mgmr-item-footer { flex-wrap: wrap; gap: 8px 10px; }
.mgmr-wrap .mgmr-ach .mgmr-item-rewards { white-space: nowrap; gap: 10px; }
.mgmr-wrap .mgmr-ach .mgmr-item-xp, .mgmr-wrap .mgmr-ach .mgmr-item-sh { font-size: .88rem; white-space: nowrap; }
.mgmr-wrap .mgmr-ach .mgmr-item-status { margin-left: auto; }
