.ww-building-door {
  cursor: pointer !important;
  outline: none;
  transition: filter 180ms ease, transform 180ms ease;
}

.ww-building-door:hover,
.ww-building-door:focus-visible {
  filter: brightness(1.25) drop-shadow(0 0 9px rgba(255, 224, 130, 0.75));
}

.ww-building-prompt {
  position: absolute;
  z-index: 14;
  left: 50%;
  bottom: 23.5%;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.84);
  background: rgba(15, 20, 31, 0.8);
  box-shadow: 0 8px 22px rgba(8, 12, 21, 0.2);
  font: 10px/1 Inter, system-ui, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 7px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.scene-landmark:hover ~ .ww-building-prompt,
.scene-landmark:focus-within ~ .ww-building-prompt {
  opacity: 1;
  transform: translate(-50%, 0);
}

.world-screen {
  perspective: 1500px;
  perspective-origin: 50% 42%;
}

.scene {
  isolation: isolate;
  overflow: hidden;
  transform-style: preserve-3d;
  perspective: 1200px;
  perspective-origin: 50% 48%;
}

.scene::before,
.scene::after {
  transform: translateZ(-90px) scale(1.12);
  transform-origin: center bottom;
}

.scene > .scene-sun {
  translate: calc(var(--ww-scene-x, 0) * -28px) calc(var(--ww-scene-y, 0) * -18px) 90px;
  transform-style: preserve-3d;
  transition: translate 550ms ease-out;
}

.scene > .scene-cloud {
  translate: calc(var(--ww-scene-x, 0) * -17px) calc(var(--ww-scene-y, 0) * -10px) 46px;
  transform-style: preserve-3d;
  transition: translate 550ms ease-out;
}

.scene > .scene-hill {
  translate: calc(var(--ww-scene-x, 0) * 12px) calc(var(--ww-scene-y, 0) * 8px) 18px;
  transform-style: preserve-3d;
  transition: translate 550ms ease-out;
}

.scene > .scene-tree {
  translate: calc(var(--ww-scene-x, 0) * 21px) calc(var(--ww-scene-y, 0) * 14px) 34px;
  transform-style: preserve-3d;
  transition: translate 550ms ease-out;
}

.scene > .scene-landmark {
  translate: calc(var(--ww-scene-x, 0) * 32px) calc(var(--ww-scene-y, 0) * 21px) 72px;
  transform-style: preserve-3d;
  filter: drop-shadow(0 24px 14px rgba(9, 14, 25, 0.34));
  transition: translate 550ms ease-out, filter 300ms ease;
}

.scene > .scene-path {
  translate: calc(var(--ww-scene-x, 0) * 8px) calc(var(--ww-scene-y, 0) * 5px) 12px;
  transform-style: preserve-3d;
}

.scene > .player {
  translate: calc(var(--ww-scene-x, 0) * 38px) calc(var(--ww-scene-y, 0) * 25px) 68px;
  transform-style: preserve-3d;
  filter: drop-shadow(0 18px 8px rgba(7, 11, 20, 0.38));
  transition: translate 260ms ease-out;
}

.scene > .parkour-platform {
  transform: translateZ(46px);
  transform-style: preserve-3d;
}

.jump-control {
  position: absolute;
  z-index: 12;
  right: 24px;
  bottom: 34px;
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border: 1px solid rgba(245, 238, 215, 0.34);
  border-radius: 50%;
  color: #f7efd3;
  background: radial-gradient(circle at 35% 25%, #a79aff, #6352c0 72%);
  box-shadow:
    inset 0 0 0 8px rgba(255, 255, 255, 0.08),
    0 10px 24px rgba(4, 6, 18, 0.36),
    0 0 28px rgba(125, 106, 255, 0.22);
  font: 700 13px/1 Inter, system-ui, sans-serif;
  letter-spacing: 0.04em;
  touch-action: none;
  user-select: none;
  transition: transform 120ms ease, filter 120ms ease;
}

.jump-control:hover,
.jump-control:focus-visible {
  filter: brightness(1.15);
  transform: translateY(-2px) scale(1.04);
}

.jump-control:active {
  transform: translateY(2px) scale(0.96);
}

.multiplayer-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(244, 239, 217, 0.66);
  font: 10px/1 Inter, system-ui, sans-serif;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.multiplayer-status::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9a9eaa;
  box-shadow: 0 0 0 3px rgba(154, 158, 170, 0.12);
}

.multiplayer-online {
  color: #a9ffcb;
}

.multiplayer-online::before {
  background: #6ee7a1;
  box-shadow: 0 0 0 3px rgba(110, 231, 161, 0.14), 0 0 12px rgba(110, 231, 161, 0.5);
}

.multiplayer-connecting::before {
  background: #ffd977;
  box-shadow: 0 0 0 3px rgba(255, 217, 119, 0.14);
}

.player-remote {
  z-index: 4;
  opacity: 0.88;
  filter: drop-shadow(0 16px 8px rgba(7, 11, 20, 0.3));
  transition: left 90ms linear, bottom 90ms linear, opacity 180ms ease;
}

.player-remote .ww-name-tag {
  background: rgba(21, 27, 40, 0.78);
  border-color: rgba(169, 157, 255, 0.3);
}

.ww-room-overlay {
  position: absolute;
  z-index: 50;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 56px);
  color: #f3f0e7;
  background:
    radial-gradient(circle at 76% 17%, rgba(156, 141, 255, 0.24), transparent 24rem),
    rgba(8, 12, 22, 0.82);
  opacity: 0;
  backdrop-filter: blur(8px);
  transition: opacity 220ms ease;
}

.ww-room-overlay.ww-room-open { opacity: 1; }
.ww-room-overlay.ww-room-closing { opacity: 0; }

.ww-room-shell {
  position: relative;
  overflow: hidden;
  width: min(100%, 980px);
  min-height: min(680px, 80vh);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background: linear-gradient(145deg, #273248 0%, #121a27 62%, #0e141e 100%);
  box-shadow: 0 34px 100px rgba(0, 0, 0, 0.52), 0 0 0 1px rgba(155, 140, 255, 0.08);
  transform: translateY(16px) scale(0.98);
  transition: transform 360ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ww-room-open .ww-room-shell { transform: translateY(0) scale(1); }

.ww-room-header {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(22px, 4vw, 46px) clamp(22px, 5vw, 58px) 0;
}

.ww-room-heading { max-width: 550px; }
.ww-room-kicker {
  margin: 0 0 12px;
  color: #a89dff;
  font: 10px/1 Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0.16em;
}

.ww-room-title {
  margin: 0 0 10px;
  color: #f4efd9;
  font: 600 clamp(30px, 5vw, 58px)/0.95 Fraunces, Georgia, serif;
  letter-spacing: -0.055em;
}

.ww-room-copy {
  max-width: 470px;
  margin: 0;
  color: rgba(236, 238, 246, 0.7);
  font: 14px/1.6 Inter, system-ui, sans-serif;
}

.ww-room-close {
  flex: none;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  padding: 10px 14px;
  color: #f4efd9;
  background: rgba(255, 255, 255, 0.08);
  font: 600 12px/1 Inter, system-ui, sans-serif;
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.ww-room-close:hover,
.ww-room-close:focus-visible {
  border-color: rgba(169, 157, 255, 0.8);
  background: rgba(169, 157, 255, 0.18);
  transform: translateY(-2px);
}

.ww-room-status {
  position: relative;
  z-index: 6;
  margin: 32px clamp(22px, 5vw, 58px) 0;
  color: rgba(244, 239, 217, 0.58);
  font: 10px/1 Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ww-room-action-flash .ww-room-status { color: #a9ffcb; }

.ww-room-wall {
  position: absolute;
  inset: 32% 0 auto;
  height: 34%;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(175deg, #34445b, #202d43 58%, #1a2335);
  box-shadow: inset 0 -18px 0 rgba(8, 12, 21, 0.18), 0 -1px rgba(255, 255, 255, 0.1);
  transform: perspective(850px) rotateX(6deg);
  transform-origin: bottom;
}

.ww-room-wall::after {
  content: "";
  position: absolute;
  inset: auto 0 -12px;
  height: 14px;
  background: rgba(10, 14, 23, 0.42);
  filter: blur(5px);
}

.ww-room-window {
  position: absolute;
  top: 22%;
  left: 17%;
  width: 22%;
  height: 58%;
  border: 8px solid #182334;
  background: linear-gradient(145deg, rgba(182, 221, 255, 0.78), rgba(99, 109, 194, 0.18) 68%, rgba(12, 17, 28, 0.6));
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.13), 0 18px 32px rgba(0, 0, 0, 0.22), inset 0 0 32px rgba(174, 214, 255, 0.35);
}

.ww-room-window::before,
.ww-room-window::after {
  content: "";
  position: absolute;
  background: rgba(18, 30, 46, 0.78);
}

.ww-room-window::before { top: 0; bottom: 0; left: 50%; width: 4px; }
.ww-room-window::after { left: 0; right: 0; top: 53%; height: 4px; }

.ww-room-window-glow {
  position: absolute;
  top: 28%;
  left: 21%;
  width: 16%;
  height: 48%;
  border-radius: 50%;
  background: rgba(164, 219, 255, 0.2);
  filter: blur(22px);
}

.ww-room-picture {
  position: absolute;
  top: 22%;
  right: 22%;
  width: 13%;
  height: 32%;
  border: 8px solid #182334;
  background: linear-gradient(145deg, rgba(168, 151, 255, 0.9), rgba(237, 162, 111, 0.55) 50%, rgba(43, 77, 91, 0.8));
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  transform: rotate(3deg);
}

.ww-room-shelf {
  position: absolute;
  right: 17%;
  bottom: 19%;
  width: 22%;
  height: 8px;
  border-radius: 2px;
  background: #131d2a;
  box-shadow: 0 10px 0 -3px rgba(8, 12, 21, 0.35);
}

.ww-room-floor {
  position: absolute;
  inset: 65% 0 0;
  overflow: hidden;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 78px),
    linear-gradient(155deg, #23354a 0%, #172334 64%, #111925 100%);
  transform: perspective(850px) rotateX(57deg);
  transform-origin: top;
}

.ww-room-floor::after {
  content: "";
  position: absolute;
  inset: 45% 0 auto;
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
}

.ww-room-rug {
  position: absolute;
  top: 20%;
  left: 35%;
  width: 30%;
  height: 44%;
  border: 1px solid rgba(180, 163, 255, 0.42);
  border-radius: 50%;
  background: rgba(127, 113, 211, 0.25);
  box-shadow: inset 0 0 0 11px rgba(127, 113, 211, 0.08), 0 16px 23px rgba(5, 8, 15, 0.2);
}

.ww-room-table {
  position: absolute;
  top: 33%;
  left: 43%;
  width: 13%;
  height: 24%;
  border-radius: 50%;
  background: #674e47;
  box-shadow: 0 38px 0 -13px #352e31, 0 60px 15px rgba(7, 9, 14, 0.28);
}

.ww-room-lamp {
  position: absolute;
  top: 14%;
  left: 48%;
  width: 5%;
  height: 28%;
  border-radius: 50% 50% 5px 5px;
  background: #f0c96b;
  box-shadow: 0 0 38px 14px rgba(239, 193, 89, 0.18);
}

.ww-room-chair {
  position: absolute;
  top: 34%;
  right: 29%;
  width: 10%;
  height: 24%;
  border: 5px solid #273c53;
  border-radius: 30% 30% 8px 8px;
  background: #6c7598;
}

.ww-room-actions {
  position: absolute;
  z-index: 8;
  right: clamp(22px, 5vw, 58px);
  bottom: clamp(22px, 4vw, 46px);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.ww-room-action {
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 9px 12px;
  color: rgba(244, 239, 217, 0.82);
  background: rgba(7, 11, 20, 0.46);
  font: 11px/1 Inter, system-ui, sans-serif;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.ww-room-action:hover,
.ww-room-action:focus-visible {
  border-color: rgba(169, 157, 255, 0.72);
  background: rgba(169, 157, 255, 0.16);
  transform: translateY(-2px);
}

.ww-room-lava .ww-room-wall { background: linear-gradient(145deg, #62373b, #2c1c2a 64%, #181725); }
.ww-room-lava .ww-room-window { background: linear-gradient(145deg, #ffb94c, #a42625 68%, #291526); }
.ww-room-lava .ww-room-picture { background: linear-gradient(145deg, #ffb94c, #d73823 52%, #30203a); }
.ww-room-night .ww-room-wall { background: linear-gradient(145deg, #27346a, #1c2149 64%, #13192e); }
.ww-room-night .ww-room-window { background: linear-gradient(145deg, #7889e0, #292d70 60%, #11172b); }
.ww-room-night .ww-room-picture { background: linear-gradient(145deg, #65d6ff, #262f88 58%, #ef9ac2); }
.ww-room-island .ww-room-wall { background: linear-gradient(145deg, #3d8195, #275667 64%, #183d50); }
.ww-room-island .ww-room-window { background: linear-gradient(145deg, #b8f1ed, #5bb5c1 62%, #216075); }
.ww-room-forest .ww-room-wall { background: linear-gradient(145deg, #486c59, #294b4e 64%, #1d3038); }
.ww-room-forest .ww-room-window { background: linear-gradient(145deg, #c9e19c, #5a9b75 62%, #233f43); }
.ww-room-crimson .ww-room-wall { background: linear-gradient(145deg, #783b51, #4a263f 64%, #24192b); }
.ww-room-crimson .ww-room-window { background: linear-gradient(145deg, #f4b590, #b94763 62%, #381b31); }

@media (max-width: 650px) {
  .ww-building-prompt { display: none; }
  .multiplayer-status { font-size: 9px; }
  .jump-control {
    right: 18px;
    bottom: 34px;
    width: 76px;
    height: 76px;
  }
  .ww-room-overlay { padding: 12px; }
  .ww-room-shell { min-height: min(690px, 90vh); border-radius: 18px; }
  .ww-room-header { gap: 12px; padding: 22px 20px 0; }
  .ww-room-title { font-size: 35px; }
  .ww-room-copy { font-size: 12px; }
  .ww-room-close { padding: 9px 11px; font-size: 10px; }
  .ww-room-status { margin: 22px 20px 0; font-size: 9px; }
  .ww-room-wall { inset: 37% 0 auto; height: 27%; }
  .ww-room-floor { inset: 64% 0 0; }
  .ww-room-actions { right: 20px; bottom: 20px; left: 20px; }
  .ww-room-action { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .scene > .scene-sun,
  .scene > .scene-cloud,
  .scene > .scene-hill,
  .scene > .scene-tree,
  .scene > .scene-landmark,
  .scene > .player,
  .ww-room-shell,
  .ww-room-overlay,
  .ww-room-action,
  .ww-room-close {
    transition: none;
  }
}.brand-mark{background:transparent!important;box-shadow:none!important;overflow:visible}
.brand-robot{width:30px;height:30px;object-fit:contain;display:block}
.scene.ww3d>.ww3d-canvas{position:absolute;inset:0;width:100%!important;height:100%!important;z-index:0;pointer-events:none}
.scene.ww3d>.scene-sun,.scene.ww3d>.scene-cloud,.scene.ww3d>.scene-hill,.scene.ww3d>.scene-tree,.scene.ww3d>.scene-path,.scene.ww3d>[class*="landmark"],.scene.ww3d>.parkour-platform,.scene.ww3d>.underwater-ruin{opacity:0!important}
.scene.ww3d{background:#000!important}
.scene.ww3d:before,.scene.ww3d:after{display:none!important}
.scene.ww3d .player-figure .ww-avatar>*,.scene.ww3d .player-figure .bot-shooter{visibility:hidden}
.ww3d-name{position:absolute;z-index:6;transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap;font:600 12px/1 "DM Sans",sans-serif;color:#fff;background:#0f1a17cc;padding:4px 8px;border-radius:999px}
.ww-color-inputs{display:flex;align-items:center;gap:10px}
.ww-color-wheel-btn{width:36px;height:36px;border-radius:50%;border:2px solid #0002;padding:0;cursor:pointer;background:conic-gradient(red,yellow,lime,cyan,blue,magenta,red);overflow:hidden}
.ww-color-wheel-btn::-webkit-color-swatch-wrapper{padding:3px}
.ww-color-wheel-btn::-webkit-color-swatch{border:none;border-radius:50%}
.ww-color-wheel-btn::-moz-color-swatch{border:none;border-radius:50%}
.ww-hex-input{width:96px!important;font-family:"DM Mono",monospace;text-transform:lowercase}
.scene.ww3d>.lava-pool{opacity:0!important}
.scene.ww3d>.scene-landmark{visibility:visible}
.scene.ww3d .bot-shooter,.scene.ww3d .bot-enemy,.scene.ww3d .bot-bullet,.scene.ww3d .core-bridge,.scene.ww3d .core-platform,.scene.ww3d .energy-core,.scene.ww3d .glitch-floor-segment,.scene.ww3d .digital-cube,.scene.ww3d .seaweed,.scene.ww3d .oxygen-bubble,.scene.ww3d .crystal-key{visibility:hidden!important}
