:root {
  --page: #050d1c;
  --panel: #0a1730;
  --line: #78c8ff;
  --text: #eef7ff;
  --muted: #9db6d6;
  --brand: #3fb6ff;
  --brand-text: #04223f;
  --buy: #ffc53d;
  --buy-text: #3b2400;
  --discord: #5865f2;
  --sale: #ff5d7a;
  --online: #3ddc84;
  --price: #ffffff;
  --danger: #e5484d;
  --overlay: #050d1c;
  --footer-top: #5bbf3f;
  --footer-bottom: #07101f;
  --popup: #0f2142;
  --tile-1: #39a8ff;
  --tile-2: #ffc53d;
  --tile-3: #39d47a;
  --tile-4: #ff6f86;
  --tile-5: #23d3d0;
  --tile-6: #7f8cff;
  --rarity-common: #9fb3c8;
  --rarity-rare: #3fa9ff;
  --rarity-epic: #9a63ff;
  --rarity-legendary: #ffb52e;
  --rarity-mythic: #ff5f7e;

  --brand-hi: #8cd3ff; --brand-lo: #37a0e0; --brand-edge: #205b80; --brand-deep: #2f89bf;
  --buy-hi: #ffdc8b; --buy-lo: #e0ad36; --buy-edge: #80631f; --buy-deep: #bf942e;
  --discord-hi: #9ba3f7; --discord-lo: #4d59d5; --discord-edge: #2c3379; --discord-deep: #424cb6;
  --sale-hi: #ff9eaf; --sale-lo: #e0526b; --sale-edge: #802f3d; --sale-deep: #bf465c;
  --online-hi: #8beab5; --online-lo: #36c274; --online-edge: #1f6e42; --online-deep: #2ea563;
  --danger-hi: #ef9194; --danger-lo: #ca3f44; --danger-edge: #732427; --danger-deep: #ac363a;
  --tile-1-hi: #88cbff; --tile-1-lo: #3294e0; --tile-1-edge: #1d5480; --tile-1-deep: #2b7ebf;
  --tile-2-hi: #ffdc8b; --tile-2-lo: #e0ad36; --tile-2-edge: #80631f; --tile-2-deep: #bf942e;
  --tile-3-hi: #88e5af; --tile-3-lo: #32bb6b; --tile-3-edge: #1d6a3d; --tile-3-deep: #2b9f5c;
  --tile-4-hi: #ffa9b6; --tile-4-lo: #e06276; --tile-4-edge: #803843; --tile-4-deep: #bf5365;
  --tile-5-hi: #7be5e3; --tile-5-lo: #1fbab7; --tile-5-edge: #126a68; --tile-5-deep: #1a9e9c;
  --tile-6-hi: #b2baff; --tile-6-lo: #707be0; --tile-6-edge: #404680; --tile-6-deep: #5f69bf;
  --rarity-common-hi: #c5d1de; --rarity-common-lo: #8c9eb0; --rarity-common-edge: #505a64; --rarity-common-deep: #778696;
  --rarity-rare-hi: #8ccbff; --rarity-rare-lo: #3795e0; --rarity-rare-edge: #205580; --rarity-rare-deep: #2f7fbf;
  --rarity-epic-hi: #c2a1ff; --rarity-epic-lo: #8857e0; --rarity-epic-edge: #4d3280; --rarity-epic-deep: #744abf;
  --rarity-legendary-hi: #ffd382; --rarity-legendary-lo: #e09f28; --rarity-legendary-edge: #805b17; --rarity-legendary-deep: #bf8823;
  --rarity-mythic-hi: #ff9fb2; --rarity-mythic-lo: #e0546f; --rarity-mythic-edge: #80303f; --rarity-mythic-deep: #bf475f;
  --panel-glass: rgba(10, 23, 48, .82);
  --line-soft: rgba(120, 200, 255, .18);
  --line-faint: rgba(120, 200, 255, .08);
  --panel-hi: #1d3560;
  --abyss: #030914;

  --font-heading: "Rubik", system-ui, sans-serif;
  --font-body: "Rubik", system-ui, sans-serif;
  --radius-tiles: 18px;
  --radius-cards: 16px;
  --radius-panels: 18px;
  --radius-buttons: 12px;
  --radius-popups: 18px;
  --radius-sm: 10px;
  --depth: 4px;
  --backdrop-blur: 4px;
  --backdrop-darkness: .55;
  --glow: 1;

  --shadow: 0 6px 0 var(--abyss), 0 20px 40px rgba(0, 0, 0, .3);
  --wrap: 1120px;
  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
}

@supports (color: color-mix(in srgb, red, blue)) {
  :root, body.mc-season-halloween, body.mc-season-winter, body.mc-season-blackfriday {
    --brand-hi: color-mix(in srgb, var(--brand), white 40%); --brand-lo: color-mix(in srgb, var(--brand), black 12%); --brand-edge: color-mix(in srgb, var(--brand), black 50%); --brand-deep: color-mix(in srgb, var(--brand), black 25%);
    --buy-hi: color-mix(in srgb, var(--buy), white 40%); --buy-lo: color-mix(in srgb, var(--buy), black 12%); --buy-edge: color-mix(in srgb, var(--buy), black 50%); --buy-deep: color-mix(in srgb, var(--buy), black 25%);
    --discord-hi: color-mix(in srgb, var(--discord), white 40%); --discord-lo: color-mix(in srgb, var(--discord), black 12%); --discord-edge: color-mix(in srgb, var(--discord), black 50%); --discord-deep: color-mix(in srgb, var(--discord), black 25%);
    --sale-hi: color-mix(in srgb, var(--sale), white 40%); --sale-lo: color-mix(in srgb, var(--sale), black 12%); --sale-edge: color-mix(in srgb, var(--sale), black 50%); --sale-deep: color-mix(in srgb, var(--sale), black 25%);
    --online-hi: color-mix(in srgb, var(--online), white 40%); --online-lo: color-mix(in srgb, var(--online), black 12%); --online-edge: color-mix(in srgb, var(--online), black 50%); --online-deep: color-mix(in srgb, var(--online), black 25%);
    --danger-hi: color-mix(in srgb, var(--danger), white 40%); --danger-lo: color-mix(in srgb, var(--danger), black 12%); --danger-edge: color-mix(in srgb, var(--danger), black 50%); --danger-deep: color-mix(in srgb, var(--danger), black 25%);
    --tile-1-hi: color-mix(in srgb, var(--tile-1), white 40%); --tile-1-lo: color-mix(in srgb, var(--tile-1), black 12%); --tile-1-edge: color-mix(in srgb, var(--tile-1), black 50%); --tile-1-deep: color-mix(in srgb, var(--tile-1), black 25%);
    --tile-2-hi: color-mix(in srgb, var(--tile-2), white 40%); --tile-2-lo: color-mix(in srgb, var(--tile-2), black 12%); --tile-2-edge: color-mix(in srgb, var(--tile-2), black 50%); --tile-2-deep: color-mix(in srgb, var(--tile-2), black 25%);
    --tile-3-hi: color-mix(in srgb, var(--tile-3), white 40%); --tile-3-lo: color-mix(in srgb, var(--tile-3), black 12%); --tile-3-edge: color-mix(in srgb, var(--tile-3), black 50%); --tile-3-deep: color-mix(in srgb, var(--tile-3), black 25%);
    --tile-4-hi: color-mix(in srgb, var(--tile-4), white 40%); --tile-4-lo: color-mix(in srgb, var(--tile-4), black 12%); --tile-4-edge: color-mix(in srgb, var(--tile-4), black 50%); --tile-4-deep: color-mix(in srgb, var(--tile-4), black 25%);
    --tile-5-hi: color-mix(in srgb, var(--tile-5), white 40%); --tile-5-lo: color-mix(in srgb, var(--tile-5), black 12%); --tile-5-edge: color-mix(in srgb, var(--tile-5), black 50%); --tile-5-deep: color-mix(in srgb, var(--tile-5), black 25%);
    --tile-6-hi: color-mix(in srgb, var(--tile-6), white 40%); --tile-6-lo: color-mix(in srgb, var(--tile-6), black 12%); --tile-6-edge: color-mix(in srgb, var(--tile-6), black 50%); --tile-6-deep: color-mix(in srgb, var(--tile-6), black 25%);
    --rarity-common-hi: color-mix(in srgb, var(--rarity-common), white 40%); --rarity-common-lo: color-mix(in srgb, var(--rarity-common), black 12%); --rarity-common-edge: color-mix(in srgb, var(--rarity-common), black 50%); --rarity-common-deep: color-mix(in srgb, var(--rarity-common), black 25%);
    --rarity-rare-hi: color-mix(in srgb, var(--rarity-rare), white 40%); --rarity-rare-lo: color-mix(in srgb, var(--rarity-rare), black 12%); --rarity-rare-edge: color-mix(in srgb, var(--rarity-rare), black 50%); --rarity-rare-deep: color-mix(in srgb, var(--rarity-rare), black 25%);
    --rarity-epic-hi: color-mix(in srgb, var(--rarity-epic), white 40%); --rarity-epic-lo: color-mix(in srgb, var(--rarity-epic), black 12%); --rarity-epic-edge: color-mix(in srgb, var(--rarity-epic), black 50%); --rarity-epic-deep: color-mix(in srgb, var(--rarity-epic), black 25%);
    --rarity-legendary-hi: color-mix(in srgb, var(--rarity-legendary), white 40%); --rarity-legendary-lo: color-mix(in srgb, var(--rarity-legendary), black 12%); --rarity-legendary-edge: color-mix(in srgb, var(--rarity-legendary), black 50%); --rarity-legendary-deep: color-mix(in srgb, var(--rarity-legendary), black 25%);
    --rarity-mythic-hi: color-mix(in srgb, var(--rarity-mythic), white 40%); --rarity-mythic-lo: color-mix(in srgb, var(--rarity-mythic), black 12%); --rarity-mythic-edge: color-mix(in srgb, var(--rarity-mythic), black 50%); --rarity-mythic-deep: color-mix(in srgb, var(--rarity-mythic), black 25%);
    --panel-glass: color-mix(in srgb, var(--panel) 82%, transparent);
    --line-soft: color-mix(in srgb, var(--line) 18%, transparent);
    --line-faint: color-mix(in srgb, var(--line) 8%, transparent);
    --panel-hi: color-mix(in srgb, var(--panel), white 10%);
    --abyss: color-mix(in srgb, var(--page), black 40%);
  }
}

body.mc-glow-off { --glow: 0; }
body.mc-glow-strong { --glow: 1.8; }

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--page);
  color: var(--text);
  font: 500 15px/1.55 var(--font-body);
  min-height: 100vh;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--brand-hi); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, .mc-display { font-family: var(--font-heading); font-weight: 900; line-height: 1.1; margin: 0 0 .5em; letter-spacing: .01em; text-transform: uppercase; text-wrap: balance; }
body.mc-case-normal h1, body.mc-case-normal h2, body.mc-case-normal h3, body.mc-case-normal h4, body.mc-case-normal .mc-display { text-transform: none; }
h1 { font-size: clamp(28px, 4vw, 40px); }
h2 { font-size: clamp(22px, 3vw, 28px); }
h3 { font-size: 19px; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--buy); outline-offset: 3px; }
::selection { background: var(--brand); color: var(--brand-text); }
.mc-sr, .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[hidden] { display: none !important; }

/* Layout */
.mc-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter-r); }
.mc-main { position: relative; z-index: 1; padding-block: 24px 64px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.mc-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.mc-section__head { display: flex; align-items: end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.mc-section__head h2, .mc-section__head h1 { margin: 0; text-shadow: 0 3px 0 var(--abyss); }
.mc-eyebrow { display: block; font: 800 11px/1 var(--font-body); letter-spacing: .24em; text-transform: uppercase; color: var(--brand-hi); margin-bottom: 8px; }
.mc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.mc-cols-3 .mc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mc-muted { color: var(--muted); }

/* Panel */
.mc-panel, .panel {
  background: var(--panel-glass);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-panels);
  box-shadow: var(--shadow);
  padding: 20px;
}
.panel-heading { font: 900 18px/1.2 var(--font-heading); text-transform: uppercase; margin: 0 0 12px; }
.panel-body { padding: 0; }
.mc-notch { clip-path: polygon(0 10px, 10px 10px, 10px 0, calc(100% - 10px) 0, calc(100% - 10px) 10px, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 10px calc(100% - 10px), 0 calc(100% - 10px)); }

/* 3D buttons */
.mc-btn, .btn {
  --b-hi: var(--panel-hi);
  --b-base: var(--popup);
  --b-lo: var(--panel);
  --b-edge: var(--abyss);
  --b-ink: var(--text);
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: var(--radius-buttons);
  background: linear-gradient(180deg, var(--b-hi), var(--b-base) 52%, var(--b-lo));
  color: var(--b-ink);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -3px 0 rgba(0, 0, 0, .14), 0 var(--depth) 0 var(--b-edge), 0 calc(var(--depth) * 2 + 2px) 18px rgba(0, 0, 0, .35);
  font: 800 14px/1.1 var(--font-heading);
  text-transform: uppercase;
  letter-spacing: .03em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, filter .15s ease;
  -webkit-tap-highlight-color: transparent;
}
body.mc-case-normal .mc-btn, body.mc-case-normal .btn { text-transform: none; }
.mc-btn:hover, .btn:hover { transform: translateY(-2px); filter: brightness(1.05); text-decoration: none; color: var(--b-ink); }
.mc-btn:active, .btn:active { transform: translateY(var(--depth)); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 1px 0 var(--b-edge); }
.mc-btn[disabled], .btn[disabled], .btn.disabled, .mc-btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; }
.mc-btn--buy, .btn-success, .btn-primary { --b-hi: var(--buy-hi); --b-base: var(--buy); --b-lo: var(--buy-lo); --b-edge: var(--buy-edge); --b-ink: var(--buy-text); }
.mc-btn--sky, .btn-info { --b-hi: var(--brand-hi); --b-base: var(--brand); --b-lo: var(--brand-lo); --b-edge: var(--brand-edge); --b-ink: var(--brand-text); }
.mc-btn--discord { --b-hi: var(--discord-hi); --b-base: var(--discord); --b-lo: var(--discord-lo); --b-edge: var(--discord-edge); --b-ink: #fff; text-shadow: 0 2px 0 var(--discord-edge); }
.mc-btn--danger, .btn-danger { --b-hi: var(--danger); --b-base: var(--danger-deep); --b-lo: var(--danger-deep); --b-edge: var(--danger-edge); --b-ink: #fff; text-shadow: 0 1px 0 var(--danger-edge); }
.mc-btn--dark { --b-hi: var(--panel-hi); --b-base: var(--popup); --b-lo: var(--panel); --b-edge: var(--abyss); --b-ink: var(--text); }
.mc-btn--ghost, .btn-default, .btn-link { background: transparent; box-shadow: inset 0 0 0 2px var(--line-soft); --b-ink: var(--text); }
.mc-btn--ghost:active, .btn-default:active, .btn-link:active { transform: translateY(1px); box-shadow: inset 0 0 0 2px var(--line-soft); }
.mc-btn--sm, .btn-sm, .btn-xs { min-height: 36px; padding: 7px 12px; font-size: 12px; }
.mc-btn--block, .btn-block { display: flex; width: 100%; }
.mc-btn--round, .mc-iconbtn { min-width: 44px; width: 44px; padding: 0; font-size: 16px; }

/* Bubbles, badges, chips and prices */
.mc-bubble { position: absolute; top: -10px; right: -8px; background: #fff; color: var(--panel); font: 800 11px/1 var(--font-body); padding: 4px 7px; border-radius: 99px; box-shadow: 0 3px 0 rgba(0, 0, 0, .35); white-space: nowrap; text-shadow: none; }
.mc-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--buy); color: var(--buy-text);
  border-radius: 6px;
  box-shadow: 0 2px 0 var(--buy-edge);
  font: 900 10px/1 var(--font-body); letter-spacing: .1em; text-transform: uppercase;
  padding: 5px 8px;
}
.mc-badge--sale { background: var(--sale-deep); color: #fff; box-shadow: 0 2px 0 var(--sale-edge); }
.mc-badge--cyan { background: var(--brand); color: var(--brand-text); box-shadow: 0 2px 0 var(--brand-edge); }
.mc-badge--gold { background: var(--buy); color: var(--buy-text); }
.mc-chip { display: inline-block; background: #fff; color: var(--panel); border-radius: 99px; padding: 5px 9px; font: 800 11px/1 var(--font-body); box-shadow: 0 3px 0 rgba(0, 0, 0, .3); }
a.mc-chip:hover { text-decoration: none; filter: brightness(.95); }
.mc-price-old { color: var(--muted); font-weight: 600; text-decoration: line-through; margin-right: 6px; }
.mc-price-now { font: 900 20px/1 var(--font-heading); color: var(--price); }
.mc-price-cur { font-size: .65em; color: var(--muted); margin-left: 2px; }

/* Package card */
.mc-card, .mc-popup, .mc-upsell { --r1: var(--rarity-common); --r2: var(--rarity-common-deep); --r-edge: var(--rarity-common-edge); }
.mc-card--rare, .mc-popup--rare, .mc-upsell--rare { --r1: var(--rarity-rare); --r2: var(--rarity-rare-deep); --r-edge: var(--rarity-rare-edge); }
.mc-card--epic, .mc-popup--epic, .mc-upsell--epic { --r1: var(--rarity-epic); --r2: var(--rarity-epic-deep); --r-edge: var(--rarity-epic-edge); }
.mc-card--legendary, .mc-popup--legendary, .mc-upsell--legendary { --r1: var(--rarity-legendary); --r2: var(--rarity-legendary-deep); --r-edge: var(--rarity-legendary-edge); }
.mc-card--mythic, .mc-popup--mythic, .mc-upsell--mythic { --r1: var(--rarity-mythic); --r2: var(--rarity-mythic-deep); --r-edge: var(--rarity-mythic-edge); }
.mc-card {
  position: relative; min-width: 0;
  display: flex; flex-direction: column;
  border-radius: var(--radius-cards);
  overflow: hidden;
  color: #fff;
  background: linear-gradient(180deg, var(--r1), var(--r2));
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 6px 0 var(--r-edge), 0 16px 28px rgba(0, 0, 0, .35);
  transition: transform .15s ease;
}
.mc-card:hover { transform: translateY(-5px); }
.mc-card__rays, .mc-popup__head .mc-card__rays {
  position: absolute; inset: 0; pointer-events: none;
  background: repeating-conic-gradient(from 0deg at 50% 38%, rgba(255, 255, 255, calc(.06 + var(--glow) * .06)) 0 9deg, transparent 9deg 24deg);
  -webkit-mask-image: radial-gradient(circle at 50% 38%, #000 20%, transparent 70%);
  mask-image: radial-gradient(circle at 50% 38%, #000 20%, transparent 70%);
}
.mc-card .mc-burst { position: absolute; z-index: 2; top: 8px; right: 8px; }
.mc-flag {
  position: absolute; z-index: 2; left: 0; top: 36px; max-width: calc(100% - 64px);
  background: var(--buy); color: var(--buy-text);
  border-radius: 0 6px 6px 0; box-shadow: 0 3px 0 var(--buy-edge);
  font: 900 10px/1.15 var(--font-heading); letter-spacing: .08em; text-transform: uppercase;
  padding: 5px 10px; overflow-wrap: anywhere;
}
.mc-card__rarity {
  position: relative; z-index: 1; align-self: flex-start; margin: 10px 10px 0;
  background: rgba(4, 12, 28, .55); color: #fff;
  border-radius: 6px; padding: 4px 7px;
  font: 900 10px/1 var(--font-heading); letter-spacing: .12em; text-transform: uppercase;
}
.mc-card__media { position: relative; display: grid; place-items: center; height: 140px; padding: 10px; }
.mc-card__media img { max-height: 116px; max-width: 80%; width: auto; filter: drop-shadow(0 10px 12px rgba(0, 0, 0, .45)); transition: transform .2s; }
.mc-card:hover .mc-card__media img { transform: scale(1.07); }
.mc-card__media .fa-cube { font-size: 64px; color: rgba(255, 255, 255, .85); }
.mc-card__foot { position: relative; flex: 1 0 auto; display: flex; flex-direction: column; gap: 6px; padding: 10px 12px 12px; background: rgba(4, 12, 28, .72); text-align: left; }
.mc-card__name { font: 800 15px/1.2 var(--font-heading); margin: 0; min-height: 2.4em; color: #fff; overflow-wrap: anywhere; }
.mc-card__desc { color: var(--muted); font-size: 13px; margin: 0; }
.mc-card__price { margin: 0; }
.mc-card .mc-price-now { font-size: 18px; }
.mc-card__actions { display: grid; gap: 8px; margin-top: auto; padding-top: 4px; }
.mc-card__more { font-size: 13px; color: var(--muted); background: none; border: 0; cursor: pointer; font-weight: 700; padding: 4px; text-align: center; }
.mc-card__more:hover { color: var(--brand-hi); }
.mc-card__reason { font-size: 14px; color: var(--sale-hi); font-weight: 800; margin: 0; }
.mc-sizes { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
.mc-size {
  position: relative; display: grid; gap: 3px; justify-items: center; padding: 7px 2px 6px; cursor: pointer;
  border: 2px solid var(--line-soft); border-radius: var(--radius-buttons); background: rgba(4, 12, 28, .5); color: var(--text);
  font: 900 14px/1 var(--font-heading);
}
.mc-size small { font: 700 11px/1 var(--font-body); color: var(--muted); }
.mc-size:hover { border-color: var(--buy-lo); }
.mc-size[aria-checked="true"] { border-color: var(--buy); background: color-mix(in srgb, var(--buy) 16%, rgba(4, 12, 28, .6)); box-shadow: 0 0 calc(var(--glow) * 14px) color-mix(in srgb, var(--buy) 45%, transparent); }
.mc-size:focus-visible { outline: 2px solid var(--brand-hi); outline-offset: 2px; }
.mc-size__best {
  position: absolute; top: -9px; left: 50%; transform: translateX(-50%); white-space: nowrap;
  background: var(--buy); color: var(--buy-text); border-radius: 99px; padding: 3px 6px;
  font: 900 8px/1 var(--font-heading); letter-spacing: .06em; text-transform: uppercase;
}
.mc-per { margin: 0; font-size: 12px; color: var(--muted); }
.mc-per b { color: var(--online-hi); }
.mc-upgrade { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px dashed var(--brand); border-radius: 10px; font-size: 12px; }
.mc-upgrade > span { flex: 1; min-width: 0; }
.mc-upgrade > i { color: var(--brand); }
.mc-list { display: grid; gap: 12px; }
.mc-list .mc-card { flex-direction: row; align-items: stretch; }
.mc-list .mc-card__rays, .mc-list .mc-card__rarity { display: none; }
.mc-list .mc-card__media { flex: 0 0 104px; height: auto; min-height: 88px; }
.mc-list .mc-card__media img { max-height: 68px; }
.mc-list .mc-card__foot { flex: 1; min-width: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 14px; }
.mc-list .mc-card__foot > * { grid-column: 1; }
.mc-list .mc-card__foot > .mc-card__actions { grid-column: 2; grid-row: 1 / span 4; margin: 0; }
.mc-list .mc-card__name { min-height: 0; }
.mc-list .mc-flag { top: 8px; max-width: 96px; }
body.mc-best-plain #mc-best .mc-card { background: var(--panel-glass); border: 1px solid var(--line-soft); box-shadow: var(--shadow); }
body.mc-best-plain #mc-best .mc-card__rays, body.mc-best-plain #mc-best .mc-card__rarity { display: none; }
body.mc-best-plain #mc-best .mc-card__foot { background: none; }

/* Category page */
.mc-back { justify-self: start; color: var(--muted); font-weight: 700; font-size: 14px; }
.mc-back:hover { color: var(--brand-hi); }
.mc-catbanner {
  --c1: var(--brand); --c2: var(--brand-deep);
  position: relative; display: flex; align-items: center; gap: 20px;
  min-height: 120px; padding: 20px 24px;
  border-radius: var(--radius-panels); border: 1px solid var(--line-soft);
  overflow: hidden;
  background: radial-gradient(circle at 85% 50%, rgba(255, 255, 255, calc(var(--glow) * .2)), transparent 45%), linear-gradient(120deg, var(--panel-hi), var(--panel));
  box-shadow: var(--shadow);
}
@supports (color: color-mix(in srgb, red, blue)) {
  .mc-catbanner { background: radial-gradient(circle at 85% 50%, rgba(255, 255, 255, calc(var(--glow) * .2)), transparent 45%), linear-gradient(120deg, color-mix(in srgb, var(--c1) 55%, var(--panel)), color-mix(in srgb, var(--c2, var(--c1)) 30%, var(--panel))); }
}
.mc-catbanner__text { position: relative; min-width: 0; }
.mc-catbanner__title { margin: 0; font-size: clamp(28px, 5vw, 44px); line-height: 1.05; color: #fff; overflow-wrap: anywhere; text-shadow: 0 4px 0 var(--abyss), -2px -2px 0 var(--abyss), 2px -2px 0 var(--abyss), -2px 2px 0 var(--abyss), 2px 2px 0 var(--abyss); }
.mc-catbanner__sub { margin: 6px 0 0; font-weight: 700; color: var(--text); }
.mc-catbanner__art { order: 2; margin-left: auto; height: 110px; width: auto; flex: none; filter: drop-shadow(0 0 18px rgba(255, 255, 255, calc(var(--glow) * .35))) drop-shadow(0 10px 12px rgba(0, 0, 0, .45)); }
.mc-category__desc > :last-child { margin-bottom: 0; }
.mc-tiers .mc-card.is-current { box-shadow: 0 0 0 3px var(--buy), inset 0 2px 0 rgba(255, 255, 255, .35), 0 6px 0 var(--r-edge), 0 16px 28px rgba(0, 0, 0, .35); }

/* Tebex page messages */
.notification:empty { display: none; }
.mc-flash { margin: 0; border-radius: var(--radius-sm); padding: 12px 16px; font-weight: 700; box-shadow: 0 4px 0 var(--abyss); }
.mc-flash--error { background: var(--danger-deep); color: #fff; }
.mc-flash--ok { background: var(--online-edge); color: #fff; }

/* Basket and checkout */
.mc-checkout__total { margin: 0; font: 900 26px/1 var(--font-heading); color: var(--price); }
.mc-checkout__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.mc-checkout__main, .mc-checkout__side { display: grid; gap: 20px; min-width: 0; }
.mc-checkout h2 { font-size: 20px; }
.mc-checkout__empty { display: grid; justify-items: center; gap: 12px; }
.mc-basket__lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.mc-basket__line { display: grid; grid-template-columns: minmax(0, 1fr) auto 64px auto; gap: 12px; align-items: center; padding: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line-faint); border-radius: var(--radius-sm); }
.mc-basket__info { display: grid; gap: 2px; min-width: 0; }
.mc-basket__name { overflow-wrap: anywhere; font-weight: 700; }
.mc-basket__gift, .mc-basket__option { color: var(--muted); font-size: 13px; }
.mc-basket__price { font-weight: 900; white-space: nowrap; color: var(--price); }
.mc-basket__qty { margin: 0; }
.mc-basket__qty input { text-align: center; padding-inline: 6px; }
.mc-basket__actions { display: flex; gap: 6px; }
.mc-basket__update { margin-top: 12px; }
.mc-coupons__list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.mc-coupons__list li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mc-checkout__line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 12px; font-weight: 700; }
.mc-checkout__line strong { font: 900 24px/1 var(--font-heading); color: var(--price); }
.mc-gateways { display: grid; gap: 6px; }
.mc-gateways img { max-height: 24px; width: auto; }

/* Login */
.mc-login__box { width: 100%; max-width: 520px; justify-self: center; display: grid; justify-items: center; gap: 14px; text-align: center; }
.mc-login__box h1, .mc-login__box > p { margin: 0; }
.mc-login__avatar { width: 120px; height: 120px; image-rendering: pixelated; background: var(--abyss); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); box-shadow: var(--shadow); }
.mc-platform-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
.mc-platform-toggle .mc-btn[aria-pressed="true"] { --b-hi: var(--brand-hi); --b-base: var(--brand); --b-lo: var(--brand-lo); --b-edge: var(--brand-edge); --b-ink: var(--brand-text); }
.mc-platform-toggle .mc-btn[aria-pressed="false"] { --b-hi: var(--panel-hi); --b-base: var(--popup); --b-lo: var(--panel); --b-edge: var(--abyss); --b-ink: var(--text); }
.mc-login__help { background: none; border: 0; padding: 4px; color: var(--brand-hi); font-weight: 700; cursor: pointer; }
.mc-login__help:hover { text-decoration: underline; }
.mc-login__form { width: 100%; }
.mc-login__form form { margin: 0; }
.mc-login__form .input-group { flex-wrap: wrap; }
.mc-login__form .input-group .form-control { flex: 1 1 200px; }
.mc-login { max-width: 560px; margin: 0 auto; text-align: center; }
.mc-login__head { display: grid; justify-items: center; gap: 12px; margin-bottom: 16px; }
.mc-login__skin { width: 112px; height: 112px; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); background: var(--abyss); image-rendering: pixelated; box-shadow: var(--shadow); }
.mc-login form { text-align: left; }

/* Sidebar modules */
.mc-modules { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.mc-module h3 { margin-bottom: 12px; }
.mc-status { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.mc-status__dot { width: 14px; height: 14px; flex: none; border-radius: 50%; background: var(--danger); }
.mc-status__dot.is-online { background: var(--online); box-shadow: 0 0 0 4px rgba(61, 220, 132, .2), 0 0 10px var(--online); }
.mc-status__info { display: grid; }
.mc-status__info small { color: var(--muted); }
.mc-progress { margin: 0; }
.mc-xp__lvl { margin-bottom: 6px; text-align: center; font: 900 22px/1 var(--font-heading); color: var(--online-hi); text-shadow: -2px -2px 0 #0b1f00, 2px -2px 0 #0b1f00, -2px 2px 0 #0b1f00, 2px 2px 0 #0b1f00, 0 3px 0 #0b1f00; }
.mc-xp__bar { position: relative; height: 16px; overflow: hidden; background: #1b1b1b; border: 2px solid #000; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .08); }
.mc-xp__bar > span { position: absolute; inset: 0 auto 0 0; min-width: 6px; background: linear-gradient(180deg, var(--online-hi) 0 30%, var(--online) 30% 70%, var(--online-deep) 70%); transition: width .8s ease; }
.mc-xp__bar::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 calc(5.55% - 2px), #000 calc(5.55% - 2px) 5.55%); pointer-events: none; }
.mc-progress.is-striped .mc-xp__bar > span { background-image: linear-gradient(45deg, rgba(255, 255, 255, .25) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .25) 50%, rgba(255, 255, 255, .25) 75%, transparent 75%), linear-gradient(180deg, var(--online-hi) 0 30%, var(--online) 30% 70%, var(--online-deep) 70%); background-size: 24px 24px, auto; }
.mc-progress.is-animated .mc-xp__bar > span { animation: mc-stripes 1s linear infinite; }
.mc-xp__caption { margin: 0; color: var(--muted); font: 800 11px/1.3 var(--font-heading); letter-spacing: .14em; text-transform: uppercase; }
@keyframes mc-stripes { to { background-position: 24px 0; } }
.mc-progress__stats { margin: 8px 0 0; }
.mc-goal { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.mc-goal__image { width: 64px; height: auto; flex: none; border-radius: var(--radius-sm); }
.mc-goal__info { min-width: 0; }
.mc-goal__desc > :last-child, .mc-module__text > :last-child { margin-bottom: 0; }
.mc-module--giftcard .mc-flash, .mc-giftcard__balance { margin: 12px 0 0; }
.mc-giftcard__balance strong { font: 900 20px/1 var(--font-heading); color: var(--price); }
.mc-module--featured .mc-card { box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 4px 0 var(--r-edge); }

/* CMS page */
.mc-cms h1 { margin: 0; text-shadow: 0 3px 0 var(--abyss); }
.mc-cms__body { line-height: 1.65; overflow-wrap: anywhere; }
.mc-cms__body > * { max-width: 72ch; }
.mc-cms__body a { color: var(--brand-hi); text-decoration: underline; }
.mc-cms__body table { width: 100%; max-width: 100%; border-collapse: collapse; margin: 0 0 1em; display: block; overflow-x: auto; }
.mc-cms__body th, .mc-cms__body td { padding: 8px 10px; border: 1px solid var(--line-soft); text-align: left; }
.mc-cms__body th { background: var(--popup); }
.mc-cms__body blockquote { margin: 0 0 1em; padding: 10px 14px; border-left: 4px solid var(--brand); background: rgba(255, 255, 255, .03); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.mc-cms__body > :first-child { margin-top: 0; }
.mc-cms__body > :last-child { margin-bottom: 0; }
.mc-cms__body img { max-width: 100%; height: auto; }
.mc-cms__body ul, .mc-cms__body ol { padding-left: 1.4em; }

/* Package options and tier quote */
.mc-form-panel { width: 100%; max-width: 640px; justify-self: center; }
.mc-form { display: grid; gap: 16px; }
.mc-field { display: grid; gap: 6px; margin: 0; }
.mc-field > span:first-child { font-weight: 700; }
.mc-form__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.mc-form__actions .mc-btn { flex: 1 1 160px; }

/* Countdown */
.mc-countdown { display: inline-flex; gap: 6px; font: 900 16px/1 var(--font-heading); }
.mc-countdown span { background: rgba(5, 13, 28, .6); border: 1px solid var(--line-soft); color: var(--text); border-radius: var(--radius-sm); padding: 7px 8px; min-width: 2.6em; text-align: center; font-variant-numeric: tabular-nums; box-shadow: 0 3px 0 var(--abyss); }

/* Dropdowns (Bootstrap markup from site.js) */
.dropdown { position: relative; display: inline-block; }
.dropdown-menu {
  display: none; position: absolute; top: calc(100% + 10px); right: 0; z-index: 30;
  min-width: 140px; margin: 0; padding: 6px; list-style: none;
  background: var(--popup); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); box-shadow: var(--shadow);
}
.open > .dropdown-menu, .dropdown-menu.show { display: block; }
.dropdown-menu a { display: block; padding: 8px 10px; border-radius: 8px; color: var(--text); font-weight: 700; }
.dropdown-menu a:hover { background: var(--panel-hi); text-decoration: none; }

/* Perk list (package descriptions) */
.mc-perks { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 8px; }
.mc-perks li { display: flex; gap: 10px; align-items: flex-start; font-weight: 700; }
.mc-perks li::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: 2px; border-radius: 6px; background: var(--online) center/12px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6l3 3 7-7' fill='none' stroke='%23053d1f' stroke-width='2.5'/%3E%3C/svg%3E"); }
@keyframes mc-bob { 50% { transform: translateY(-6px); } }

/* Home: sale drop */
.mc-burst { display: grid; place-items: center; text-align: center; width: 46px; height: 46px; background: var(--sale-deep); color: #fff; font: 900 13px/1 var(--font-heading); clip-path: polygon(50% 0, 61% 18%, 82% 10%, 80% 32%, 100% 40%, 85% 56%, 96% 76%, 74% 78%, 68% 100%, 50% 86%, 32% 100%, 26% 78%, 4% 76%, 15% 56%, 0 40%, 20% 32%, 18% 10%, 39% 18%); transform: rotate(10deg); }
.mc-burst small { display: block; font-size: .55em; letter-spacing: .08em; text-transform: uppercase; }
.mc-drop__frame { background: var(--abyss); padding: 3px; filter: drop-shadow(0 6px 0 var(--abyss)) drop-shadow(0 24px 40px rgba(0, 0, 0, .4)); }
.mc-drop__in { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: center; padding: 34px 36px; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .035) 0 26px, transparent 26px 70px), linear-gradient(135deg, var(--brand-edge) 0%, color-mix(in srgb, var(--brand-edge), var(--page) 45%) 50%, color-mix(in srgb, var(--brand-edge), var(--page) 70%) 100%); }
.mc-drop__in::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(2px 2px at 8% 20%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 44% 12%, #cfe9ff 50%, transparent 51%), radial-gradient(3px 3px at 58% 76%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 30% 88%, #cfe9ff 50%, transparent 51%); }
.mc-drop__eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 900 12px/1 var(--font-heading); letter-spacing: .2em; text-transform: uppercase; color: var(--brand-hi); }
.mc-drop__title { margin: 12px 0 10px; font-size: clamp(36px, 6vw, 56px); line-height: .95; color: #fff; text-shadow: 0 4px 0 var(--brand-edge), 0 0 26px rgba(143, 224, 255, calc(var(--glow) * .4)); }
.mc-drop p { margin: 0 0 20px; color: #d6e8ff; font-weight: 600; max-width: 36ch; }
.mc-drop__row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.mc-drop .mc-drop__ends { margin: 16px 0 0; color: var(--muted); font: 800 11px/1 var(--font-heading); letter-spacing: .16em; text-transform: uppercase; }
.mc-drop__art { position: relative; text-align: center; }
.mc-drop__art img { width: 190px; margin-bottom: -18px; filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .55)); animation: mc-bob 4s ease-in-out infinite; }
.mc-drop__burst { position: absolute; top: 0; right: 8%; z-index: 1; width: 86px; height: 86px; font-size: 22px; transform: rotate(12deg); }

/* Home: MYSTI+ pass */
.mc-pass__in { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: center; padding: 32px; background: linear-gradient(100deg, color-mix(in srgb, var(--buy), var(--page) 80%) 0%, color-mix(in srgb, var(--panel), var(--page) 20%) 38%, var(--panel) 100%); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--buy) 55%, transparent); }
.mc-pass__in::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 226, 122, .18) 50%, transparent 60%); transform: translateX(-100%); animation: mc-sheen 5s ease-in-out infinite; pointer-events: none; }
@keyframes mc-sheen { 60%, 100% { transform: translateX(100%); } }
.mc-pass__in > * { position: relative; }
.mc-pass__copy { display: grid; justify-items: start; gap: 10px; min-width: 0; }
.mc-pass__copy > .mc-value { justify-self: stretch; }
.mc-pass__tag { display: inline-block; font: 900 10px/1 var(--font-heading); letter-spacing: .12em; text-transform: uppercase; padding: 4px 8px; border-radius: 6px; background: var(--buy); color: var(--buy-text); box-shadow: 0 2px 0 var(--buy-edge); }
.mc-pass h2 { margin: 0; font-size: 28px; }
.mc-pass__value { margin: 0; font-size: 16px; font-weight: 700; color: var(--muted); }
.mc-pass__perks { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.mc-pass__perks li { font-size: 12px; font-weight: 700; padding: 4px 9px; border-radius: 8px; background: color-mix(in srgb, var(--buy) 12%, transparent); color: var(--buy-hi); border: 1px solid color-mix(in srgb, var(--buy) 25%, transparent); }
.mc-pass__perks li:empty { display: none; }
.mc-pass__perks li::before { content: "\f00c"; font: 900 10px/1 "Font Awesome 6 Free"; margin-right: 6px; }
.mc-pass__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 6px; }
.mc-pass__fine { margin: 0; font-size: 12px; color: var(--muted); }
.mc-pass__side { display: grid; justify-items: center; gap: 18px; text-align: center; }
.mc-member { position: relative; overflow: hidden; width: min(100%, 300px); aspect-ratio: 1.586; padding: 18px 20px; border-radius: 18px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; text-align: left; color: #06315a; background: radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .8), transparent 55%), linear-gradient(140deg, #e3f5ff 0%, #a9defc 34%, #5fbdf5 68%, #2e8fdd 100%); transform: rotate(-4deg); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), inset 0 -3px 0 rgba(10, 70, 130, .25), 0 3px 0 #1d6db0, 0 20px 40px rgba(0, 10, 30, .5), 0 0 calc(44px * var(--glow)) rgba(120, 200, 255, .55); }
.mc-member::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, .5) 46%, transparent 60%), repeating-linear-gradient(115deg, transparent 0 14px, rgba(255, 255, 255, .1) 14px 15px); }
.mc-member::after { content: ""; position: absolute; left: 20px; top: 44%; width: 40px; height: 30px; border-radius: 7px; background: linear-gradient(90deg, transparent 31%, rgba(110, 70, 0, .35) 31% 34%, transparent 34% 66%, rgba(110, 70, 0, .35) 66% 69%, transparent 69%), linear-gradient(0deg, transparent 46%, rgba(110, 70, 0, .35) 46% 54%, transparent 54%), linear-gradient(135deg, #fff3c4, #f2c24f 45%, #c48a22); box-shadow: inset 0 0 0 1px rgba(110, 70, 0, .45), 0 1px 0 rgba(255, 255, 255, .6); }
.mc-member b { position: relative; z-index: 1; font: 900 30px/1 var(--font-heading); letter-spacing: .04em; text-shadow: 0 1px 0 rgba(255, 255, 255, .7); }
.mc-member b span { color: #ffb52e; text-shadow: 0 2px 0 #8a5200; }
.mc-member small { position: relative; z-index: 1; max-width: 58%; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mc-member__art { position: absolute; z-index: 1; right: -4px; bottom: -8px; width: 46%; filter: drop-shadow(0 10px 14px rgba(6, 40, 80, .45)); }
.mc-pass__price .mc-price-now { font-size: 26px; }
.mc-pass__price small { display: block; color: var(--muted); font-size: 12px; font-weight: 700; }
.mc-pass__link { color: var(--brand-hi); font-weight: 800; font-size: 13px; }
.mc-value { display: grid; grid-template-columns: auto minmax(60px, 1fr) auto; gap: 6px 12px; align-items: center; font-size: 12px; font-weight: 700; color: var(--muted); max-width: 460px; }
.mc-value b { color: var(--text); white-space: nowrap; }
.mc-value__bar { height: 10px; border-radius: 99px; background: var(--popup); overflow: hidden; }
.mc-value__bar > span { display: block; height: 100%; width: 0; border-radius: 99px; transition: width .8s ease; }
.mc-value__bar--separate > span { background: linear-gradient(90deg, var(--sale-deep), var(--sale)); }
.mc-value__bar--plus > span { background: linear-gradient(90deg, var(--buy-lo), var(--buy-hi)); }

/* Home: category packs */
.mc-packs { --packs-gap: 18px; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--packs-gap); }
.mc-pack-wrap { display: grid; gap: 8px; align-content: start; flex: 1 1 260px; max-width: calc((100% - 2 * var(--packs-gap)) / 3); }
.mc-pack { --c1: var(--tile-1); --c2: var(--tile-1-lo); --edge: var(--tile-1-edge); position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 250px; padding: 24px 16px 20px; border-radius: var(--radius-tiles); overflow: hidden; color: #fff; background: radial-gradient(circle at 50% 34%, rgba(255, 255, 255, calc(var(--glow) * .3)), transparent 42%), linear-gradient(180deg, var(--c1), var(--c2, var(--c1))); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .4), inset 0 -40px 40px -20px rgba(0, 0, 0, .25), 0 6px 0 var(--edge), 0 18px 30px rgba(0, 0, 0, .35); transition: transform .15s; }
.mc-pack[style] { --edge: color-mix(in srgb, var(--c2, var(--c1)), black 50%); }
.mc-pack::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .35) 50%, transparent 65%); transform: translateX(-120%); transition: transform .6s; pointer-events: none; }
.mc-pack:hover { transform: translateY(-6px); text-decoration: none; color: #fff; }
.mc-pack:hover::after { transform: translateX(120%); }
.mc-pack img { height: 150px; width: auto; filter: drop-shadow(0 10px 12px rgba(0, 0, 0, .45)); transition: transform .2s; }
.mc-pack:hover img { transform: translateY(-6px) scale(1.08); }
.mc-pack > .fa-cube { font-size: 92px; height: 150px; display: grid; place-items: center; opacity: .9; }
.mc-pack__name { margin: 14px 0 4px; font-size: 28px; line-height: 1.05; color: #fff; text-shadow: 0 2px 0 var(--edge), -1px -1px 0 var(--edge), 1px -1px 0 var(--edge), -1px 1px 0 var(--edge), 1px 1px 0 var(--edge); }
.mc-pack__text p { margin: 0; font: 700 12px/1.25 var(--font-body); text-shadow: -2px -2px 0 var(--edge), 2px -2px 0 var(--edge), -2px 2px 0 var(--edge), 2px 2px 0 var(--edge), 0 2px 0 var(--edge); }
.mc-pack__go { margin-top: auto; padding-top: 10px; display: inline-flex; text-shadow: -2px -2px 0 var(--edge), 2px -2px 0 var(--edge), -2px 2px 0 var(--edge), 2px 2px 0 var(--edge), 0 2px 0 var(--edge); }
.mc-pack__go { align-items: center; gap: 6px; font: 800 13px/1 var(--font-heading); letter-spacing: .08em; text-transform: uppercase; }
.mc-pack__go::before { content: ""; }
.mc-pack .mc-chip { position: absolute; top: 10px; right: 10px; z-index: 2; }
.mc-pack--1 { --c1: var(--tile-1); --c2: var(--tile-1-lo); --edge: var(--tile-1-edge); }
.mc-pack--2 { --c1: var(--tile-2); --c2: var(--tile-2-lo); --edge: var(--tile-2-edge); }
.mc-pack--3 { --c1: var(--tile-3); --c2: var(--tile-3-lo); --edge: var(--tile-3-edge); }
.mc-pack--4 { --c1: var(--tile-4); --c2: var(--tile-4-lo); --edge: var(--tile-4-edge); }
.mc-pack--5 { --c1: var(--tile-5); --c2: var(--tile-5-lo); --edge: var(--tile-5-edge); }
.mc-pack--6 { --c1: var(--tile-6); --c2: var(--tile-6-lo); --edge: var(--tile-6-edge); }

body.mc-cats-wide .mc-packs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.mc-cats-wide .mc-pack { min-height: 132px; flex-direction: row; justify-content: space-between; text-align: left; padding: 22px; gap: 12px; }
body.mc-cats-wide .mc-pack img, body.mc-cats-wide .mc-pack > .fa-cube { order: 2; height: 110px; }
body.mc-cats-wide .mc-pack__name { font-size: 28px; margin-top: 0; }
body.mc-cats-wide .mc-pack__go { position: absolute; left: 22px; bottom: 14px; }
body.mc-cats-list .mc-packs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
body.mc-cats-wide .mc-pack-wrap, body.mc-cats-list .mc-pack-wrap { max-width: none; }
body.mc-cats-list .mc-pack { min-height: 0; flex-direction: row; text-align: left; gap: 12px; padding: 10px 14px; }
body.mc-cats-list .mc-pack img, body.mc-cats-list .mc-pack > .fa-cube { height: 52px; font-size: 32px; }
body.mc-cats-list .mc-pack__name { margin: 0; font-size: 16px; }
body.mc-cats-list .mc-pack__go { margin: 0 0 0 auto; padding: 0; }

/* Rank table */
.mc-compare { position: relative; max-width: 100%; overflow-x: auto; border-radius: var(--radius-panels); background: var(--panel); border: 1px solid var(--line-soft); box-shadow: 0 6px 0 var(--abyss), var(--shadow); -webkit-overflow-scrolling: touch; }
.mc-compare table { width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 0; }
.mc-compare th, .mc-compare td { padding: 12px 14px; text-align: center; }
.mc-compare tr > :first-child { position: sticky; left: 0; z-index: 1; text-align: left; background: var(--panel); }
.mc-compare thead th { vertical-align: bottom; padding-top: 30px; }
.mc-compare__rank { position: relative; }
.mc-compare__rank img { height: 70px; width: auto; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .45)); }
.mc-compare__rank b { display: block; margin: 6px 0 2px; font: 900 18px/1.1 var(--font-heading); text-transform: uppercase; overflow-wrap: anywhere; }
.mc-compare__price { display: block; margin-bottom: 10px; color: var(--muted); font-size: 13px; font-weight: 700; }
.mc-compare tbody td, .mc-compare tbody th { border-top: 1px solid var(--line-faint); font-weight: 700; }
.mc-compare tbody th { color: var(--text); font-weight: 600; }
.mc-compare tbody tr:nth-child(odd) td { background-color: rgba(255, 255, 255, .025); }
.mc-compare .is-best { background: linear-gradient(180deg, rgba(255, 197, 61, .16), rgba(255, 197, 61, .06)); box-shadow: inset 2px 0 0 var(--buy-deep), inset -2px 0 0 var(--buy-deep); }
.mc-compare thead .is-best { border-radius: 16px 16px 0 0; box-shadow: inset 2px 0 0 var(--buy-deep), inset -2px 0 0 var(--buy-deep), inset 0 2px 0 var(--buy-deep); }
.mc-compare tbody tr:last-child .is-best { box-shadow: inset 2px 0 0 var(--buy-deep), inset -2px 0 0 var(--buy-deep), inset 0 -2px 0 var(--buy-deep); }
.mc-crown { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); white-space: nowrap; background: var(--buy); color: var(--buy-text); border-radius: 6px; box-shadow: 0 3px 0 var(--buy-edge); padding: 4px 8px; font: 900 10px/1 var(--font-heading); letter-spacing: .12em; text-transform: uppercase; }
.mc-compare tr.is-group td { position: static; padding-top: 18px; border-top: 0; background: transparent; color: var(--brand-hi); font: 900 11px/1 var(--font-heading); letter-spacing: .16em; text-transform: uppercase; text-align: left; }
.mc-yes, .mc-no { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; font-size: 13px; }
.mc-yes { background: linear-gradient(180deg, var(--online-hi), var(--online) 60%, var(--online-deep)); color: #053d1f; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), 0 3px 0 var(--online-edge); }
.mc-no { background: var(--popup); color: var(--muted); font-size: 12px; }

/* Home: community */
.mc-community { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 20px; border-radius: var(--radius-panels); background: var(--panel-glass); border: 1px solid var(--line-soft); }
.mc-community:has(> .mc-community__goals[hidden]) { grid-template-columns: 1fr; justify-items: center; }
.mc-community__goals { display: grid; gap: 14px; }
.mc-community__goals .mc-module { background: none; border: 0; box-shadow: none; padding: 0; }
.mc-community__goals:not(:has(.mc-module--goal:not(.is-complete))) .mc-xp__caption { display: none; }
.mc-community__socials a.mc-social--discord { background: linear-gradient(180deg, var(--discord-hi), var(--discord) 52%, var(--discord-lo)); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .4), 0 var(--depth) 0 var(--discord-edge); }
.mc-community__socials a.mc-social--youtube { background: linear-gradient(180deg, #ff5a5a, #ff1f1f 52%, #d10000); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .4), 0 var(--depth) 0 #7a0000; }
.mc-community__socials a.mc-social--tiktok { background: linear-gradient(180deg, #2a2a2a, #111 52%, #000); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .2), 0 var(--depth) 0 #000; }
.mc-community__socials a.mc-social--instagram { background: linear-gradient(135deg, #feda75, #d62976 55%, #4f5bd5); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .3), 0 var(--depth) 0 #5b1a5e; }

@media (max-width: 767px) {
  .mc-drop__in { grid-template-columns: 1fr; padding: 24px 20px; }
  .mc-drop__art img { width: 130px; }
  .mc-pass__in { grid-template-columns: 1fr; padding: 24px 20px; }
  .mc-pass__side { order: -1; }
  .mc-member { width: 240px; }
  .mc-pass__acts { display: grid; justify-items: center; width: 100%; }
  .mc-pass__acts .mc-btn { width: 100%; }
  .mc-packs { --packs-gap: 12px; }
  .mc-pack-wrap { flex-basis: 140px; max-width: calc((100% - var(--packs-gap)) / 2); }
  .mc-pack { min-height: 190px; padding: 18px 10px 16px; }
  .mc-pack img, .mc-pack > .fa-cube { height: 104px; }
  .mc-pack__name { font-size: 20px; }
  body.mc-cats-wide .mc-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.mc-cats-wide .mc-pack { flex-direction: column; text-align: center; }
  body.mc-cats-wide .mc-pack__go { position: static; }
  body.mc-cats-wide .mc-pack__name { font-size: 20px; }
  .mc-community { grid-template-columns: 1fr; }
}

/* Social proof */
.mc-proof { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; }
.mc-proof:has(> [hidden]) { grid-template-columns: minmax(0, 1fr); }
.mc-proof h3, .mc-proof h4 { font: 900 13px/1 var(--font-heading); letter-spacing: .14em; text-transform: uppercase; color: var(--brand-hi); margin: 0 0 10px; }
.mc-marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); cursor: pointer; }
.mc-marquee:focus-visible { outline-offset: -3px; }
.mc-marquee__track { display: flex; gap: 10px; width: max-content; animation: mc-scroll 40s linear infinite; }
.mc-marquee:focus-within .mc-marquee__track, .mc-marquee.is-paused .mc-marquee__track { animation-play-state: paused; }
@media (hover: hover) { .mc-marquee:hover .mc-marquee__track { animation-play-state: paused; } }
@keyframes mc-scroll { to { transform: translateX(-50%); } }
.mc-buyer { display: flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, .05); border-radius: 12px; padding: 6px 10px 6px 6px; white-space: nowrap; }
.mc-buyer img { width: 30px; height: 30px; border-radius: 6px; image-rendering: pixelated; }
.mc-buyer strong { display: block; font-size: 13px; }
.mc-buyer small { color: var(--muted); font-size: 12px; }
.mc-topdonor { display: flex; align-items: center; gap: 12px; }
.mc-topdonor img { width: 52px; height: 52px; border-radius: 8px; image-rendering: pixelated; box-shadow: 0 0 0 2px var(--buy); }
.mc-topdonor h3 { margin: 4px 0; }
.mc-topdonor small { display: block; color: var(--muted); font-weight: 700; }
.mc-buyers { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mc-online { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.mc-online::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--online); box-shadow: 0 0 0 4px rgba(61, 220, 132, .18), 0 0 10px var(--online); }

/* Modal (Bootstrap 3 markup driven by site.js) */
.modal { display: none; position: fixed; inset: 0; z-index: 1050; overflow-y: auto; padding: 24px var(--gutter-r) 24px var(--gutter); }
.modal.in, .modal.show { display: block; }
.modal-backdrop { position: fixed; inset: 0; z-index: 1040; background: rgba(3, 9, 20, .78); }
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.in { opacity: 1; }
.modal-dialog { position: relative; max-width: 640px; margin: 40px auto; }
.modal-lg { max-width: 900px; }
.modal.fade .modal-dialog { transform: translateY(20px) scale(.98); transition: transform .2s ease; }
.modal.in .modal-dialog { transform: none; }
.modal-content { background: var(--popup); border: 1px solid var(--line-soft); border-radius: var(--radius-popups); box-shadow: var(--shadow); color: var(--text); overflow: hidden; }
.modal-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 0; }
.modal-title { font: 900 22px/1.2 var(--font-heading); text-transform: uppercase; margin: 0; }
.modal-body { padding: 18px 20px; }
.modal-footer { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; padding: 0 20px 20px; }
.close { background: rgba(5, 13, 28, .6); color: var(--text); border: 1px solid var(--line-soft); border-radius: 10px; width: 36px; height: 36px; font-size: 22px; line-height: 1; cursor: pointer; opacity: 1; }
.close:hover { background: var(--danger-deep); color: #fff; }
.fade { transition: opacity .15s linear; }
.fade.in { opacity: 1; }
body.modal-open { overflow: hidden; }

/* Package modal */
.modal-header.mc-popup__head {
  position: relative; display: grid; justify-content: stretch; justify-items: center; gap: 8px;
  padding: 26px 20px 20px; text-align: center; overflow: hidden;
  background: linear-gradient(180deg, var(--r1), var(--r2));
  box-shadow: inset 0 -6px 0 var(--r-edge);
}
.mc-popup__head .close { position: absolute; top: 12px; right: 12px; z-index: 3; }
.mc-popup__head .mc-burst { position: absolute; z-index: 2; top: 14px; left: 14px; }
.mc-popup__head .mc-flag { top: 70px; }
.mc-popup__art { position: relative; max-height: 200px; max-width: 70%; width: auto; filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .45)); }
i.mc-popup__art { font-size: 96px; color: rgba(255, 255, 255, .85); }
.mc-popup__head .mc-card__rarity { margin: 0; align-self: auto; }
.mc-popup__head .modal-title { position: relative; color: #fff; overflow-wrap: anywhere; text-shadow: 0 3px 0 var(--r-edge), -2px -2px 0 var(--r-edge), 2px -2px 0 var(--r-edge), -2px 2px 0 var(--r-edge), 2px 2px 0 var(--r-edge); }
.mc-popup__foot { align-items: center; }
.mc-upsell--rare, .mc-upsell--epic, .mc-upsell--legendary, .mc-upsell--mythic { border-color: var(--r1); }
.mc-upsell .mc-card__rarity { justify-self: start; margin: 0; }
.mc-gift { flex: 1 1 100%; display: grid; gap: 6px; margin-top: 6px; }
.mc-gift label { font-weight: 800; }
.mc-desc-render { display: grid; gap: 10px; margin-top: 12px; }
.mc-desc-render p { margin: 0; }
.mc-desc-render .mc-perks { margin: 0; }
.mc-desc-img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }

/* Forms */
label, .control-label { display: block; font-weight: 700; margin-bottom: 6px; }
.form-group { margin-bottom: 16px; }
.form-control, input[type="text"], input[type="email"], input[type="number"], input[type="search"], select, textarea {
  width: 100%; min-height: 46px;
  background: rgba(3, 9, 20, .7); color: var(--text);
  border: 1px solid var(--line-soft); border-radius: var(--radius-sm);
  padding: 8px 12px; font: 600 16px/1.4 var(--font-body);
}
.form-control:focus, input:focus, select:focus, textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(63, 182, 255, .25); }
.form-control::placeholder { color: #6f88aa; }
.input-group { display: flex; gap: 8px; align-items: stretch; }
.input-group .form-control { flex: 1; min-width: 0; }
.input-group-btn, .input-group-addon { display: flex; }
.checkbox, .radio { display: flex; align-items: flex-start; gap: 10px; margin: 10px 0; }
.checkbox label, .radio label { display: flex; gap: 10px; font-weight: 600; margin: 0; cursor: pointer; }
input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; accent-color: var(--brand); flex: none; margin-top: 3px; }
.help-block { color: var(--muted); font-size: 14px; margin-top: 6px; }
.has-error .form-control { border-color: var(--danger); }
.has-error .help-block, .has-error .control-label { color: var(--sale-hi); }

/* Tables */
.table { width: 100%; border-collapse: separate; border-spacing: 0 8px; }
.table th { text-align: left; font: 800 11px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 4px 12px; }
.table td { background: rgba(255, 255, 255, .04); padding: 12px; vertical-align: middle; }
.table td:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.table td:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.mc-tablewrap { overflow-x: auto; }

/* Alerts and tooltips */
.alert { border-radius: var(--radius-sm); padding: 12px 16px; margin-bottom: 16px; font-weight: 700; background: var(--popup); border: 1px solid var(--line-soft); }
.alert-success { background: var(--online-edge); color: #fff; }
.alert-info { background: var(--brand); color: var(--brand-text); }
.alert-warning { background: var(--buy); color: var(--buy-text); }
.alert-danger { background: var(--danger-deep); color: #fff; }
.tooltip { position: absolute; z-index: 1070; font-size: 13px; font-weight: 700; }
.tooltip.in { opacity: 1; }
.tooltip-inner { background: var(--abyss); color: var(--text); border-radius: 8px; padding: 6px 10px; max-width: 240px; }
.tooltip-arrow { display: none; }

/* Basket drawer */
.mc-drawer { position: fixed; inset: 0; z-index: 1060; pointer-events: none; }
.mc-drawer__scrim { position: absolute; inset: 0; background: rgba(3, 9, 20, .72); opacity: 0; transition: opacity .2s ease; }
.mc-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(420px, 100%);
  display: grid; grid-template-rows: auto 1fr auto;
  background: var(--popup); border-left: 1px solid var(--line-soft);
  border-radius: var(--radius-popups) 0 0 var(--radius-popups);
  box-shadow: -20px 0 50px rgba(0, 0, 0, .4);
  transform: translateX(100%); transition: transform .25s cubic-bezier(.2, .9, .3, 1.2);
  padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
}
.mc-drawer.is-open { pointer-events: auto; }
.mc-drawer.is-open .mc-drawer__scrim { opacity: 1; }
.mc-drawer.is-open .mc-drawer__panel { transform: none; }
.mc-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); }
.mc-drawer__head h2 { margin: 0; font-size: 22px; }
.mc-drawer__body { overflow-y: auto; overscroll-behavior: contain; padding: 16px 20px; display: grid; gap: 12px; align-content: start; }
.mc-drawer__foot { padding: 16px 20px 20px; border-top: 1px solid var(--line-soft); display: grid; gap: 12px; }
.mc-drawer__total { display: flex; justify-content: space-between; align-items: baseline; font: 900 20px/1 var(--font-heading); }
.mc-drawer__total span:last-child { color: var(--price); }
.mc-line { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; align-items: center; background: rgba(255, 255, 255, .04); border: 1px solid var(--line-faint); border-radius: var(--radius-sm); padding: 10px 12px; }
.mc-line__name { font-weight: 700; overflow-wrap: anywhere; }
.mc-line__qty { color: var(--muted); font-size: 14px; }
.mc-line__remove { background: none; border: 0; color: var(--sale-hi); cursor: pointer; font-size: 18px; padding: 4px 6px; border-radius: 6px; }
.mc-line__remove:hover { background: var(--panel-hi); }
.mc-empty { text-align: center; color: var(--muted); padding: 24px 0; }
.mc-upsell { background: linear-gradient(90deg, rgba(255, 197, 61, .12), transparent 60%); border: 2px dashed var(--buy-deep); border-radius: var(--radius-cards); padding: 14px; display: grid; gap: 10px; }
.mc-reward { border: 2px solid color-mix(in srgb, var(--buy) 55%, transparent); background: color-mix(in srgb, var(--buy) 8%, transparent); border-radius: var(--radius-cards); padding: 12px; display: grid; gap: 8px; font-size: 13px; }
.mc-reward p { margin: 0; }
.mc-reward__bar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.mc-reward__bar > span { display: block; height: 100%; background: var(--buy); border-radius: inherit; transition: width .4s ease; }
.mc-reward__apply { display: flex; align-items: center; gap: 8px; margin: 0; }
.mc-reward__apply code { flex: 1; min-width: 0; padding: 6px 10px; border: 1px dashed var(--buy); border-radius: 8px; font-weight: 700; letter-spacing: .04em; }
.mc-upsell__label { font: 900 11px/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--buy); }
.mc-upsell__row { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; }
.mc-upsell__row img { max-height: 64px; width: auto; }
.mc-upsell__name { font: 800 16px/1.2 var(--font-heading); }
.mc-upsell__msg { color: var(--brand-hi); font-weight: 700; font-size: 14px; }
.mc-upsell__row .fa-cube { font-size: 40px; color: var(--muted); text-align: center; }
[aria-busy="true"], [data-mc-add][aria-disabled="true"], [data-mc-remove][aria-disabled="true"] { opacity: .6; cursor: progress; }

/* Mobile basket bar */
.mc-mobilebar { display: none; }

/* Content pages */
.mc-prose { max-width: 72ch; }
.mc-prose img { border-radius: var(--radius-sm); }
.mc-prose a { text-decoration: underline; }

/* Chrome: backdrop, sale bar, top bar, crest, join bar */
.mc-backdrop { position: absolute; inset: 0 0 auto 0; height: 760px; overflow: hidden; z-index: 0; pointer-events: none; }
.mc-backdrop__img { position: absolute; inset: -24px; width: calc(100% + 48px); max-width: none; height: calc(100% + 48px); object-fit: cover; object-position: center 35%; filter: blur(var(--backdrop-blur)) saturate(1.15); }
.mc-backdrop::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--overlay); opacity: var(--backdrop-darkness); }
.mc-backdrop::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 35%, var(--page) 100%), radial-gradient(60% 50% at 50% 30%, transparent, rgba(5, 13, 28, .5)); }
.mc-salebar, .mc-topbar, .mc-crest { position: relative; z-index: 2; }
.mc-topbar { z-index: 3; }

.mc-salebar { background: linear-gradient(90deg, var(--sale-edge), var(--sale-deep) 50%, var(--sale-edge)); border-bottom: 3px solid var(--sale-edge); color: #fff; font-weight: 700; font-size: 14px; }
.mc-salebar__inner { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; padding-block: 8px; text-align: center; }
.mc-salebar b { font-weight: 900; }
.mc-salebar a { color: #fff; font: 900 12px/1 var(--font-heading); letter-spacing: .1em; text-transform: uppercase; }
.mc-salebar__timer { gap: 4px; font-size: 13px; }
.mc-salebar__timer span { padding: 3px 6px; min-width: 2.2em; background: rgba(0, 0, 0, .25); border: 0; box-shadow: none; color: #fff; }

.mc-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 14px; }
.mc-topbar__side { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mc-who { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 4px 12px 4px 4px; border-radius: var(--radius-buttons); background: rgba(5, 13, 28, .55); border: 1px solid var(--line-soft); color: var(--text); }
a.mc-who:hover { text-decoration: none; border-color: var(--brand); }
.mc-who img { width: 34px; height: 34px; border-radius: 8px; image-rendering: pixelated; }
.mc-who b { display: block; font: 800 14px/1.15 var(--font-heading); overflow-wrap: anywhere; }
.mc-who small { display: block; color: var(--muted); font-size: 12px; line-height: 1.3; }
.mc-who small a { color: var(--brand-hi); font-weight: 700; }
.mc-basketbtn { padding-inline: 16px; }
.mc-basketbtn__total { opacity: .85; font-weight: 700; text-transform: none; }

.mc-crest { text-align: center; padding-bottom: 8px; }
.mc-crest__home { display: inline-block; }
.mc-crest__home:hover { text-decoration: none; }
.mc-aura { position: relative; display: inline-block; }
.mc-aura::before { content: ""; position: absolute; inset: 12% 8% 4%; background: radial-gradient(closest-side, rgba(143, 224, 255, .45), rgba(63, 182, 255, .12) 60%, transparent); filter: blur(6px); opacity: var(--glow); animation: mc-pulse 4s ease-in-out infinite; }
body.mc-glow-strong .mc-aura::before { inset: 0 -4%; filter: blur(10px); }
@keyframes mc-pulse { 50% { opacity: calc(var(--glow) * .55); transform: scale(.96); } }
.mc-crest__logo { position: relative; height: 240px; width: auto; filter: drop-shadow(0 14px 26px rgba(0, 0, 0, .6)); animation: mc-bob 5s ease-in-out infinite; }
.mc-spark { position: absolute; z-index: 1; width: 8px; height: 8px; background: #fff; box-shadow: 0 0 10px var(--brand-hi); opacity: 0; animation: mc-twinkle 2.6s ease-in-out infinite; }
body.mc-glow-off .mc-spark { display: none; }
.mc-spark--1 { top: 18%; left: 6%; }
.mc-spark--2 { top: 8%; right: 14%; width: 5px; height: 5px; animation-delay: .6s; }
.mc-spark--3 { bottom: 26%; left: 0; width: 5px; height: 5px; animation-delay: 1.2s; background: var(--buy-hi); box-shadow: 0 0 10px var(--buy); }
.mc-spark--4 { bottom: 14%; right: 4%; animation-delay: 1.8s; }
.mc-spark--5 { top: 44%; right: -2%; width: 5px; height: 5px; animation-delay: .9s; background: var(--buy-hi); box-shadow: 0 0 10px var(--buy); }
.mc-spark--6 { top: 2%; left: 34%; width: 5px; height: 5px; animation-delay: 2.1s; }
@keyframes mc-twinkle { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }

.mc-joinbar { display: flex; justify-content: center; align-items: stretch; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.mc-join { display: flex; align-items: center; gap: 14px; padding: 6px 6px 6px 16px; border-radius: var(--radius-panels); background: rgba(5, 13, 28, .8); border: 1px solid var(--line-soft); box-shadow: 0 5px 0 var(--abyss), 0 16px 30px rgba(0, 0, 0, .35); backdrop-filter: blur(6px); }
.mc-join__online { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; font-size: 14px; color: var(--online-hi); white-space: nowrap; }
.mc-join__online::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--online); box-shadow: 0 0 0 4px rgba(61, 220, 132, .18), 0 0 10px var(--online); animation: mc-pulse 2s infinite; }
.mc-join__ip { display: grid; text-align: left; padding-left: 14px; border-left: 1px solid var(--line-soft); }
.mc-join__online[hidden] + .mc-join__ip { padding-left: 0; border-left: 0; }
.mc-join__ip b { font: 800 16px/1.1 var(--font-heading); letter-spacing: .04em; }
.mc-join__ip small { color: var(--muted); font-size: 12px; font-weight: 700; }
.mc-join__discord { border-radius: var(--radius-panels); padding-inline: 18px; }
.mc-join__discord small { font: 700 12px/1 var(--font-body); text-transform: none; letter-spacing: 0; opacity: .9; }

body.mc-header-left .mc-crest { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; text-align: left; }
body.mc-header-left .mc-crest__logo { height: 140px; }
body.mc-header-left .mc-joinbar { justify-content: flex-end; margin-top: 0; }
body.mc-inner .mc-crest { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; text-align: left; padding-bottom: 0; }
body.mc-inner .mc-crest__logo { height: 84px; }
body.mc-inner .mc-spark { display: none; }
body.mc-inner .mc-joinbar { justify-content: flex-end; margin-top: 0; }

/* Footer */
.mc-footer { position: relative; z-index: 1; margin-top: 56px; background: var(--footer-bottom); padding-block: 0 calc(28px + env(safe-area-inset-bottom, 0px)); color: var(--muted); }
.mc-grass { position: relative; height: 22px; margin-bottom: 52px; background: var(--footer-top); background: linear-gradient(180deg, var(--footer-top) 0 50%, color-mix(in srgb, var(--footer-top), black 22%) 50%); }
.mc-grass::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 26px; background: linear-gradient(90deg, #7a4f2d 0 12.5%, #6a4426 12.5% 25%, #835634 25% 37.5%, #6a4426 37.5% 50%, #7a4f2d 50% 62.5%, #5f3c20 62.5% 75%, #7a4f2d 75% 87.5%, #6a4426 87.5%); background-size: 96px 26px; }
.mc-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 28px; }
.mc-footer h3 { color: var(--text); font-size: 15px; letter-spacing: .08em; }
.mc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mc-footer a { color: var(--muted); font-weight: 700; }
.mc-footer a:hover { color: var(--brand-hi); }
.mc-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.mc-socials a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--radius-buttons); background: linear-gradient(180deg, var(--panel-hi), var(--popup)); color: var(--text); font-size: 18px; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .2), 0 var(--depth) 0 var(--abyss); }
.mc-socials a:hover { transform: translateY(-2px); text-decoration: none; color: #fff; }
.mc-legal { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line-faint); font-size: 13px; }

@media (max-width: 767px) {
  .mc-crest__logo { height: 170px; }
  body.mc-header-left .mc-crest { justify-content: center; text-align: center; }
  body.mc-header-left .mc-crest__logo { height: 120px; }
  .mc-join { flex-wrap: wrap; justify-content: center; padding: 10px; }
  .mc-join__ip { border-left: 0; padding-left: 0; text-align: center; }
  body.mc-inner .mc-crest { flex-wrap: nowrap; gap: 10px; }
  body.mc-inner .mc-crest__logo { height: 52px; }
  body.mc-inner .mc-join { flex-wrap: nowrap; gap: 8px; padding: 5px 5px 5px 10px; }
  body.mc-inner .mc-join__online, body.mc-inner .mc-join__ip small, body.mc-inner .mc-join__discord { display: none; }
  body.mc-inner .mc-join__ip { text-align: left; }
  body.mc-inner .mc-join__ip b { font-size: 13px; }
  body.mc-inner .mc-join .mc-btn { flex: none; white-space: nowrap; padding-inline: 12px; }
  a.mc-who small, .mc-who__label, .mc-basketbtn__label, .mc-basketbtn__total { display: none; }
  .mc-footer__grid { grid-template-columns: 1fr; }
}

/* Utilities Tebex markup expects */
.text-center { text-align: center; }
.text-right { text-align: right; }
.pull-right { float: right; }
.pull-left { float: left; }
.hidden, .hide { display: none !important; }
.clearfix::after { content: ""; display: table; clear: both; }
.row { display: block; }

@media (max-width: 900px) {
  .mc-proof { grid-template-columns: minmax(0, 1fr); }
  .mc-checkout__grid { grid-template-columns: minmax(0, 1fr); }
  .mc-grid, body.mc-cols-3 .mc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .mc-popup__art { max-height: 140px; }
  .mc-catbanner { padding: 16px; }
  .mc-catbanner__art { height: 72px; }
  .mc-grid, body.mc-cols-3 .mc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .mc-card__name { font-size: 14px; }
  .mc-card__media { height: 116px; }
  .mc-card__media img { max-height: 92px; }
  .mc-list .mc-card__media { flex-basis: 72px; }
  .mc-list .mc-card__foot { grid-template-columns: minmax(0, 1fr); }
  .mc-list .mc-card__foot > .mc-card__actions { grid-column: 1; grid-row: auto; }
  .mc-basket__line { grid-template-columns: minmax(0, 1fr) 64px auto; }
  .mc-basket__info { grid-column: 1 / -1; }
  .mc-mobilebar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    display: flex; padding: 10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom, 0px)) var(--gutter);
    background: rgba(5, 13, 28, .92); border-top: 1px solid var(--line-soft); backdrop-filter: blur(8px);
  }
  .mc-mobilebar[hidden] { display: none !important; }
  .mc-mobilebar .mc-btn { flex: 1; }
  body.has-mobilebar { padding-bottom: 76px; }
  body.has-mobilebar .mc-toasts { bottom: 88px; }
}

/* Seasons */
body.mc-season-halloween {
  --page: #0c0614; --panel: #1a0e27; --line: #ff9a3c; --text: #fff3e6; --muted: #cdb6db;
  --brand: #ff8a1f; --brand-text: #2a1200; --buy: #9be564; --buy-text: #102808;
  --discord: #5865f2; --sale: #ff4f5e; --online: #9be564; --price: #ffffff; --danger: #e5484d;
  --overlay: #0c0614; --footer-top: #ff8a1f; --footer-bottom: #0a0510; --popup: #241334;
  --tile-1: #ff8a1f; --tile-2: #9a5cff; --tile-3: #5fd35a; --tile-4: #ff5470; --tile-5: #ffb02e; --tile-6: #7a4dff;
}
body.mc-season-winter {
  --page: #061226; --panel: #0c1d3a; --line: #d4ecff; --text: #f5fbff; --muted: #a9c4de;
  --brand: #8fd8ff; --brand-text: #05233a; --buy: #ff5a64; --buy-text: #2b0006;
  --discord: #5865f2; --sale: #e8394a; --online: #3ddc84; --price: #ffffff; --danger: #e5484d;
  --overlay: #061226; --footer-top: #e8394a; --footer-bottom: #050e1d; --popup: #11264a;
  --tile-1: #4fb3ff; --tile-2: #e8394a; --tile-3: #2fbf71; --tile-4: #7fc4ff; --tile-5: #ffc53d; --tile-6: #8e9bff;
}
body.mc-season-blackfriday {
  --page: #07070a; --panel: #141318; --line: #ffc53d; --text: #fff8e8; --muted: #c9c2b0;
  --brand: #ffc53d; --brand-text: #2a1c00; --buy: #ffd257; --buy-text: #2a1c00;
  --discord: #5865f2; --sale: #e8394a; --online: #3ddc84; --price: #ffffff; --danger: #e5484d;
  --overlay: #07070a; --footer-top: #ffc53d; --footer-bottom: #050507; --popup: #1c1a22;
  --tile-1: #ffc53d; --tile-2: #e8394a; --tile-3: #2fbf71; --tile-4: #b98cff; --tile-5: #ff8a1f; --tile-6: #6f7bff;
}
body.mc-season-halloween .mc-aura::before { background: radial-gradient(closest-side, rgba(255, 154, 60, .45), rgba(154, 92, 255, .14) 60%, transparent); }
body.mc-season-winter .mc-aura::before { background: radial-gradient(closest-side, rgba(255, 255, 255, .5), rgba(143, 216, 255, .16) 60%, transparent); }
body.mc-season-blackfriday .mc-aura::before { background: radial-gradient(closest-side, rgba(255, 197, 61, .45), rgba(232, 57, 74, .12) 60%, transparent); }
body.mc-season-winter .mc-pack::before, body.mc-season-winter .mc-drop__in::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; z-index: 2; height: 16px; pointer-events: none;
  background: radial-gradient(circle at 11px 0, #fff 10px, transparent 10.5px) 0 0 / 26px 16px repeat-x, radial-gradient(circle at 4px 0, #fff 6px, transparent 6.5px) 13px 0 / 26px 12px repeat-x;
  filter: drop-shadow(0 2px 2px rgba(5, 30, 60, .35));
}
.mc-season-fx { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.mc-fx { position: absolute; left: var(--x); width: var(--s); height: var(--s); opacity: 0; animation: mc-fall var(--d) linear var(--delay) infinite; will-change: transform; }
.mc-fx--snow { top: -12px; border-radius: 50%; background: #fff; box-shadow: 0 0 6px rgba(255, 255, 255, .8); }
.mc-fx--ember { bottom: -12px; border-radius: 50%; background: #ffb347; box-shadow: 0 0 8px #ff7a1a, 0 0 2px #fff; animation-name: mc-rise; }
.mc-fx--spark { bottom: -12px; border-radius: 50%; background: #ffd257; box-shadow: 0 0 8px #ffc53d, 0 0 2px #fff; animation-name: mc-rise; }
.mc-fx--ghost { bottom: -40px; width: auto; height: auto; font-size: var(--s); line-height: 1; color: rgba(255, 255, 255, .5); filter: drop-shadow(0 0 6px rgba(154, 92, 255, .8)); animation-name: mc-rise; }
@keyframes mc-fall { 10%, 90% { opacity: .9; } 100% { opacity: 0; transform: translate3d(var(--drift), 105vh, 0); } }
@keyframes mc-rise { 10%, 85% { opacity: .85; } 100% { opacity: 0; transform: translate3d(var(--drift), -105vh, 0); } }

/* Motion */
body.mc-motion-reduced *, body.mc-motion-reduced *::before, body.mc-motion-reduced *::after { animation: none !important; }
body.mc-motion-off *, body.mc-motion-off *::before, body.mc-motion-off *::after { animation: none !important; transition: none !important; }
body.mc-motion-reduced .mc-marquee__track, body.mc-motion-off .mc-marquee__track { width: auto; flex-wrap: wrap; }
body.mc-motion-reduced .mc-marquee__track [aria-hidden="true"], body.mc-motion-off .mc-marquee__track [aria-hidden="true"] { display: none; }

.mc-toasts { position: fixed; left: 16px; bottom: 16px; z-index: 900; display: grid; gap: 8px; max-width: min(300px, calc(100vw - 32px)); }
.mc-toast { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--panel); border: 1px solid var(--line-soft); border-radius: var(--radius-panels); box-shadow: var(--shadow); font-size: 13px; animation: mc-toast-in .35s ease-out; }
.mc-toast img { flex: none; width: 32px; height: 32px; border-radius: 6px; image-rendering: pixelated; }
.mc-toast p { flex: 1; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.mc-toast__close { flex: none; background: none; border: 0; padding: 4px; color: var(--muted); cursor: pointer; }
.mc-toast__close:hover, .mc-toast__close:focus-visible { color: var(--text); }
@keyframes mc-toast-in { from { opacity: 0; transform: translateY(12px); } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .mc-marquee { cursor: auto; }
  .mc-marquee__track { width: auto; flex-wrap: wrap; }
  .mc-marquee__track [aria-hidden="true"] { display: none; }
}
