.m2m-path-walker-container .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.m2m-path-walker-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  background: var(--scroll, #14100c);
  color: var(--paper, #e8e0d0);
  font-family: "Songti SC", "Noto Serif SC", ui-serif, serif;
  padding: 16px;
  box-sizing: border-box;
  border: 1px solid var(--line, rgba(201,169,97,.25));
}
.m2m-path-walker-container.is-fused {
  border-color: rgba(184,65,47,.55);
}
.m2m-terminal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid var(--line, rgba(201,169,97,.25));
  padding-bottom: 12px;
  margin-bottom: 16px;
}
.m2m-badge-lvl {
  background: var(--gold, #c9a961);
  color: #14100c;
  font-weight: 700;
  padding: 4px 8px;
  font-size: 12px;
  margin-right: 10px;
}
.m2m-txt-power { color: var(--weak, #8a7f6a); font-size: 14px; }
.m2m-txt-power strong { color: var(--gold2, #e3c987); font-variant-numeric: tabular-nums; }
.m2m-select-dark {
  background: var(--ink2, #0f1418);
  color: var(--paper, #e8e0d0);
  border: 1px solid var(--line, rgba(201,169,97,.25));
  padding: 8px 12px;
  max-width: 100%;
  min-height: 40px;
}
.m2m-select-dark:focus { outline: 2px solid var(--gold, #c9a961); outline-offset: 2px; }
.m2m-terminal-body { display: flex; gap: 16px; }
.m2m-body-left-panel { width: 34%; display: flex; flex-direction: column; gap: 12px; }
.m2m-body-right-grid { width: 66%; display: flex; flex-direction: column; gap: 12px; }
.m2m-vector-placeholder {
  position: relative;
  overflow: hidden;
  height: 108px;
  border: 1px dashed #334155;
  border-radius: 8px;
  background: radial-gradient(circle at center, #0f172a 0%, #020617 100%);
  transition: border-color .4s ease, box-shadow .4s ease;
}
.m2m-vector-placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(14, 165, 233, .08) 1px, transparent 1px);
  background-size: 100% 4px;
  animation: placeholderScan 8s linear infinite;
  pointer-events: none;
}
@keyframes placeholderScan {
  0% { background-position: 0 0; }
  100% { background-position: 0 200px; }
}
.m2m-matrix-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  text-align: center;
  font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
  font-size: 11px;
  letter-spacing: .12em;
  color: #38bdf8;
  line-height: 1.45;
  z-index: 1;
}
#pwApp[data-dim="1"] .m2m-vector-placeholder { border-color: #7f1d1d; box-shadow: inset 0 0 24px rgba(220,38,38,.18); }
#pwApp[data-dim="1"] .m2m-matrix-text { color: #ef4444; }
#pwApp[data-dim="2"] .m2m-vector-placeholder { border-color: #059669; box-shadow: inset 0 0 24px rgba(16,185,129,.2); }
#pwApp[data-dim="2"] .m2m-matrix-text { color: #10b981; }
#pwApp[data-dim="3"] .m2m-matrix-text { color: #22c55e; }
#pwApp[data-dim="4"] .m2m-matrix-text { color: #06b6d4; }
#pwApp[data-dim="5"] .m2m-matrix-text { color: #6366f1; }
#pwApp[data-dim="6"] .m2m-matrix-text { color: #a78bfa; }
#pwApp[data-dim="7"] .m2m-matrix-text { color: #f43f5e; }
#pwApp[data-dim="8"] .m2m-matrix-text { color: #38bdf8; }
#pwApp[data-dim="9"] .m2m-matrix-text { color: #14b8a6; }
#pwApp[data-dim="10"] .m2m-matrix-text { color: #ec4899; }
#pwApp[data-dim="11"] .m2m-vector-placeholder { border-color: #b45309; box-shadow: inset 0 0 24px rgba(245,158,11,.2); }
#pwApp[data-dim="11"] .m2m-matrix-text { color: #f59e0b; }
#pwApp[data-dim="12"] .m2m-matrix-text { color: #0ea5e9; }
.m2m-possess-hud {
  min-height: 148px;
  padding: 16px 16px 14px;
  background:
    radial-gradient(120% 80% at 100% 0%, rgba(201,169,97,.12), transparent 55%),
    var(--ink2, #0f1418);
  border: 1px solid var(--line, rgba(201,169,97,.25));
}
.m2m-hud-state {
  margin: 0 0 14px;
  font: 700 22px/1.2 "Songti SC", "Noto Serif SC", serif;
  color: var(--gold2, #e3c987);
  letter-spacing: .04em;
}
.is-possessing .m2m-hud-state { color: var(--gold, #c9a961); }
.is-fused .m2m-hud-state { color: var(--red, #b8412f); }
.m2m-hud-meta { margin: 0; display: grid; gap: 10px; }
.m2m-hud-meta > div { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.m2m-hud-meta dt { margin: 0; color: var(--weak, #8a7f6a); font-size: 12px; }
.m2m-hud-meta dd {
  margin: 0;
  color: var(--paper, #e8e0d0);
  font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.m2m-faction-box { display: flex; gap: 8px; }
.m2m-faction-card {
  flex: 1;
  padding: 10px 6px;
  text-align: center;
  background: var(--ink2, #0f1418);
  border: 1px solid var(--line, rgba(201,169,97,.25));
  color: var(--paper, #e8e0d0);
  cursor: pointer;
  font-size: 12px;
  min-height: 44px;
}
.m2m-faction-card:hover { border-color: var(--gold, #c9a961); }
.m2m-faction-card:focus-visible { outline: 2px solid var(--gold, #c9a961); outline-offset: 2px; }
.m2m-faction-card.active {
  border-color: var(--gold, #c9a961);
  background: rgba(201,169,97,.12);
  color: var(--gold2, #e3c987);
}
.m2m-hud-go {
  width: 100%;
  margin-top: 14px;
  min-height: 48px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .12em;
}
.m2m-grid-container {
  display: block !important;
  overflow: hidden;
  background-color: var(--ink, #0a0d0f);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  border: 1px solid var(--line, rgba(201,169,97,.25));
  position: relative;
  min-height: 220px;
  width: min(100%, 48vh, 440px);
  max-height: min(48vh, 440px);
  aspect-ratio: 1;
  perspective: 880px;
  perspective-origin: 50% 68%;
  backface-visibility: hidden;
  transition: box-shadow .5s ease, background .45s ease, background-position .45s cubic-bezier(.22, 1, .36, 1);
}
.m2m-lens {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  transform-origin: 50% 100%;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform;
  transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.m2m-grid-container.m2m-world-moving .m2m-lens {
  animation: m2mRoadVibration .18s infinite linear alternate;
}
.m2m-grid-container.m2m-world-moving[data-dim="1"] .m2m-lens {
  animation: secularHeavyMarch .6s infinite alternate;
}
@keyframes m2mRoadVibration {
  0% { transform: rotateX(22deg) rotateY(-2deg) rotateZ(1deg) scale(1.02) translate3d(0, 0, 0); }
  100% { transform: rotateX(22.6deg) rotateY(-1.5deg) rotateZ(.8deg) scale(1.02) translate3d(.4px, .5px, 0); }
}
@keyframes secularHeavyMarch {
  0% { transform: rotateX(22deg) scale(1.02); }
  100% { transform: rotateX(24deg) scale(.99); }
}
.m2m-world-layer {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  transform-origin: 0 0;
  will-change: transform;
  backface-visibility: hidden;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}
.m2m-grid-container.m2m-world-moving {
  background-color: var(--ink, #0a0d0f);
}
.m2m-grid-container.m2m-world-moving::before {
  content: "";
  position: absolute;
  inset: -30%;
  z-index: 4;
  pointer-events: none;
  background-image:
    linear-gradient(0deg, transparent 24%, rgba(201, 169, 97, 0.14) 25%, rgba(201, 169, 97, 0.14) 26%, transparent 27%, transparent 74%, rgba(201, 169, 97, 0.14) 75%, rgba(201, 169, 97, 0.14) 76%, transparent 77%),
    linear-gradient(90deg, transparent 24%, rgba(201, 169, 97, 0.08) 25%, rgba(201, 169, 97, 0.08) 26%, transparent 27%, transparent 74%, rgba(201, 169, 97, 0.08) 75%, rgba(201, 169, 97, 0.08) 76%, transparent 77%);
  background-size: 40px 40px;
  animation: terrainScrollBackwards 1.8s linear infinite;
  mix-blend-mode: screen;
  opacity: .72;
}
.m2m-grid-container.m2m-world-moving::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 42%, rgba(10,13,15,.55) 100%);
}
.m2m-grid-container.m2m-glitch-active {
  animation: hiveAttackGlitch .4s cubic-bezier(.25, .46, .45, .94);
}
@keyframes hiveAttackGlitch {
  0% { filter: hue-rotate(0deg) brightness(1); border-color: #1e293b; }
  25% { filter: hue-rotate(90deg) brightness(1.8); border-color: #ef4444; box-shadow: 0 0 25px #ef4444; }
  50% { filter: hue-rotate(180deg) brightness(.6); }
  75% { filter: hue-rotate(270deg) brightness(1.4); }
  100% { filter: hue-rotate(360deg) brightness(1); border-color: #1e293b; }
}
@media (prefers-reduced-motion: reduce) {
  .m2m-grid-container.m2m-glitch-active { animation: none; }
}
.m2m-map-cell {
  aspect-ratio: 1;
  background: rgba(15, 23, 42, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  transition: background .4s ease, border-color .4s ease;
}
.m2m-map-cell.is-trail {
  box-shadow: inset 0 0 0 1px rgba(201,169,97,.28);
}
.m2m-map-cell.is-next {
  box-shadow: inset 0 0 16px rgba(201,169,97,.28);
  border-color: var(--gold, #c9a961);
}
.m2m-map-cell.is-here {
  z-index: 2;
}
.m2m-map-cell.is-threat::after {
  content: "";
  position: absolute;
  inset: 6%;
  border: 1px solid rgba(184,65,47,.7);
  pointer-events: none;
  animation: pwRadar 1.15s cubic-bezier(.22, 1, .36, 1) infinite;
}
.m2m-walker-pawn {
  position: absolute;
  inset: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201,169,97,.16);
  border: 1px solid var(--gold, #c9a961);
  color: var(--gold2, #e3c987);
  font: 700 15px/1 "Songti SC", "Noto Serif SC", serif;
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
  will-change: transform;
  z-index: 6;
  pointer-events: none;
}
.m2m-grid-container > .m2m-walker-pawn {
  inset: auto;
  left: 50%;
  top: 50%;
  width: 17%;
  height: 17%;
  transform: translate(-50%, -50%);
}
.m2m-walker-pawn.is-live {
  animation: pwPawnBreath 1.8s ease-in-out infinite;
}
.m2m-walker-pawn.m2m-is-marching {
  animation: pawnMarchingPulse 0.35s ease-in-out infinite alternate;
  box-shadow: 0 0 25px rgba(201, 169, 97, 0.55), inset 0 0 10px rgba(201, 169, 97, 0.35);
  will-change: transform;
}
.m2m-walker-pawn.m2m-is-marching::after {
  content: "";
  position: absolute;
  inset: 18% -28% 18% auto;
  width: 42%;
  background: linear-gradient(90deg, rgba(201,169,97,.35), transparent);
  filter: blur(4px);
  pointer-events: none;
}
.m2m-map-cell.is-recoil {
  animation: pwRecoil .4s cubic-bezier(.22, 1, .36, 1);
}
.m2m-console-window {
  background: var(--ink, #0a0d0f);
  border: 1px solid var(--line, rgba(201,169,97,.25));
  padding: 10px 12px;
  height: 120px;
  overflow-y: auto;
  font-family: ui-monospace, "JetBrains Mono", Menlo, monospace;
  font-size: 12px;
  color: var(--moss, #2d5a4f);
  line-height: 1.45;
  scrollbar-color: var(--gold, #c9a961) transparent;
}
.m2m-console-window p { margin: 0 0 6px; color: #cbb991; }
.m2m-terminal-action-bar {
  display: flex;
  gap: 10px;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  width: min(1100px, calc(100% - 24px));
  bottom: 12px;
  z-index: 45;
  margin: 0;
  padding: 10px 12px;
  box-sizing: border-box;
  background: var(--scroll, #14100c);
  border: 1px solid var(--line, rgba(201,169,97,.25));
}
.m2m-path-walker-container {
  padding-bottom: 84px;
}
.m2m-btn-prime, .m2m-btn-danger {
  flex: 1;
  min-height: 44px;
  cursor: pointer;
  font-weight: 650;
  font-family: inherit;
}
.m2m-btn-prime {
  background: var(--gold, #c9a961);
  color: #14100c;
  border: 1px solid var(--gold, #c9a961);
}
.m2m-btn-prime:hover { filter: brightness(1.06); }
.m2m-btn-danger {
  background: transparent;
  color: var(--paper, #e8e0d0);
  border: 1px solid var(--line, rgba(201,169,97,.25));
}
.m2m-btn-danger:hover { border-color: var(--gold, #c9a961); color: var(--gold2, #e3c987); }
.m2m-btn-prime:focus-visible, .m2m-btn-danger:focus-visible {
  outline: 2px solid var(--gold, #c9a961);
  outline-offset: 2px;
}
.actor-harvest {
  animation: pwHarvest .42s ease forwards;
}
@keyframes pwRadar {
  0% { transform: scale(.86); opacity: .85; }
  100% { transform: scale(1.22); opacity: 0; }
}
@keyframes pwPawnBreath {
  0%, 100% { box-shadow: 0 6px 16px rgba(0,0,0,.35); }
  50% { box-shadow: 0 8px 22px rgba(201,169,97,.35); }
}
@keyframes terrainScrollBackwards {
  0% { background-position: 0px 0px; }
  100% { background-position: 0px 40px; }
}
@keyframes pawnMarchingPulse {
  0% { transform: translate(-50%, -50%) scale(1); }
  100% { transform: translate(-50%, -50%) scale(1.06); }
}
@keyframes pwRecoil {
  0% { transform: translate3d(calc(var(--rx, 0) * 12px), calc(var(--ry, 0) * 12px), 0); }
  100% { transform: none; }
}
@keyframes pwHarvest {
  to { opacity: 0; transform: scale(1.35); filter: blur(2px); }
}
@media (max-width: 768px) {
  .m2m-terminal-body { flex-direction: column; }
  .m2m-body-right-grid { width: 100%; order: 1; }
  .m2m-body-left-panel { width: 100%; order: 2; }
  .m2m-possess-hud { min-height: 0; }
  .m2m-vector-placeholder { height: 72px; }
  .m2m-hud-state { font-size: 18px; margin-bottom: 10px; }
  .m2m-path-walker-container { padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px)); }
  .m2m-terminal-action-bar {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    width: calc(100% - 16px);
  }
}
.m2m-map-cell.cell-road,
.m2m-map-cell.cell-wild {
  background-color: transparent;
}
.pw-sprite {
  position: relative;
  z-index: 1;
  width: 78%;
  height: 78%;
  object-fit: cover;
  display: block;
  pointer-events: none;
  box-shadow: 0 4px 10px rgba(0,0,0,.35);
}
.cell-hive .pw-sprite {
  box-shadow: 0 0 12px rgba(184, 65, 47, .35);
}
@keyframes pwRoadFlow {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes pwWildPulse {
  0%, 100% { box-shadow: inset 0 0 8px rgba(56, 189, 248, 0.05); }
  50% { box-shadow: inset 0 0 14px rgba(56, 189, 248, 0.16); }
}
@keyframes pwCarDrift {
  0%, 100% { transform: translateX(-1px); }
  50% { transform: translateX(2px); }
}
@keyframes pwGraze {
  0% { transform: translate(0, 0); }
  100% { transform: translate(2px, 1px); }
}
@keyframes pwBird {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes pwTentPulse {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(59, 130, 246, 0.35)); transform: translateY(0); }
  50% { filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.8)); transform: translateY(-1px); }
}
@keyframes pwHiveScan {
  0% { box-shadow: inset 0 0 0 0 rgba(239, 68, 68, 0.0); }
  50% { box-shadow: inset 0 0 12px 2px rgba(239, 68, 68, 0.35); }
  100% { box-shadow: inset 0 0 0 0 rgba(239, 68, 68, 0.0); }
}
.m2m-map-cell::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: .22;
  transition: background .45s ease, opacity .45s ease, box-shadow .45s ease;
}
.m2m-grid-container[data-dim="1"] { --pw-dim: 180, 40, 40; --pw-dim-hex: #3f1a1a; }
.m2m-grid-container[data-dim="2"] { --pw-dim: 16, 185, 129; --pw-dim-hex: #064e3b; }
.m2m-grid-container[data-dim="3"] { --pw-dim: 34, 197, 94; --pw-dim-hex: #14532d; }
.m2m-grid-container[data-dim="4"] { --pw-dim: 6, 182, 212; --pw-dim-hex: #155e75; }
.m2m-grid-container[data-dim="5"] { --pw-dim: 99, 102, 241; --pw-dim-hex: #312e81; }
.m2m-grid-container[data-dim="6"] { --pw-dim: 139, 92, 246; --pw-dim-hex: #4338ca; }
.m2m-grid-container[data-dim="7"] { --pw-dim: 244, 63, 94; --pw-dim-hex: #9f1239; }
.m2m-grid-container[data-dim="8"] { --pw-dim: 56, 189, 248; --pw-dim-hex: #0e7490; }
.m2m-grid-container[data-dim="9"] { --pw-dim: 20, 184, 166; --pw-dim-hex: #115e59; }
.m2m-grid-container[data-dim="10"] { --pw-dim: 236, 72, 153; --pw-dim-hex: #9d174d; }
.m2m-grid-container[data-dim="11"] { --pw-dim: 245, 158, 11; --pw-dim-hex: #78350f; }
.m2m-grid-container[data-dim="12"] { --pw-dim: 14, 165, 233; --pw-dim-hex: #075985; }
.m2m-grid-container[data-dim] .m2m-map-cell {
  border-color: var(--pw-dim-hex, rgba(201,169,97,.16));
}
.m2m-grid-container[data-dim] .m2m-map-cell::after {
  background: radial-gradient(circle at center, rgba(var(--pw-dim), .22) 0%, transparent 70%);
  mix-blend-mode: overlay;
  opacity: .35;
}
.m2m-grid-container[data-dim="1"] .m2m-world-layer { background-image: url('../img/dimensions/dim_01_secular.jpg'); }
.m2m-grid-container[data-dim="1"] { box-shadow: 0 0 30px rgba(127, 29, 29, .4), inset 0 0 40px #000; }
.m2m-grid-container[data-dim="1"] .m2m-map-cell { background: rgba(24, 13, 13, .22); border-color: rgba(239, 68, 68, .12); }
.m2m-grid-container[data-dim="1"] .pw-sprite { filter: grayscale(.8) brightness(.7); }
.m2m-grid-container[data-dim="1"] .m2m-walker-pawn { filter: grayscale(.55) brightness(.75); }
.m2m-grid-container[data-dim="2"] .m2m-world-layer { background-image: url('../img/dimensions/dim_02_hive.jpg'); }
.m2m-grid-container[data-dim="2"] { box-shadow: 0 0 30px rgba(16, 185, 129, .3), inset 0 0 40px #000; }
.m2m-grid-container[data-dim="2"] .m2m-map-cell { background: rgba(4, 18, 12, .22); border-color: rgba(16, 185, 129, .15); }
.m2m-grid-container[data-dim="3"] .m2m-world-layer { background-image: url('../img/dimensions/dim_03_symbiosis.jpg'); }
.m2m-grid-container[data-dim="3"] { box-shadow: 0 0 30px rgba(34, 197, 94, .25); }
.m2m-grid-container[data-dim="3"] .m2m-map-cell { background: rgba(2, 44, 12, .2); }
.m2m-grid-container[data-dim="4"] .m2m-world-layer { background-image: url('../img/dimensions/dim_04_atlantis.jpg'); }
.m2m-grid-container[data-dim="4"] { box-shadow: 0 0 30px rgba(6, 182, 212, .3); }
.m2m-grid-container[data-dim="4"] .m2m-map-cell { background: rgba(8, 47, 73, .22); }
.m2m-grid-container[data-dim="5"] .m2m-world-layer { background-image: url('../img/dimensions/dim_05_drift.jpg'); }
.m2m-grid-container[data-dim="5"] { box-shadow: 0 0 30px rgba(99, 102, 241, .3); }
.m2m-grid-container[data-dim="5"] .m2m-map-cell { background: rgba(30, 27, 75, .22); }
.m2m-grid-container[data-dim="6"] .m2m-world-layer { background-image: url('../img/dimensions/dim_06_cultivation.jpg'); }
.m2m-grid-container[data-dim="6"] { box-shadow: 0 0 35px rgba(139, 92, 246, .35), inset 0 0 50px #000; }
.m2m-grid-container[data-dim="6"] .m2m-map-cell { background: rgba(46, 16, 101, .2); }
.m2m-grid-container[data-dim="6"] .pw-sprite { filter: drop-shadow(0 0 10px #8b5cf6) saturate(1.3); }
.m2m-grid-container[data-dim="7"] .m2m-world-layer { background-image: url('../img/dimensions/dim_07_wulin.jpg'); }
.m2m-grid-container[data-dim="7"] { box-shadow: 0 0 30px rgba(244, 63, 94, .3); }
.m2m-grid-container[data-dim="7"] .m2m-map-cell { background: rgba(67, 12, 22, .22); }
.m2m-grid-container[data-dim="8"] .m2m-world-layer { background-image: url('../img/dimensions/dim_08_winter.jpg'); }
.m2m-grid-container[data-dim="8"] { box-shadow: 0 0 30px rgba(56, 189, 248, .35); }
.m2m-grid-container[data-dim="8"] .m2m-map-cell { background: rgba(12, 74, 110, .18); }
.m2m-grid-container[data-dim="9"] .m2m-world-layer { background-image: url('../img/dimensions/dim_09_spirit.jpg'); }
.m2m-grid-container[data-dim="9"] { box-shadow: 0 0 30px rgba(20, 184, 166, .25); }
.m2m-grid-container[data-dim="9"] .m2m-map-cell { background: rgba(13, 74, 68, .2); }
.m2m-grid-container[data-dim="10"] .m2m-world-layer { background-image: url('../img/dimensions/dim_10_orisha.jpg'); }
.m2m-grid-container[data-dim="10"] { box-shadow: 0 0 30px rgba(219, 39, 119, .3); }
.m2m-grid-container[data-dim="10"] .m2m-map-cell { background: rgba(131, 24, 67, .22); }
.m2m-grid-container[data-dim="11"] .m2m-world-layer { background-image: url('../img/dimensions/dim_11_samsara.jpg'); }
.m2m-grid-container[data-dim="11"] { box-shadow: 0 0 35px rgba(245, 158, 11, .4), inset 0 0 50px #000; }
.m2m-grid-container[data-dim="11"] .m2m-map-cell { background: rgba(120, 53, 15, .2); }
.m2m-grid-container[data-dim="12"] .m2m-world-layer { background-image: url('../img/dimensions/dim_12_ocean.jpg'); }
.m2m-grid-container[data-dim="12"] { box-shadow: 0 0 30px rgba(2, 132, 199, .35); }
.m2m-grid-container[data-dim="12"] .m2m-map-cell { background: rgba(12, 74, 110, .22); }
.m2m-grid-container.m2m-world-moving[data-dim="1"] .m2m-map-cell::after {
  animation: secularScrollBackwards 3s linear infinite;
}
@keyframes secularScrollBackwards {
  0% { background-position: 0 0; box-shadow: inset 0 0 10px rgba(239, 68, 68, .08); }
  100% { background-position: 0 40px; box-shadow: inset 0 0 20px rgba(239, 68, 68, .2); }
}
.m2m-grid-container.m2m-world-moving[data-dim="2"] .m2m-map-cell::after {
  background-image:
    linear-gradient(0deg, transparent 94%, rgba(16, 185, 129, .35) 95%),
    linear-gradient(90deg, transparent 94%, rgba(16, 185, 129, .35) 95%);
  background-size: 30px 30px;
  mix-blend-mode: screen;
  opacity: .7;
  animation: hiveScrollBackwards 1.2s linear infinite;
}
@keyframes hiveScrollBackwards {
  0% { background-position: 0 0; }
  100% { background-position: 0 30px; }
}
.m2m-grid-container[data-dim="2"].m2m-crt-red-glitch {
  animation: matrixOverloadFlash .35s ease-in-out;
}
@keyframes matrixOverloadFlash {
  0%, 100% { filter: brightness(1); }
  50% { filter: hue-rotate(80deg) brightness(1.6) contrast(1.25); }
}
.m2m-grid-container.m2m-world-moving[data-dim="4"] .m2m-map-cell::after {
  background-image: radial-gradient(rgba(6, 182, 212, .28) 1px, transparent 1px);
  background-size: 18px 18px;
  mix-blend-mode: screen;
  animation: mayaGridScroll 2.4s linear infinite;
}
.m2m-grid-container.m2m-world-moving[data-dim="6"] .m2m-map-cell::before {
  content: "";
  position: absolute;
  width: 46%;
  height: 22%;
  left: 28%;
  top: -18%;
  border-radius: 50%;
  background: rgba(199, 180, 255, .18);
  filter: blur(8px);
  z-index: 3;
  pointer-events: none;
  animation: cloudDriftBackwards 6s linear infinite;
}
@keyframes cloudDriftBackwards {
  0% { transform: translateY(-12px); opacity: .12; }
  100% { transform: translateY(72px); opacity: 0; }
}
.m2m-grid-container[data-dim="6"] .m2m-map-cell.cell-camp {
  box-shadow: inset 0 0 16px rgba(139, 92, 246, .45);
}
.m2m-grid-container.m2m-world-moving[data-dim="8"] .m2m-map-cell::after {
  mix-blend-mode: screen;
  opacity: .5;
  animation: secularScrollBackwards 4s linear infinite;
}
.m2m-grid-container.m2m-world-moving[data-dim="11"] .m2m-map-cell::after {
  background-image: radial-gradient(rgba(245, 158, 11, .28) 1px, transparent 0);
  background-size: 24px 24px;
  mix-blend-mode: overlay;
  animation: mayaGridScroll 2s linear infinite;
}
@keyframes mayaGridScroll {
  0% { background-position: 0 0; }
  100% { background-position: 0 24px; }
}
.m2m-grid-container[data-dim="11"] .m2m-map-cell.cell-camp,
.m2m-grid-container[data-dim="11"] .m2m-map-cell.cell-gift {
  animation: actorFloating 2s ease-in-out infinite alternate;
}
@keyframes actorFloating {
  0% { transform: translateY(0); }
  100% { transform: translateY(-3px); }
}
.m2m-grid-container.m2m-world-moving[data-dim="12"] .m2m-map-cell::after {
  background-image: linear-gradient(180deg, transparent 40%, rgba(14, 165, 233, .2) 100%);
  animation: secularScrollBackwards 3.4s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .m2m-grid-container.m2m-world-moving,
  .m2m-grid-container.m2m-world-moving::before,
  .m2m-grid-container.m2m-world-moving .m2m-map-cell,
  .m2m-grid-container.m2m-world-moving .m2m-map-cell::after,
  .m2m-grid-container.m2m-world-moving .m2m-map-cell::before,
  .m2m-grid-container.m2m-world-moving .m2m-lens,
  .m2m-grid-container.m2m-world-moving .m2m-world-layer,
  .m2m-vector-placeholder::before {
    animation: none !important;
  }
  .m2m-grid-container.m2m-world-moving .m2m-lens {
    transform: none !important;
  }
  .m2m-walker-pawn.m2m-is-marching,
  .m2m-walker-pawn.m2m-is-marching::after,
  .m2m-walker-pawn.is-live,
  .m2m-map-cell.is-recoil,
  .m2m-map-cell.is-threat::after,
  .actor-harvest,
  .m2m-grid-container[data-dim="11"] .m2m-map-cell.cell-camp,
  .m2m-grid-container[data-dim="11"] .m2m-map-cell.cell-gift {
    animation: none;
    transition: none;
    filter: none;
  }
  .m2m-walker-pawn.m2m-is-marching {
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 2px var(--gold, #c9a961);
  }
}
