/* Original implementation of the reference store's visual layout. */
@font-face {
  font-family: MNPixel;
  src: url("https://cdn.jsdelivr.net/npm/typeface-minecraft@1.0.0/files/minecraft.woff2") format("woff2");
  font-display: swap;
}
:root {
  --mn-bg: #0d0f12;
  --mn-panel: #1a1d23;
  --mn-border: #272c35;
  --mn-muted: #9aa3b1;
  --mn-blue: #036fff;
  --mn-light-blue: #7fd1ff;
  --color-bg: var(--mn-bg);
  --color-brighter-bg: var(--mn-panel);
  --color-text: #f1f5fb;
  --color-text-secondary: var(--mn-muted);
  --color-primary: var(--mn-blue);
  --color-primary-text: #fff;
  --color-primary-hover: #328aff;
  --color-primary-text-hover: #fff;
  --tebex-legal-footer-background-color: var(--mn-bg);
  --tebex-legal-footer-text-color: var(--mn-muted);
  --tebex-legal-footer-border-color: var(--mn-border);
}
html { font-size: 16px; }
body {
  color: #f1f5fb;
  font-family: MNPixel, sans-serif !important;
  letter-spacing: .01em;
  background: radial-gradient(900px 460px at 50% -60px, rgb(3 111 255 / .16), transparent 60%), linear-gradient(#0c0e12, var(--mn-bg) 42%) !important;
  background-attachment: fixed !important;
}
button, input, select, textarea { font-family: inherit !important; }
body.mn-page::before { background-image: none !important; }
.mn-ip-space { height: 41px; }
.mn-header, .mn-store, .mn-footer, .mn-dialog { box-sizing: border-box; font-family: MNPixel, sans-serif; }
.mn-header *, .mn-store *, .mn-footer *, .mn-dialog * { box-sizing: border-box; }
.mn-header { padding: 41.6px 48px 0 !important; border: 0 !important; background: transparent !important; }
.mn-header-inner { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; max-width: 1000px; min-height: 307px; margin: 0 auto; }
.mn-brand { position: static !important; margin: 0 !important; min-height: 230px; display: flex; align-items: center; font-size: 60px; line-height: 1.2; text-align: center; }
.mn-brand a { color: #fff; text-decoration: none; }
.mn-brand img { display: block; width: auto; height: 230px; max-height: 230px; max-width: 100%; object-fit: contain; }
.mn-account { position: absolute; top: 24px; right: 16px; display: flex; align-items: center; gap: 12px; }
.mn-account-link { appearance: none; display: inline-block; padding: 0 14px; min-height: 46px; line-height: 46px; border: 0; background: none; color: #fff; font-size: 16px; cursor: pointer; text-decoration: none; }
.mn-account-link:hover { color: var(--mn-light-blue); }
.mn-basket-link { padding: 0 18px; background: linear-gradient(120deg, #036fff, #328aff); color: #fff; text-transform: uppercase; box-shadow: 0 0 28px -12px rgb(3 111 255 / .65); }
.mn-basket-link:hover { color: #fff; filter: brightness(1.08); }
.mn-username { font-size: 13px; color: var(--mn-muted); }
.mn-ip { appearance: none; border: 1px solid var(--mn-border); border-radius: 999px; background: var(--mn-panel); color: var(--mn-muted); padding: 8.8px 22.4px; font-size: 16.8px; line-height: normal; white-space: nowrap; text-transform: uppercase; cursor: pointer; transition: color .15s, border-color .15s; }
.mn-ip:hover { color: #fff; border-color: var(--mn-blue); }
.mn-store { align-self: center; width: min(100%, 1000px); margin: 0 auto; padding: 0 19.2px 32px; font-size: 14px; }
.mn-section { margin-top: 48px; text-align: center; }
.mn-section-title { margin: 0 0 27.2px; font-size: 36.8px; font-weight: 400; line-height: normal; text-transform: uppercase; }
.mn-section-title a { color: inherit; text-decoration: none; }
.mn-category-description { max-width: 60ch; margin: 24px auto; color: var(--mn-muted); }
.mn-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19.2px; max-width: 940px; margin: 0 auto; align-items: stretch; }
.mn-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 20.8px; border: 1px solid var(--mn-border); border-radius: 18px; background: var(--mn-panel); text-align: center; transition: transform .16s, border-color .2s, box-shadow .2s; }
.mn-card:hover { transform: translateY(-6px); border-color: rgb(3 111 255 / .55); box-shadow: 0 24px 54px -22px rgb(3 111 255 / .5); }
.mn-image-link { display: block; margin: 27.2px 0 14.4px; }
.mn-image { display: block; width: auto; max-width: 180px; max-height: 190px; height: auto; margin: 0 auto; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.mn-voxel-art { width: 180px; height: 190px; color: #6dd4ff; filter: drop-shadow(0 10px 18px rgb(3 111 255 / .15)); }
.mn-voxel-art.mn-gold-art { width: 200px; max-width: 200px; height: 190px; color: #ffc946; filter: drop-shadow(0 8px 12px rgb(255 177 36 / .12)); }
.mn-product-title { margin: 0 0 16px; padding: 0; font-size: 22.4px; font-weight: 400; line-height: normal; text-transform: uppercase; }
.mn-product-title a { color: inherit !important; text-decoration: none !important; }
.mn-credits .mn-product-title { color: var(--mn-light-blue); }
.mn-premium { align-items: stretch; }



.mn-perks { margin: 3.2px 0 16px; text-align: left; font-size: 13.12px; line-height: 1.5; color: var(--mn-muted); }
.mn-perks p { margin: 0 0 16px; }
.mn-perks strong { color: #e6eaf0; }
.mn-perks .mn-perk-cyan { color: #54acd2; }
.mn-perks .mn-perk-white { color: #fff; }
.mn-perks .mn-perk-gold { color: #fac51c; }
.mn-perks .mn-perk-pink { color: #ff00ff; }
.mn-perks .mn-billing-note { margin-bottom: 0; font-size: 11px; line-height: 1.5; color: var(--mn-muted); }
.mn-purchase { width: 100%; margin-top: auto; }
.mn-card .product-actions { display: flex !important; flex-wrap: wrap; justify-content: center !important; align-items: center; gap: 12px; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.mn-card.mn-price-ready .product-actions > .price { display: none; }
.mn-card .product-actions > .add,
.mn-card .product-actions > .subscribe { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 175px; width: auto; max-width: 100%; min-height: 46px; padding: 8px 16px; border: 0; border-radius: 10px; font-size: 16px; line-height: 1.2; color: #fff; text-decoration: none; background: linear-gradient(120deg, #036fff, #328aff); box-shadow: 0 8px 18px -10px rgb(3 111 255 / .55); cursor: pointer; }
.mn-card .product-actions > .add:hover,
.mn-card .product-actions > .subscribe:hover { filter: brightness(1.08); }
.mn-card .product-actions > .add::before,
.mn-card .product-actions > .subscribe::before { display: none; }
.mn-card .product-actions > .half { min-width: 0; flex: 1 1 100px; font-size: 13px; }
.mn-price-label { display: inline-flex; align-items: baseline; white-space: nowrap; }
.mn-price-period { font-size: .82em; }
.mn-bonus { position: absolute; top: 17.6px; left: 50%; transform: translateX(-50%); border-radius: 999px; padding: 4.48px 12.8px; font-size: 11.52px; text-transform: none; color: #04210d; background: linear-gradient(120deg, #38d873, #7bff9e); white-space: nowrap; box-shadow: 0 4px 14px -4px rgb(56 216 115 / .55); }
.mn-status { grid-column: 1 / -1; padding: 24px; color: var(--mn-muted); font-size: 14px; }
.mn-status a { color: var(--mn-light-blue); }
.mn-skeleton { min-height: 300px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px; border: 1px solid var(--mn-border); border-radius: 18px; background: var(--mn-panel); }
.mn-skeleton span { display: block; width: 75%; height: 16px; border-radius: 8px; background: linear-gradient(100deg, #272c35 20%, #35455e 45%, #272c35 70%); background-size: 250% 100%; animation: mn-loading 1.4s linear infinite; }
.mn-skeleton span:first-child { width: 150px; height: 118px; }
.mn-skeleton span:last-child { width: 175px; height: 40px; }
@keyframes mn-loading { to { background-position: -250% 0; } }
.mn-footer { margin-top: 64px !important; padding: 38.4px 16px 48px; border-top: 1px solid var(--mn-border); background: none; text-align: center; }
.mn-footer-brand { margin: 0; font-size: 20.8px; text-transform: uppercase; }
.mn-footer-note { margin: 6.4px 0 19.2px; color: var(--mn-muted); font-size: 16px; }
.mn-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22.4px; }
.mn-footer-links a { color: var(--mn-muted); font-size: 15.2px; text-transform: uppercase; text-decoration: none; }
.mn-footer-links a:hover { color: #328aff; }
.mn-dialog { width: min(600px, calc(100vw - 32px)); max-height: 88vh; margin: auto; padding: 0; color: #fff; background: var(--mn-panel); border: 1px solid var(--mn-border); border-radius: 12px; overflow: auto; }
.mn-dialog::backdrop { background: rgb(0 0 0 / .72); backdrop-filter: blur(3px); }
.mn-dialog-panel { position: relative; padding: 25.6px 30.4px; }
#mn-dialog-title { margin: 0 0 16px; padding: 0 32px 16px 0; border-bottom: 1px solid var(--mn-border); font-size: 25.6px; font-weight: 400; line-height: 1.3; }
.mn-dialog-close { position: absolute; top: 20.8px; right: 24px; padding: 0; border: 0; background: none; color: var(--mn-muted); font-size: 25.6px; line-height: 1; cursor: pointer; }
.mn-dialog-body { color: var(--mn-muted); font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.mn-dialog-body p { margin: 9.6px 0; }
.mn-dialog-body strong, .mn-dialog-body a { color: var(--mn-light-blue); }
.mn-dialog-body iframe { display: block; width: 100%; height: 55vh; border: 0; background: #fff; }
.mn-header a:focus-visible, .mn-header button:focus-visible,
.mn-store a:focus-visible, .mn-footer a:focus-visible,
.mn-dialog button:focus-visible { outline: 2px solid var(--mn-light-blue); outline-offset: 4px; }
.mn-card [hidden], .mn-full-description[hidden] { display: none !important; }
.mn-card [disabled] { opacity: .5; cursor: not-allowed; }
.mn-card .product-actions > .add[disabled],
.mn-card .product-actions > .subscribe[disabled] { opacity: 1; }
.mn-store [hidden] { display: none !important; }
.mn-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19.2px; align-items: stretch; margin: 8px auto 0; max-width: 940px; }
.mn-goals > :only-child { grid-column: 1 / -1; }
.mn-community { display: grid; grid-template-columns: minmax(0, 1fr); gap: 19.2px; max-width: 940px; margin: 48px auto 0; }
.mn-community > :only-child { grid-column: 1 / -1; }
.mn-widget { min-width: 0; padding: 24px; border: 1px solid var(--mn-border); border-radius: 18px; background: var(--mn-panel); text-align: left; }
.mn-widget h2 { margin: 5px 0 0; font-size: 22px; line-height: 1.35; font-weight: 400; color: #f1f5fb; }
.mn-widget h3 { margin: 0; font-size: 16px; line-height: 1.4; font-weight: 400; overflow-wrap: anywhere; }
.mn-widget-kicker { color: #ba93ff; font-size: 10px; letter-spacing: .06em; line-height: 1.5; }
.mn-widget-note { margin: 8px 0 0; color: var(--mn-muted); font-size: 12px; line-height: 1.5; }
.mn-goal { display: flex; gap: 20px; align-items: center; padding: 20px 24px; border-color: #493568; background: radial-gradient(ellipse at 0 50%, rgb(133 70 235 / .16), transparent 65%), var(--mn-panel); }
.mn-goal-icon { flex: 0 0 52px; filter: drop-shadow(0 0 14px rgb(162 97 255 / .4)); }
.mn-goal-main { flex: 1; min-width: 0; }
.mn-goal-heading { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; }
.mn-goal-percent { color: #d2b4ff; font-size: 18px; white-space: nowrap; }
.mn-core-progress { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 10px; margin: 14px 0 10px; border: 0; border-radius: 999px; overflow: hidden; background: #292232; color: #ad76ff; }
.mn-core-progress::-webkit-progress-bar { background: #292232; border-radius: 999px; }
.mn-core-progress::-webkit-progress-value { background: linear-gradient(90deg, #7942d9, #ba8aff); border-radius: 999px; box-shadow: 0 0 14px rgb(173 118 255 / .5); }
.mn-core-progress::-moz-progress-bar { background: linear-gradient(90deg, #7942d9, #ba8aff); border-radius: 999px; }
.mn-goal-summary { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: var(--mn-muted); font-size: 11px; line-height: 1.5; }
.mn-sidebar-goal { width: 100%; max-width: none; margin: 0; padding: 24px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.mn-sidebar-goal h2 { margin: 0 0 20px; font-size: 24px; }
.mn-sidebar-goal-description { color: #f1f5fb; font-size: 16px; line-height: 1.45; }
.mn-sidebar-goal-description p { margin: 0 0 18px; }
.mn-sidebar-goal-image { display: block; max-width: 160px; max-height: 160px; margin: 0 auto 18px; object-fit: contain; }
.mn-community-progress { appearance: none; -webkit-appearance: none; display: block; width: 100%; height: 16px; margin: 22px 0 18px; border: 0; border-radius: 4px; overflow: hidden; background: #0d0f12; color: #036fff; }
.mn-community-progress::-webkit-progress-bar { background: #0d0f12; border-radius: 4px; }
.mn-community-progress::-webkit-progress-value { background: #036fff; border-radius: 4px; }
.mn-community-progress::-moz-progress-bar { background: #036fff; border-radius: 4px; }
.mn-sidebar-goal-completed { margin: 0; font-size: 18px; line-height: 1.4; }
.mn-sidebar-goal-count { margin: 12px 0 0; color: var(--mn-muted); font-size: 12px; }
.mn-top-supporter { order: 1; border-color: #51442b; background: radial-gradient(ellipse at 50% 40%, rgb(255 190 55 / .07), transparent 70%), var(--mn-panel); }
.mn-top-supporter .mn-widget-kicker { color: #e3b960; }
.mn-top-supporter-compact { padding: 20px; }
.mn-top-supporter-compact h2 { margin: 4px 0 0; font-size: 19px; }
.mn-compact-spotlight { display: grid; grid-template-columns: 82px minmax(0, 1fr); align-items: center; gap: 16px; margin: 16px 0 0; }
.mn-spotlight-figure { display: flex; flex-direction: column; align-items: center; }
.mn-top-supporter-compact .mn-crown { width: 27px; height: 20px; margin-bottom: 4px; }
.mn-top-supporter-compact .mn-full-skin { width: 82px; height: 142px; margin: 0; }
.mn-top-supporter-compact .mn-full-skin.mn-skin-fallback { height: 82px; margin: 30px 0; }
.mn-top-supporter-compact .mn-skin-placeholder { width: 78px; height: 125px; margin: 8px 0; }
.mn-top-supporter-compact h3 { color: #ffc946; font-size: 16px; }
.mn-top-supporter-compact .mn-widget-note { font-size: 11px; line-height: 1.5; }
.mn-top-supporter-compact .mn-npc-recognition { margin-top: 14px; padding: 10px; }
.mn-top-supporter-compact .mn-npc-recognition > span { font-size: 8px; }
.mn-top-supporter-compact .mn-npc-recognition p { margin-top: 5px; font-size: 10px; line-height: 1.45; }

.mn-recent-supporters { order: 1; text-align: center; }
.mn-spotlight { display: flex; flex-direction: column; align-items: center; margin: 24px 0 8px; text-align: center; }
.mn-crown { margin-bottom: 8px; filter: drop-shadow(0 0 10px rgb(255 191 59 / .3)); }
.mn-supporter-avatar { flex: 0 0 auto; image-rendering: pixelated; object-fit: cover; border-radius: 8px; background: #11151c; }
.mn-spotlight-avatar { margin-bottom: 14px; box-shadow: 0 0 22px -8px rgb(255 191 59 / .5); }
.mn-spotlight h3 { color: #ffc946; font-size: 21px; }
.mn-full-skin { display: block; width: 140px; height: 230px; margin: 0 auto 18px; object-fit: contain; filter: drop-shadow(0 12px 16px rgb(255 190 55 / .15)); }
.mn-full-skin.mn-skin-fallback { height: 120px; margin: 24px auto; image-rendering: pixelated; }
.mn-skin-placeholder { display: block; margin: 8px auto 18px; opacity: .7; }
.mn-npc-recognition { margin-top: 20px; padding: 12px 16px; border: 1px solid #55462c; border-radius: 10px; background: rgb(255 190 55 / .045); }
.mn-npc-recognition > span { color: #ffc946; font-size: 10px; letter-spacing: .05em; }
.mn-npc-recognition p { margin: 8px 0 0; color: var(--mn-muted); font-size: 12px; line-height: 1.5; }
.mn-coming-soon { color: #c9a8ff; white-space: nowrap; }
.mn-supporter-list { list-style: none; margin: 18px 0 0; padding: 0; }
.mn-supporter-list li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mn-border); }
.mn-supporter-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.mn-community > .mn-recent-supporters:only-child .mn-supporter-list { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.mn-community > .mn-recent-supporters:only-child .mn-supporter-list li { flex-direction: column; text-align: center; border: 1px solid var(--mn-border); border-radius: 12px; background: rgb(13 15 18 / .3); padding: 16px 10px; }
.mn-community > .mn-recent-supporters:only-child .mn-supporter-list h3 { font-size: 11px; }
.mn-supporter-info { min-width: 0; }
.mn-supporter-package { margin: 3px 0 0; color: #adbbd0; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.mn-supporter-time { margin: 3px 0 0; color: #778496; font-size: 10px; line-height: 1.4; }
.mn-supporter-total { margin: 8px 0 0; color: #d3b4ff; font-size: 12px; }
@media (max-width: 720px) {
  .mn-goals { grid-template-columns: minmax(0, 1fr); }
  .mn-community > .mn-recent-supporters:only-child .mn-supporter-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mn-community > .mn-recent-supporters:only-child .mn-supporter-list li { flex-direction: column; text-align: center; padding: 14px 8px; }
  .mn-community { grid-template-columns: minmax(0, 1fr); }
  .mn-widget { padding: 20px; }
  .mn-goal { gap: 12px; padding: 18px; }
  .mn-goal-icon { flex-basis: 36px; }
  .mn-goal-icon svg { width: 36px; height: 36px; }
  .mn-goal h2 { font-size: 20px; }
  .mn-goal-percent { font-size: 14px; }
  .mn-grid { grid-template-columns: minmax(0, 1fr); max-width: 360px; }
  .mn-header { padding-left: 16px !important; padding-right: 16px !important; }
  .mn-header-inner { min-height: 280px; }
  .mn-account { right: 0; top: 0; gap: 2px; }
  .mn-account-link { font-size: 13px; padding: 0 8px; }
  .mn-username { display: none; }
  .mn-brand { min-height: 200px; font-size: 36px; }
  .mn-brand img { height: 200px; max-height: 200px; }
  .mn-ip { max-width: 100%; font-size: 14px; white-space: normal; overflow-wrap: anywhere; }
  .mn-section-title { font-size: 30px; }
  .mn-dialog-panel { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .mn-card { transition: none; }
  .mn-card:hover { transform: none; }
  .mn-skeleton span { animation: none; }
}

/* Charity announcement and Giving Back gallery. */
.mn-announcement { position: relative; z-index: 3; box-sizing: border-box; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 14px; width: 100%; min-height: 42px; padding: 10px 18px; border-bottom: 1px solid #28466a; color: #e4f0ff; background: linear-gradient(105deg, #142337, #1d3555, #142337); font-size: 12px; line-height: 1.5; text-align: center; text-decoration: none; }
.mn-announcement + .mn-header { margin-top: -48px; }
.mn-announcement svg { flex: 0 0 16px; color: #6bc2ff; }
.mn-announcement-action { color: #8ed7ff; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.mn-announcement:hover { background: #203d60; color: #fff; }
.mn-announcement:focus-visible { outline: 2px solid #8ed7ff; outline-offset: -4px; }
.mn-content-page { margin-top: 48px; }
.mn-content-page > .mn-section-title { text-align: center; }
.mn-page-content { max-width: 940px; margin: 0 auto; }
.mn-charity-intro { max-width: 650px; margin: 0 auto 32px; text-align: center; }
.mn-charity-intro p { margin: 12px 0; color: #b7bfce; font-size: 15px; line-height: 1.65; }
.mn-charity-intro .mn-charity-pledge { color: #8ed7ff; font-size: 22px; line-height: 1.45; }
.mn-charity-intro .mn-charity-note { font-size: 12px; color: #8f99ab; }
.mn-charity-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mn-charity-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid #2f4056; border-radius: 18px; background: var(--mn-panel); }
.mn-charity-month { margin: 0 0 12px; color: #8ed7ff; font-size: 10px; letter-spacing: .05em; }
.mn-charity-card h3 { margin: 0 0 10px; color: #f1f5fb; font-size: 20px; font-weight: 400; line-height: 1.4; }
.mn-charity-caption { margin: 0 0 20px; color: #a7b0c0; font-size: 12px; line-height: 1.6; }
.mn-charity-photo { display: block; margin-top: auto; color: #8ed7ff; text-decoration: none; }
.mn-charity-photo img { display: block; width: 100%; height: 220px; margin: 0; border-radius: 10px; background: #f4f6fa; object-fit: contain; }
.mn-charity-photo span { display: block; margin-top: 14px; font-size: 12px; }
.mn-charity-photo:hover span { color: #c5eaff; text-decoration: underline; }
.mn-charity-return { margin: 30px 0 0; text-align: center; }
.mn-charity-return a { color: #94c9ff; font-size: 13px; text-decoration: none; }
.mn-charity-return a:hover { text-decoration: underline; }
.mn-receipt-dialog { width: min(1100px, calc(100vw - 32px)); max-height: 90vh; }
.mn-receipt-photo { display: block; width: 100%; height: auto; margin: 0; border-radius: 6px; background: #fff; }
@media (max-width: 720px) {
  .mn-announcement { gap: 5px 10px; padding: 9px 14px; font-size: 10px; }
  .mn-charity-gallery { grid-template-columns: minmax(0, 1fr); }
  .mn-charity-card { padding: 20px; }
  .mn-charity-card h3 { font-size: 20px; }
  .mn-charity-photo img { height: 250px; }
  .mn-charity-intro .mn-charity-pledge { font-size: 20px; }
}

/* Void memberships: permanent tiers with monthly Gold. */
.mn-premium .mn-product-title { color: #fff; text-transform: none; text-align: left; font-size: 27px; margin: 4px 0 18px; }
.mn-premium-plus { color: #39a9ff; }
.mn-premium .mn-perks { margin: 0 0 20px; }
.mn-premium-gold-tile { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 122px; padding: 14px; border: 1px solid #354761; border-radius: 12px; background: linear-gradient(115deg, #202d40, #1f2633); margin-bottom: 20px; }
.mn-premium-gold-copy { min-width: 0; }
.mn-premium-gold-copy strong { display: block; color: #8ed7ff; font-size: 30px; font-weight: 400; line-height: 1.25; }
.mn-premium-gold-copy span { display: block; color: #adbed5; font-size: 11px; line-height: 1.5; margin-top: 7px; }
.mn-perks .mn-premium-gold-art { display: block; flex: 0 0 104px; width: 104px; height: 104px; margin: 0; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.mn-premium-features { margin-bottom: 18px; }
.mn-perk-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px 0; border-bottom: 1px solid #2d323b; }
.mn-perk-row span { display: block; color: #c4cad5; font-size: 12px; line-height: 1.5; }
.mn-perk-row small { display: block; color: #9a8ab3; font-size: 9px; line-height: 1.5; margin-top: 4px; }
.mn-perk-row strong { color: #6bc2ff; font-size: 14px; font-weight: 400; white-space: nowrap; }
.mn-perks .mn-membership-delivery, .mn-perks .mn-membership-cancel { margin: 0 0 12px; font-size: 11px; line-height: 1.6; }
.mn-perks .mn-membership-delivery { color: #c0cedd; }
.mn-perks .mn-membership-cancel { color: #8e9bab; }
.mn-dialog-body .mn-premium-gold-tile { margin-bottom: 18px; }
.mn-dialog-body .mn-premium-gold-art { width: 90px; height: 100px; object-fit: contain; }

/* Giving Back cumulative impact and inclusive Gold totals. */
.mn-charity-impact { max-width: 700px; margin: 0 auto 30px; padding: 22px; text-align: center; border: 1px solid #354761; border-radius: 16px; background: linear-gradient(135deg, #1b2a40, #191f29); }
.mn-charity-impact p { margin: 0; }
.mn-impact-label { color: #91b9df; font-size: 11px; letter-spacing: .08em; }
.mn-impact-total { color: #8ed7ff; font-size: clamp(30px, 5vw, 40px); line-height: 1.4; padding: 12px 0; }
.mn-impact-thanks { max-width: 640px; margin: 0 auto !important; color: #bdc4d0; font-size: 13px; line-height: 1.8; }
.mn-impact-pledges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid #314158; }
.mn-impact-pledges strong, .mn-impact-pledges span { display: block; }
.mn-impact-pledges strong { color: #8ed7ff; font-size: 12px; line-height: 1.6; }
.mn-impact-pledges span { color: #a6aebe; font-size: 11px; line-height: 1.7; margin-top: 6px; }
.mn-credits .mn-product-title a { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 10px; }
.mn-gold-base { color: #727889; font-size: .6em; text-decoration-thickness: 2px; }
.mn-gold-total { color: var(--mn-light-blue); }
@media (max-width: 600px) {
  .mn-charity-impact { padding: 24px 18px; }
  .mn-impact-pledges { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

@media (min-width: 721px) and (max-width: 1000px) {
 .mn-community > .mn-recent-supporters:only-child .mn-supporter-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Compact Premium cards. */
.mn-card.mn-premium { padding-top: 18px; padding-bottom: 18px; gap: 8px; }
.mn-premium .mn-product-title { margin: 2px 0 12px; }
.mn-premium .mn-perks { margin-bottom: 10px; }
.mn-premium .mn-premium-gold-tile { min-height: 110px; padding: 10px 14px; margin-bottom: 14px; }
.mn-premium .mn-premium-gold-art { flex-basis: 90px; width: 90px; height: 90px; }
.mn-premium .mn-premium-features { margin-bottom: 0; }
.mn-premium .mn-perk-row { padding: 10px 0; }

/* Patrons page. */
.vp-page { color:#f1f5fb; font-size:14px; }
.vp-intro { color:#aeb9ca; text-align:center; line-height:1.8; margin:0 auto 30px; }
.vp-tiers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:36px; }
.vp-tier { --vp-accent:#84caff; background:linear-gradient(135deg,#202a38,#191e27); border:1px solid #35475e; border-radius:16px; padding:22px; }
.vp-bronze { --vp-accent:#e4aa71; }.vp-silver { --vp-accent:#cedce8; }.vp-diamond { --vp-accent:#6bd6ff; }
.vp-emblem { display:inline-block; color:var(--vp-accent); font-size:34px; line-height:1; text-shadow:0 0 20px color-mix(in srgb,var(--vp-accent) 25%,transparent); }
.vp-tier-kicker { color:#95a7bf; font-size:9px; letter-spacing:.08em; margin:18px 0 9px; }
.vp-tier h3 { color:var(--vp-accent); font-size:21px; font-weight:400; line-height:1.4; margin:0 0 14px; }
.vp-tier strong { display:block; font-size:24px; font-weight:400; }.vp-tier strong span { display:block; color:#abb7c8; font-size:11px; margin-top:6px; }
.vp-tier>p:last-child { color:#9eabbe; font-size:11px; line-height:1.8; margin:16px 0 0; }
.vp-wall,.vp-progress { border:1px solid #2c394a; border-radius:18px; background:#1a1d23; padding:24px; }
.vp-wall-top { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-bottom:20px; border-bottom:1px solid #2d3543; }
.vp-wall h3,.vp-progress h3 { margin:0; font-size:23px; font-weight:400; }
.vp-wall-top p { color:#8d9eb5; font-size:11px; margin:9px 0 0; }
.vp-filters { display:flex; flex-wrap:wrap; gap:7px; }.vp-filters .vp-filter { border:1px solid #364254; border-radius:8px; background:#202733; color:#aab8ce; padding:9px 12px; cursor:pointer; text-decoration:none; display:inline-block; font-size:11px; }
.vp-filters .vp-filter[aria-pressed=true] { color:white; border-color:#2684ef; background:#1468c5; }
.vp-filters .vp-filter:focus-visible,.vp-button:focus-visible { outline:2px solid #8ed7ff; outline-offset:3px; }
.vp-patrons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding-top:22px; }
.vp-patron { --vp-accent:#84caff; display:flex; flex-direction:column; align-items:center; border:1px solid #354052; border-radius:12px; background:linear-gradient(#202b3b,#171b22); padding:16px 12px; text-align:center; }
.vp-patron.vp-bronze { --vp-accent:#e4aa71; }.vp-patron.vp-silver { --vp-accent:#cedce8; }.vp-patron.vp-diamond { --vp-accent:#6bd6ff; }
.vp-patron-tier { color:var(--vp-accent); border:1px solid #3d4a5d; border-radius:30px; padding:5px 9px; font-size:9px; white-space:nowrap; }
.vp-skin-stage { display:flex; justify-content:center; align-items:center; height:190px; width:100%; margin:12px 0; background:radial-gradient(ellipse at 50% 75%,#29405a66,transparent 70%); }
.vp-skin-stage img { object-fit:contain; width:100px; height:180px; image-rendering:pixelated; filter:drop-shadow(0 8px 9px #0007); }
.vp-skin-stage .vp-fallback { height:80px; width:80px; }.vp-patron h4 { margin:0; font-size:13px; font-weight:400; overflow-wrap:anywhere; }
.vp-wall-note { color:#8d9eb5; font-size:11px; text-align:center; line-height:1.8; padding-top:20px; border-top:1px solid #2d3543; margin:22px 0 0; }
.vp-empty { color:#a7b6ca; line-height:1.8; padding:25px 0; grid-column:1/-1; text-align:center; }
.vp-progress { margin-top:30px; background:linear-gradient(130deg,#1c2d44,#19212e); border-color:#354c68; }
.vp-progress-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }.vp-eyebrow { color:#78b9f3; font-size:9px; letter-spacing:.08em; margin:0 0 10px; }
.vp-current { border:1px solid #43617e; color:#91d4ff; border-radius:30px; padding:7px 11px; font-size:10px; }
 .vp-progress-content>p { color:#acbdd4; font-size:12px; line-height:1.8; margin:18px 0; }.vp-button { display:inline-flex; justify-content:center; border:0; border-radius:9px; padding:11px 18px; color:#fff; background:linear-gradient(110deg,#036fff,#328aff); cursor:pointer; text-decoration:none; font-size:12px; }
.vp-meter-label { display:flex; justify-content:space-between; gap:15px; margin:22px 0 10px; font-size:11px; color:#b2c8df; }
.vp-meter { appearance:none; display:block; width:100%; height:14px; border:0; border-radius:4px; overflow:hidden; background:#101a27; }.vp-meter::-webkit-progress-bar { background:#101a27; }.vp-meter::-webkit-progress-value { background:linear-gradient(90deg,#036fff,#78cfff); }.vp-meter::-moz-progress-bar { background:linear-gradient(90deg,#036fff,#78cfff); }
.vp-private-note { color:#8396b0; font-size:10px; margin-top:14px; }.vp-progress strong { color:#9edcff; font-weight:400; }.vp-tier-name { color:#8ed7ff; }
@media(max-width:800px) { .vp-wall-top { flex-direction:column; align-items:flex-start; }.vp-patrons { grid-template-columns:repeat(3,minmax(0,1fr)); }.vp-tier { padding:18px; }.vp-tier h3 { font-size:18px; } }
@media(max-width:600px) { .vp-tiers { grid-template-columns:1fr; gap:12px; }.vp-tier { display:grid; grid-template-columns:40px 1fr; gap:0 12px; }.vp-emblem { grid-row:1/5; }.vp-tier-kicker { margin:0 0 5px; }.vp-tier h3 { margin-bottom:8px; }.vp-tier strong { font-size:20px; }.vp-tier strong span { display:inline; margin-left:7px; }.vp-tier>p:last-child { margin-top:10px; }.vp-patrons { grid-template-columns:repeat(2,minmax(0,1fr)); }.vp-wall,.vp-progress { padding:18px; }.vp-progress-top { flex-direction:column; align-items:flex-start; }.vp-meter-label { flex-wrap:wrap; } }

/* Patron cards inspired by the full-skin reference, in the VoidMines palette. */
.vp-patrons { grid-template-columns: repeat(3,minmax(0,1fr)); gap:18px; }
.vp-patron { border:2px solid #3c5069; border-radius:18px; padding:18px; }
.vp-patron.vp-bronze { border-color:#765338; background:linear-gradient(135deg,#2c251f,#1a1d23); }
.vp-patron.vp-silver { border-color:#697b8e; background:linear-gradient(135deg,#28313e,#1a1d23); }
.vp-patron.vp-diamond { border-color:#397fa5; background:linear-gradient(135deg,#1c3449,#1a1d23); }
.vp-patron-tier { padding:8px 14px; font-size:11px; text-transform:uppercase; letter-spacing:.04em; background:#0d1621; border:0; }
.vp-skin-stage { height:285px; border:1px solid #43576d; border-radius:12px; background:radial-gradient(ellipse at 50% 80%,#3c658a44,transparent 72%); }
.vp-skin-stage img { width:155px; height:260px; }
.vp-patron h4 { margin:4px 0 0; font-size:17px; }
.vp-sample-note { color:#95a6bd; font-size:10px; line-height:1.7; margin:9px 0 0; }
.vp-preview-heading { margin:0 0 12px; color:#a7bed8; font-size:12px; text-align:center; grid-column:1/-1; }
.mn-store-links { display:flex; justify-content:center; gap:20px; margin:14px 0 0; font-size:12px; }
.mn-store-links a { color:#a6cfff; text-decoration:none; }
.mn-store-links a:hover { color:#fff; }
@media(max-width:600px) { .vp-patrons { grid-template-columns:minmax(0,1fr); }.vp-skin-stage { height:250px; }.vp-skin-stage img { height:230px; width:145px; } }

/* Compact patron wall: five players per desktop row, naturally wrapping. */
.vp-tier { text-align:center; }
.vp-emblem { display:none; }
.vp-tier h3 { margin-bottom:12px; }
.vp-patrons { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.vp-patron { padding:12px 9px; border-radius:14px; }
.vp-patron-tier { font-size:9px; padding:7px 8px; letter-spacing:0; }
.vp-skin-stage { height:215px; border-style:dashed; margin:12px 0; }
.vp-skin-stage img { height:200px; width:120px; max-width:100%; }
.vp-patron h4 { font-size:13px; }
.vp-wall-top { border-bottom-style:dashed; }
.vp-wall-note { border-top-style:dashed; }
@media(max-width:900px) { .vp-patrons { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .vp-patrons { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:360px) { .vp-patrons { grid-template-columns:minmax(0,1fr); } }

/* Personal patron progress is hidden until requested again. */
.vp-page .vp-progress { display:none !important; }

/* Prominent Store / Patrons navigation and a compact invitation by supporters. */
.mn-store-links { width:min(100%,460px); margin:0 auto; display:flex; gap:6px; padding:6px; border:1px solid #334963; border-radius:14px; background:#151d29; box-shadow:0 8px 25px #0003; }
.mn-store-links .mn-store-tab { flex:1; min-height:46px; display:flex; align-items:center; justify-content:center; gap:10px; padding:8px 14px; border-radius:9px; color:#b7cce3; font-size:17px; text-transform:uppercase; transition:background .15s,color .15s; }
.mn-store-links .mn-store-tab:hover { color:#fff; background:#25364c; }
.mn-store-links .mn-store-tab[aria-current=page] { color:#fff; background:linear-gradient(110deg,#036fff,#328aff); box-shadow:0 4px 16px #036fff33; }
.mn-patron-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; min-height:25px; padding:2px 6px; font-size:12px; color:#9bd6ff; border:1px solid #3a5d82; border-radius:7px; background:#0e223a; }
.mn-store-tab[aria-current=page] .mn-patron-count { color:#fff; background:#ffffff20; border-color:#ffffff50; }
.mn-store-links .mn-store-tab:focus-visible,.mn-patron-invite a:focus-visible { outline:2px solid #8ed7ff; outline-offset:3px; }
.mn-patron-invite { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:20px; padding-top:18px; border-top:1px solid #2d3b4e; text-align:left; }
.mn-patron-invite p { margin:0; color:#aabed5; font-size:13px; line-height:1.6; }
.mn-patron-invite strong { color:#8ed7ff; font-weight:400; }
.mn-patron-invite a { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:10px 16px; border:1px solid #32659b; border-radius:9px; background:#15304d; color:#bce5ff; font-size:12px; text-decoration:none; white-space:nowrap; }
.mn-patron-invite a:hover { background:#1b4775; color:#fff; }
@media(max-width:600px) { .mn-store-links { max-width:420px; }.mn-store-links .mn-store-tab { font-size:15px; padding:8px 10px; }.mn-patron-invite { flex-direction:column; gap:12px; text-align:center; }.mn-patron-invite a { width:100%; } }

/* Main navigation sits at the top, directly under the charity announcement. */
.mn-announcement + .mn-store-links { margin:18px auto 0; width:min(calc(100% - 32px),460px); }
body > .mn-store-links { margin:18px auto 0; width:min(calc(100% - 32px),460px); }

/* Patron Wall link mirrors Login on the opposite side of the header. */
.mn-patrons-access { position:absolute; top:24px; left:16px; display:flex; align-items:center; }
@media(max-width:720px) { .mn-patrons-access { left:0; top:0; } }

/* Cleaner Patron Wall: restrained tier accents and unframed full-body skins. */
.vp-page .vp-patrons { gap:16px; }
.vp-page .vp-patron { position:relative; min-width:0; padding:16px 12px 14px; border:1px solid #303b4d; border-radius:14px; background:linear-gradient(150deg,#202a38,#191e27 75%); box-shadow:0 5px 16px #0002; overflow:hidden; transition:transform .18s,border-color .18s,box-shadow .18s; }
.vp-page .vp-patron.vp-bronze,.vp-page .vp-patron.vp-silver,.vp-page .vp-patron.vp-diamond { border-color:#303b4d; background:linear-gradient(150deg,#202a38,#191e27 75%); }
.vp-page .vp-patron::before { content:""; position:absolute; left:20px; right:20px; top:0; height:2px; border-radius:0 0 3px 3px; background:linear-gradient(90deg,transparent,var(--vp-accent),transparent); opacity:.8; }
.vp-page .vp-patron-tier { font-size:9px; letter-spacing:.02em; padding:7px 9px; background:color-mix(in srgb,var(--vp-accent) 8%,#141c27); border:1px solid color-mix(in srgb,var(--vp-accent) 23%,#263142); border-radius:7px; }
.vp-page .vp-skin-stage { position:relative; height:202px; margin:14px 0 8px; border:0; border-radius:0; background:radial-gradient(ellipse at 50% 72%,color-mix(in srgb,var(--vp-accent) 9%,transparent),transparent 65%); }
.vp-page .vp-skin-stage::after { content:""; position:absolute; bottom:5px; width:70px; height:7px; border-radius:50%; background:#0b101ba6; filter:blur(3px); }
.vp-page .vp-skin-stage img { position:relative; z-index:1; width:115px; height:190px; max-width:100%; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 7px 8px #0005); }
.vp-page .vp-skin-stage .vp-fallback { width:80px; height:80px; }
.vp-page .vp-patron h4 { width:100%; margin:0; padding-top:12px; border-top:1px solid #2c3646; color:#e9f1fb; font-size:13px; line-height:1.4; }
@media(hover:hover) { .vp-page .vp-patron:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--vp-accent) 48%,#303b4d); box-shadow:0 9px 22px #0003; } }
@media(max-width:600px) { .vp-page .vp-patrons { gap:12px; }.vp-page .vp-patron { padding:14px 10px 12px; }.vp-page .vp-skin-stage { height:190px; }.vp-page .vp-skin-stage img { width:110px; height:180px; } }
@media(prefers-reduced-motion:reduce) { .vp-page .vp-patron { transition:none; }.vp-page .vp-patron:hover { transform:none; } }

/* Logged-in player name sits immediately before Basket. */
.mn-account .mn-username { display:block; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:720px) { .mn-account .mn-username { max-width:96px; font-size:12px; }.mn-header-inner.mn-signed-in { padding-top:52px; } }

/* Player name uses the header link style and logs out on click. */
.mn-account a.mn-username { color:#fff; font-size:16px; text-decoration:none; }
.mn-account a.mn-username:hover { color:var(--mn-blue); }
@media(max-width:720px) { .mn-account a.mn-username { font-size:13px; } }

/* Keep resource benefits in one compact row; CMS strips flex inline styles. */
.mn-premium .mn-resource-benefits { display:flex; justify-content:space-between; gap:4px; white-space:nowrap; letter-spacing:0; }
.mn-premium .mn-resource-benefits span { font-size:11px; white-space:nowrap; }

/* Recent Supporters omit purchase dates and times. */
.mn-recent-supporters .mn-supporter-time { display: none !important; }

/* Consistent, compact Patron tier benefits. */
.vp-page .vp-tiers-clean { align-items:stretch; gap:18px; }
.vp-page .vp-tiers-clean .vp-tier { display:flex; flex-direction:column; min-width:0; padding:21px 22px 19px; border-color:#303e51; border-radius:16px; background:linear-gradient(145deg,#202a38,#191f29 85%); box-shadow:0 6px 18px #0002; }
.vp-tiers-clean .vp-tier-heading { padding-bottom:15px; border-bottom:1px solid #324052; text-align:center; }
.vp-page .vp-tiers-clean h3 { margin:0 0 10px; font-size:18px; line-height:1.4; }
.vp-page .vp-tiers-clean .vp-tier-price { display:block; margin:0; color:#edf4ff; font-size:23px; line-height:1.3; font-weight:400; }
.vp-page .vp-tiers-clean .vp-benefits { display:grid; gap:10px; min-height:98px; list-style:none; margin:16px 0 18px; padding:0; text-align:left; font-family:Arial,Helvetica,sans-serif; font-size:14px; line-height:1.55; color:#c3cedd; }
.vp-page .vp-tiers-clean .vp-benefits li { position:relative; margin:0; padding:0 0 0 20px; }
.vp-tiers-clean .vp-benefits li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--vp-accent); font-size:13px; font-weight:700; }
.vp-tiers-clean .vp-benefit-detail { color:#96a7bd; font-size:12px; white-space:nowrap; }
.vp-tiers-clean .vp-tier-footer { margin-top:0; text-align:left; font-family:Arial,Helvetica,sans-serif; }
.vp-page .vp-tiers-clean .vp-more { margin:0; padding-top:12px; border-top:1px solid #2c3849; color:#8496af; font-size:12px; line-height:1.5; }
.vp-tiers-clean .vp-board-note { margin-top:12px; padding:9px 11px; border:1px solid #31546b; border-radius:8px; background:#162a3a; }
.vp-tiers-clean .vp-board-title { display:block; margin:0 0 3px; color:#a9e6ff; font-size:13px; font-weight:600; line-height:1.4; }
.vp-tiers-clean .vp-board-detail { display:block; color:#95adbf; font-size:11px; line-height:1.5; }
@media(max-width:800px) and (min-width:601px) { .vp-page .vp-tiers-clean { gap:12px; }.vp-page .vp-tiers-clean .vp-tier { padding:19px 15px 17px; }.vp-page .vp-tiers-clean h3 { font-size:16px; }.vp-page .vp-tiers-clean .vp-benefits { font-size:13px; } }
@media(max-width:600px) { .vp-page .vp-tiers-clean { gap:14px; }.vp-page .vp-tiers-clean .vp-tier { padding:20px; }.vp-tiers-clean .vp-tier-heading { text-align:left; }.vp-page .vp-tiers-clean .vp-benefits { min-height:0; margin:17px 0 20px; }.vp-page .vp-tiers-clean h3 { font-size:18px; } }
