.home-page-v401 #home-living-map{
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(9,24,34,.08),rgba(7,21,29,.28)),
    url("./assets/textures/xfartura-glass-lounge-v400.png") center/cover no-repeat;
}

.home-page-v401 #home-living-map canvas{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  touch-action:none;
}

.xf-compatible-stage{
  --xf-compatible-zoom:1;
  --xf-compatible-exposure:1.48;
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#10212b;
  filter:brightness(calc(.68 + var(--xf-compatible-exposure) * .22));
  touch-action:none;
  user-select:none;
}

.xf-compatible-architecture{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(10,30,42,.03) 0%,rgba(6,20,27,.12) 55%,rgba(5,15,22,.4) 100%),
    url("./assets/textures/xfartura-glass-lounge-v400.png") center/cover no-repeat;
  transform:scale(calc(.98 + var(--xf-compatible-zoom) * .02));
  transform-origin:center 62%;
  transition:transform .28s ease;
}

.xf-compatible-architecture::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 14%,rgba(255,255,255,.08) 14.2%,transparent 14.7%,transparent 49.8%,rgba(255,137,69,.08) 50%,transparent 50.4%,transparent 85%,rgba(255,255,255,.07) 85.2%,transparent 85.7%),
    linear-gradient(180deg,rgba(142,213,226,.05),transparent 46%,rgba(255,116,43,.09));
  mix-blend-mode:screen;
}

.xf-compatible-map-world{
  position:absolute;
  left:4%;
  right:4%;
  top:42%;
  bottom:-30%;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,1fr);
  overflow:hidden;
  border:1px solid rgba(255,168,104,.72);
  border-radius:18px 18px 4px 4px;
  background:#dce8e8;
  box-shadow:0 -2px 0 rgba(255,123,49,.72),0 0 34px rgba(255,102,26,.22),inset 0 0 34px rgba(5,28,40,.18);
  transform:perspective(760px) rotateX(55deg) scale(var(--xf-compatible-zoom));
  transform-origin:center top;
  transition:transform .24s ease;
}

.xf-compatible-map-world::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg,rgba(7,143,154,.13) 0 1px,transparent 1px 18%),
    repeating-linear-gradient(0deg,rgba(255,107,32,.1) 0 1px,transparent 1px 18%),
    linear-gradient(180deg,rgba(235,252,252,.06),rgba(8,39,49,.16));
  mix-blend-mode:multiply;
}

.xf-compatible-map-world img{
  width:100%;
  height:100%;
  min-width:0;
  object-fit:cover;
  display:block;
  filter:saturate(1.25) contrast(1.1) brightness(1.06);
}

.xf-compatible-map-glow{
  position:absolute;
  z-index:4;
  left:7%;
  right:7%;
  bottom:2%;
  height:22%;
  pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(47,217,222,.2),transparent 68%);
  transform:scaleX(var(--xf-compatible-zoom));
  opacity:.8;
}

.xf-compatible-marker-layer{
  position:absolute;
  inset:0;
  z-index:8;
  pointer-events:none;
}

.xf-compatible-marker{
  --xf-marker-primary:#ff5a1f;
  --xf-marker-secondary:#16b8b1;
  position:absolute;
  display:grid;
  grid-template-columns:48px minmax(105px,170px);
  align-items:center;
  gap:7px;
  width:auto;
  min-height:52px;
  padding:0;
  border:0;
  color:#fff;
  background:transparent;
  transform:translate(-24px,-100%) scale(calc(.83 + var(--xf-marker-depth) * .22)) scale(var(--xf-compatible-zoom));
  transform-origin:24px bottom;
  pointer-events:auto;
  cursor:pointer;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.26));
  transition:transform .22s ease,filter .22s ease;
}

.xf-compatible-marker:hover,
.xf-compatible-marker:focus-visible{
  transform:translate(-24px,-100%) scale(calc(.9 + var(--xf-marker-depth) * .22)) scale(var(--xf-compatible-zoom));
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.34));
  outline:none;
}

.xf-compatible-pin{
  position:relative;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:2px solid color-mix(in srgb,var(--xf-marker-primary) 74%,white);
  border-radius:50% 50% 50% 14%;
  background:linear-gradient(145deg,color-mix(in srgb,var(--xf-marker-primary) 84%,white),var(--xf-marker-primary));
  box-shadow:0 0 0 5px color-mix(in srgb,var(--xf-marker-primary) 18%,transparent),0 0 24px color-mix(in srgb,var(--xf-marker-primary) 55%,transparent);
  transform:rotate(-45deg);
  animation:xf-compatible-pin-float 3.8s ease-in-out infinite;
}

.xf-compatible-pin::after{
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 9px);
  width:36px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(ellipse,color-mix(in srgb,var(--xf-marker-primary) 55%,transparent),transparent 72%);
  transform:translateX(-50%) rotate(45deg);
}

.xf-compatible-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  overflow:hidden;
  border-radius:50%;
  background:rgba(13,25,34,.9);
  color:#fff;
  font-size:10px;
  font-weight:900;
  transform:rotate(45deg);
}

.xf-compatible-icon img{width:100%;height:100%;object-fit:cover;display:block}

.xf-compatible-marker-card{
  display:grid;
  gap:2px;
  min-width:0;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--xf-marker-primary) 58%,rgba(255,255,255,.35));
  border-radius:8px;
  background:linear-gradient(135deg,rgba(11,26,36,.88),rgba(19,39,48,.64));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 22px rgba(0,0,0,.18);
  backdrop-filter:blur(11px) saturate(1.18);
  text-align:left;
}

.xf-compatible-marker-card strong,
.xf-compatible-marker-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xf-compatible-marker-card strong{font-size:12px;color:#fff}
.xf-compatible-marker-card small{font-size:10px;color:#d9edf1}
.xf-compatible-marker.is-viewer .xf-compatible-marker-card{border-color:rgba(104,225,231,.72)}

.xf-compatible-camera-texture{
  position:absolute;
  inset:0;
  z-index:12;
  pointer-events:none;
  border:1px solid rgba(255,178,124,.22);
  background:
    linear-gradient(115deg,rgba(255,255,255,.08),transparent 18%,transparent 74%,rgba(255,121,50,.055)),
    radial-gradient(ellipse at center,transparent 50%,rgba(5,18,27,.22) 100%);
  box-shadow:inset 0 0 42px rgba(95,207,217,.06),inset 0 -38px 70px rgba(4,14,22,.2);
  mix-blend-mode:screen;
  opacity:.88;
}

.xf-compatible-merch{
  position:absolute;
  z-index:10;
  right:13%;
  top:24%;
  display:grid;
  gap:2px;
  max-width:min(270px,34vw);
  padding:11px 14px;
  border:1px solid rgba(255,150,86,.72);
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg,rgba(12,26,35,.91),rgba(61,34,25,.73));
  box-shadow:0 12px 28px rgba(0,0,0,.25),0 0 24px rgba(255,100,27,.14);
  backdrop-filter:blur(12px);
  text-align:left;
  cursor:pointer;
  animation:xf-compatible-merch-drift 18s ease-in-out infinite alternate;
}

.xf-compatible-merch span{font-size:9px;font-weight:900;color:#ff9d5f;text-transform:uppercase}
.xf-compatible-merch strong{font-size:14px;line-height:1.2}
.xf-compatible-merch small{font-size:10px;color:#dcecef}
.xf-compatible-status{z-index:15;background:rgba(11,27,36,.74);backdrop-filter:blur(10px)}

@keyframes xf-compatible-pin-float{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}

@keyframes xf-compatible-merch-drift{
  from{translate:-3px 0}
  to{translate:6px -4px}
}

@media (max-width:720px){
  .xf-compatible-map-world{left:-8%;right:-8%;top:40%;bottom:-32%;transform:perspective(620px) rotateX(57deg) scale(var(--xf-compatible-zoom))}
  .xf-compatible-marker{grid-template-columns:42px minmax(86px,132px);transform:translate(-21px,-100%) scale(calc(.76 + var(--xf-marker-depth) * .2)) scale(var(--xf-compatible-zoom))}
  .xf-compatible-marker:hover,.xf-compatible-marker:focus-visible{transform:translate(-21px,-100%) scale(calc(.82 + var(--xf-marker-depth) * .2)) scale(var(--xf-compatible-zoom))}
  .xf-compatible-pin{width:42px;height:42px}
  .xf-compatible-icon{width:29px;height:29px}
  .xf-compatible-marker-card{padding:7px 8px}
  .xf-compatible-marker-card strong{font-size:10px}
  .xf-compatible-marker-card small{font-size:9px}
  .xf-compatible-merch{right:17%;top:21%;max-width:47vw;padding:8px 10px}
  .xf-compatible-merch strong{font-size:11px}
}

@media (prefers-reduced-motion:reduce){
  .xf-compatible-pin,.xf-compatible-merch{animation:none}
  .xf-compatible-architecture,.xf-compatible-map-world,.xf-compatible-marker{transition:none}
}
