/* one stylesheet: web + in-world, client rules last in source order */
:root {
  --gap: 0.2rem;
  --bg: #0d0d0d;
  --fg: #f5f5f0;
  --surface: #1a1a1a;
  --surface-2: #222;
  --line: #333;
  --line-trans: #333a;
  --scroll-track: #444;
  --disabled: #666;
  --muted: #888;
  --muted-2: #999;
  --muted-3: #ccc;
  --border-color: #aaa;
  --hover: #f3f3f3;
  --accent: #dc1e1e;
  --red: var(--accent);
  --axis-x: var(--accent);
  --axis-y: #6bbf59;
  --axis-z: #6b9fd4;
  --border: 1px solid var(--border-color);
  --softborder: 1px solid var(--border-color);
  --soft: var(--muted);
  --semi: rgba(13, 13, 13, 0.85);
  --bright: var(--fg);
  --dark: var(--bg);
  --tinge: var(--surface);
  --chatbar: 3rem;
}
@font-face {
  font-family: 'source code pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Source Code Pro'), url(/fonts/sourcecodepro-regular.woff) format('woff');
}
html,
body {
  margin: 0;
  padding: 0;
}
body {
  font-family: 'Source Code Pro', monospace;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 20rem;
  color: var(--fg);
  background: var(--bg);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  margin: 0 0 0.5rem;
}
h1 {
  font-size: 2.2rem;
}
h1 {
  font-size: 2.2rem;
}
h2 {
  font-size: 1.5rem;
}
h2 {
  font-size: 1.5rem;
}
h3 {
  font-size: 1.2rem;
}
h3 {
  font-size: 1.2rem;
}
h4,
h5,
h6 {
  font-size: 1rem;
}
h4,
h5,
h6 {
  font-size: 1rem;
}
a {
  color: var(--accent);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
button,
input,
textarea,
select {
  font: inherit;
}
* {
  touch-action: manipulation;
}
.costumer-page aside {
  width: 25vw !important;
}
.costumer-page figure {
  position: relative;
}
.costumer-page #gizmos {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.costumer-page a.pending {
  opacity: 0.5;
}
.costumer-page .editor-field {
  margin: 0.25rem 0;
}
.costumer-page .editor-field .fields {
  background: var(--hover);
  padding: 0.2rem;
  display: flex;
  flex-direction: row;
  gap: 0.2rem;
}
.costumer-page .editor-field .fields input {
  flex: 1;
  padding: 0.2rem;
  width: 0;
}
.costumer-page .editor-field.scale input {
  width: 22%;
}
.costumer-page .action {
  text-align: right;
  padding-top: 0.25rem;
}
.costumer-page ul.skin-list li {
  padding: 2px 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
.costumer-page ul.skin-list li.everything input {
  margin-left: 1.2rem;
}
.costumer-page ul.skin-list input[type='checkbox'] {
  width: 0.75rem;
  height: 0.75rem;
  margin-right: 2px;
}
.costumer-page ul.skin-list input[type='color'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  width: 1rem;
  height: 1rem;
  margin: 0 1px;
  padding: 0;
}
.costumer-page ul.skin-list input[type='color']::-webkit-color-swatch {
  padding: 0;
  margin: 0;
}
.costumer-page ul.skin-list input[type='color']::-moz-color-swatch {
  padding: 0;
  margin: 0;
}
.costumer-page ul.skin-list label {
  cursor: pointer;
}
.costumer-page .wearables {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.costumer-page .wearables div.attachment {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.costumer-page .wearables div.attachment cite {
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  border: 1px solid var(--muted-3);
  font-size: 0.8rem;
  overflow: hidden;
  background: var(--hover);
  color: var(--disabled);
}
.costumer-page .wearables div.attachment p {
  margin: 0;
}
.costumer-page .wearable-selector {
  max-width: 30vw;
}
.costumer-page .wearable-selector ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.costumer-page .wearable-selector ul li > div {
  width: 4rem;
  height: 4rem;
}
.costumer-page .wearable-selector ul li > img {
  width: 4rem;
  height: 4rem;
  object-fit: cover;
  transform: scale(1.5);
}
.costumer-page .wearable-selector ul span {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 4rem;
  font-size: 0.8rem;
}
@keyframes cube-rock {
  0% {
    transform: rotateX(-15deg) rotateY(-35deg);
  }
  50% {
    transform: rotateX(-15deg) rotateY(-215deg);
  }
  100% {
    transform: rotateX(-15deg) rotateY(-395deg);
  }
}
.cube-logo {
  box-sizing: border-box;
  position: relative;
  top: -0.5rem;
  display: inline-block;
  --size: 10px;
  --fore: var(--muted-3);
  --back: #777;
  --half: calc(var(--size) / 2);
  min-width: calc(6 * var(--size));
  min-height: calc(5 * var(--size));
  transform-style: preserve-3d;
  transform: rotateX(-15deg) rotateY(-35deg);
}
.cube-logo:hover {
  animation: cube-rock 1s linear infinite;
}
.cube-logo .box {
  width: calc(var(--size) + 1px);
  height: calc(var(--size) + 1px);
  position: absolute;
  transform-style: preserve-3d;
}
.cube-logo .face-N,
.cube-logo .face-E,
.cube-logo .face-S,
.cube-logo .face-W,
.cube-logo .face-F,
.cube-logo .face-B {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border: 1px solid var(--line);
}
.cube-logo .face-F {
  transform: rotateY(0deg) translateZ(var(--half));
  background: var(--fore);
}
.cube-logo .face-B {
  transform: rotateY(180deg) translateZ(var(--half));
  background: var(--back);
}
.cube-logo .face-E {
  transform: rotateY(90deg) translateZ(var(--half));
  background: linear-gradient(to right, var(--fore), var(--back));
}
.cube-logo .face-W {
  transform: rotateY(-90deg) translateZ(var(--half));
  background: linear-gradient(to left, var(--fore), var(--back));
}
.cube-logo .face-N {
  transform: rotateX(90deg) translateZ(var(--half));
  background: linear-gradient(to top, var(--fore), var(--back));
}
.cube-logo .face-S {
  transform: rotateX(-90deg) translateZ(var(--half));
}
.voxel-radio {
  display: flex;
  flex-direction: row;
  gap: var(--gap);
  padding: var(--gap);
  border: var(--border);
}
.admin-tabs {
  display: flex;
  gap: 1rem;
  margin: 1rem 0;
}
.admin-tabs button.active {
  text-decoration: underline;
}
.classifieds-tabs {
  display: flex;
  gap: 1rem;
  margin: 1rem 0;
  border-bottom: var(--border);
}
.classifieds-tabs button {
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  padding: 0.5rem 0;
  color: var(--muted);
}
.classifieds-tabs button.active {
  color: inherit;
  border-bottom-color: var(--red);
}
.admin-section {
  margin-top: 1rem;
}
.admin-card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.classifieds-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.classifieds-head h3 {
  margin: 0;
}
.classifieds-currency {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: smaller;
}
.classifieds-currency span {
  color: var(--muted);
}
.classifieds-currency span.active {
  color: inherit;
}
.toggle {
  width: 3rem;
  height: 1rem;
  padding: 0;
  background: #000;
  border: 1px solid var(--fg);
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}
.toggle .toggle-knob {
  position: absolute;
  top: 1px;
  left: 1px;
  width: calc(50% - 2px);
  height: calc(100% - 2px);
  background: var(--red);
  transition: left 0.15s;
}
.toggle.on .toggle-knob {
  left: calc(50% + 1px);
}
.voice-toggle {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: smaller;
  text-shadow: 1px 1px 1px var(--bg);
}
.voice-toggle span {
  color: var(--muted);
}
.voice-toggle span.active {
  color: inherit;
}
.wrap-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: 2rem;
}
.wrap-grid img {
  max-width: 100%;
}
.wrap-grid img + p {
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
img {
  max-width: 100%;
}
@media only screen and (max-width: 800px) {
  .wrap-grid {
    grid-template-columns: repeat(auto-fill, minmax(40vw, 1fr));
  }
}
button {
  cursor: pointer;
}
button:hover {
  background: var(--hover);
}
button.iconish {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1;
  aspect-ratio: 1/1;
  display: inline-block;
  text-align: center;
  color: var(--fg);
  text-shadow: 2px 2px rgba(0, 0, 0, 0.5);
}
button,
a.buttonish {
  display: inline-block;
  border-style: solid;
  border-width: 1px;
  border-color: #f5f5f5 var(--muted-2) var(--muted-2) #f5f5f5;
  background: #eee;
  color: var(--bg);
  text-decoration: none;
  padding: 0.2rem 0.5rem;
}
button[disabled],
a.buttonish[disabled] {
  color: #0004;
  opacity: 0.8;
  cursor: default;
}
header {
  position: sticky;
  top: 0;
  z-index: 100;
}
header nav {
  margin: 0 0 1rem 0;
}
header nav ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0;
  padding: 0;
  border-top: var(--border);
  border-bottom: var(--border);
}
header nav li {
  list-style: none;
}
header nav svg {
  display: inline-block;
}
header nav a.active {
  font-weight: bold;
  text-decoration: none;
  color: inherit;
}
header nav a.active svg {
  display: none;
}
header nav li:last-child {
  text-align: right;
  flex: 1;
}
header nav .header-end {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
header nav .header-end .voxel-radio {
  flex: 1;
  min-width: 8rem;
  max-width: 16rem;
}
footer {
  margin: 1rem 0 4rem 0;
}
footer p {
  text-align: center;
  color: var(--soft);
  font-size: 0.625rem;
}
footer nav ul {
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-top: var(--border);
  border-bottom: var(--border);
}
footer nav li {
  list-style: none;
}
.menu {
  padding: 1rem;
}
.menu-section {
  margin-bottom: 2rem;
}
.menu-section h3 {
  margin-bottom: 1rem;
}
.menu-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: 2rem;
}
header nav img.logo {
  width: 28px;
  height: 32px;
  margin: 2px;
}
@media only screen and (max-width: 800px) {
  header nav {
    position: relative;
  }
  header nav li.logo {
    display: none;
  }
  header nav::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 2.5rem;
    background: linear-gradient(to right, rgba(13, 13, 13, 0), var(--bg));
    pointer-events: none;
    z-index: 1;
  }
  header nav > ul {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  header nav > ul::-webkit-scrollbar {
    display: none;
  }
  header nav > ul > li {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  header nav li:last-child {
    flex: 0 0 auto;
    text-align: left;
  }
  footer nav {
    position: relative;
  }
  footer nav::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 2.5rem;
    background: linear-gradient(to right, rgba(13, 13, 13, 0), var(--bg));
    pointer-events: none;
    z-index: 1;
  }
  footer nav ul {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  footer nav ul::-webkit-scrollbar {
    display: none;
  }
  footer nav li {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}
@media only screen and (min-width: 800px) {
  display: flex !important;
}
main {
  max-width: 2000px;
  margin: 0 auto;
}
button.hamburger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  font-size: 1.2rem;
  line-height: 1;
}
.columns {
  margin: 0 1rem;
  display: flex;
  flex-direction: row;
  align-items: start;
  gap: 0.5rem 1rem;
}
.columns > nav {
  margin-top: 4rem;
  overflow: hidden;
  max-width: 10rem;
  transition: max-width 200ms ease-in-out;
}
.columns > article {
  flex: 1;
}
.columns > aside {
  width: 25vw;
}
.columns > aside a {
  color: var(--red);
  text-decoration: underline;
}
.columns .hamburger {
  position: absolute;
  left: -2rem;
  top: 0.5rem;
}
@media only screen and (max-width: 800px) {
  article {
    background: none;
    padding: 0;
  }
  .columns {
    flex-direction: column;
  }
  .columns > article,
  .columns > aside {
    width: 100%;
  }
}
.live-hero {
  margin-bottom: 1.5rem;
  position: relative;
}
.live-hero::after {
  content: '';
  position: absolute;
  right: 0;
  top: 2rem;
  bottom: 0;
  width: 2.5rem;
  background: linear-gradient(to right, rgba(13, 13, 13, 0), var(--bg));
  pointer-events: none;
  z-index: 1;
}
.live-streams {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.live-streams::-webkit-scrollbar {
  display: none;
}
.live-streams li {
  margin: 0;
  padding: 0;
  flex: 0 0 14rem;
  scroll-snap-align: start;
}
.live-streams img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  background: var(--surface-2);
}
.live-streams span {
  display: block;
  font-weight: bold;
  margin-top: 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.live-streams small {
  display: block;
  color: var(--soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media only screen and (max-width: 800px) {
  .live-streams li {
    flex: 0 0 min(75vw, 14rem);
  }
}
iframe,
canvas,
.client-placeholder,
div.map {
  width: 100%;
  height: 80vh;
  max-width: 100%;
  outline: none;
  inset: 0;
}
@media only screen and (max-width: 800px) {
  iframe,
  canvas,
  .client-placeholder,
  div.map {
    width: 100%;
    height: calc(85dvh - var(--chatbar));
  }
}
.shortie iframe {
  height: 60vh;
}
body.in-world main {
  display: grid;
  grid-template-columns: 1fr clamp(18rem, 30%, 32rem);
  grid-template-rows: auto 1fr;
  grid-template-areas: 'header header' 'canvas sidebar';
  height: 100vh;
  overflow: hidden;
  max-width: none;
}
body.in-world main > header {
  grid-area: header;
}
body.in-world main > article {
  grid-area: canvas;
  position: relative;
  min-height: 0;
  min-width: 0;
}
body.in-world main > aside {
  grid-area: sidebar;
  overflow-y: auto;
  min-height: 0;
  min-width: 0;
  padding: 1rem;
  position: relative;
}
body.in-world main > aside .sidebar-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 3;
  cursor: pointer;
  background: none;
  border: none;
  color: inherit;
}
body.in-world main > aside > div {
  background: var(--surface-2);
}
body.in-world main > aside a {
  color: var(--red);
  text-decoration: underline;
}
body.in-world main > aside dl dt {
  font-weight: bold;
  margin-top: 0.5rem;
}
body.in-world main > aside dl dd {
  margin: 0 0 0.5rem 0;
}
body.in-world main > aside img.womp {
  max-width: 100%;
  margin: 1rem 0;
}
body.in-world main > aside .sidebar-tabs {
  display: flex;
  gap: 1rem;
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
}
body.in-world main > aside .sidebar-tabs li {
  cursor: pointer;
  text-transform: lowercase;
}
body.in-world main > aside .sidebar-tabs li.-active {
  font-weight: bold;
  color: var(--red);
}
body.in-world main > aside .parcel-sidebar-map {
  height: 14rem;
  width: 100%;
}
body.in-world main > aside .parcels-table tr.-selected {
  font-weight: bold;
  color: var(--red);
}
body.in-world.sidebar-closed main {
  grid-template-columns: 1fr;
  grid-template-areas: 'header' 'canvas';
}
body.in-world.sidebar-closed main > aside {
  display: none;
}
.sidebar-view {
  padding: 0;
}
.chat-page {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 3rem);
  min-height: 0;
  padding: 1rem;
  box-sizing: border-box;
}
.chat-page h1 {
  margin: 0 0 1rem 0;
  text-transform: lowercase;
}
.chat-page .chat-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 0.5rem;
}
.chat-page .chat-messages {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem;
  background: var(--surface);
  border: 1px solid var(--line);
}
.chat-page .chat-line {
  display: flex;
  gap: 0.5rem;
  line-height: 1.4;
  padding: 0.15rem 0;
}
.chat-page .chat-who {
  font-weight: bold;
  color: var(--red);
  flex-shrink: 0;
}
.chat-page .chat-text {
  word-break: break-word;
}
.chat-page s.profanity {
  filter: blur(4px);
  text-decoration: none;
  cursor: pointer;
}
.chat-page s.profanity:hover {
  filter: none;
}
.chat-page form {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  flex-shrink: 0;
  padding-top: 0.5rem;
  border-top: 1px solid var(--line);
}
.chat-page form input {
  flex: 1;
  background: var(--surface);
  color: inherit;
  border: 1px solid var(--line);
  padding: 0.5rem;
}
.chat-page form button {
  padding: 0.5rem 1rem;
}
body.in-world.chat-route main {
  grid-template-columns: 1fr clamp(24rem, 40%, 40rem);
}
body.in-world.chat-route main > aside .chat-page {
  height: 100%;
  padding: 0;
}
body.in-world.chat-route main > aside .chat-page h1 {
  position: sticky;
  top: 0;
  background: var(--surface-2);
  padding: 0.5rem 0;
  margin: 0 0 0.5rem 0;
  z-index: 1;
}
.client-placeholder {
  position: relative;
  width: 100%;
  height: 100%;
}
body:fullscreen .client-placeholder,
body:-webkit-full-screen .client-placeholder {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1;
}
body:fullscreen.in-world main > aside.-broadcast-open,
body:-webkit-full-screen.in-world main > aside.-broadcast-open {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(360px, 36vw);
  z-index: 4;
  overflow-y: auto;
  padding: 1rem;
  background: var(--bg);
}
body:fullscreen.in-world.sidebar-closed main > aside.-broadcast-open,
body:-webkit-full-screen.in-world.sidebar-closed main > aside.-broadcast-open {
  display: none;
}
.showbox-broadcast-mount {
  width: 100%;
  min-height: 0;
}
.broadcast-sidebar-tab {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.4rem;
  background: var(--bg);
  color: var(--red);
  border: 0;
  border-left: 2px solid var(--red);
  cursor: pointer;
}
.broadcast-sidebar-tab span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
.broadcast-sidebar-tab .broadcast-sidebar-tab-dot {
  writing-mode: horizontal-tb;
  font-size: 0.625rem;
  animation: showbox-live-pulse 1.2s ease-in-out infinite;
}
.broadcast-sidebar-tab .broadcast-sidebar-tab-time {
  color: var(--fg);
  font-variant-numeric: tabular-nums;
}
@keyframes showbox-live-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
dialog.first-time {
  position: absolute;
  inset: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: var(--tinge);
  pointer-events: none;
  border: none;
  margin: 0;
  padding: 1rem;
  z-index: 1;
}
table {
  width: 100%;
  border-collapse: collapse;
}
table th,
table td {
  border-bottom: var(--border);
  padding: 0.5rem;
}
table th {
  border-top: var(--softborder);
  border-bottom: var(--softborder);
  text-align: left;
  font-size: smaller;
  font-weight: normal;
  opacity: 0.5;
}
table tr:last-child td {
  border-bottom: none;
}
/* Rendering */
figure {
  margin: 0;
  padding: 0;
}
#rendering-canvas {
  width: 100%;
  height: 100%;
  border: none;
  left: 0;
  top: 0;
  background: none;
  outline: none;
}
body.done-loading {
  background-color: unset;
}
body.done-loading footer,
body.done-loading header,
body.done-loading ul {
  display: none;
}
figcaption + figure {
  margin-top: -2rem;
}
figcaption {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  padding: 0.5rem 0;
  gap: 0.3rem;
  position: relative;
  top: -2rem;
}
figcaption button,
figcaption .buttonish {
  cursor: pointer;
  padding: 0.5rem 1rem;
}
figcaption button[data-active='true'] {
  background: var(--bg);
  color: var(--fg);
}
dl dt {
  opacity: 0.5;
  margin: 0;
  padding: 0;
}
dl dd {
  margin: 0 0 0.5rem 0;
  padding: 0;
}
.sort.grid {
  margin-bottom: 1rem;
  grid-template-columns: 1fr auto auto auto;
}
.sort.grid label {
  opacity: 0.5;
}
.sort.grid button {
  height: unset;
  padding: 0.2rem 0.5rem;
}
small {
  color: var(--soft);
  font-size: small;
}
.metric-plot {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 0.1rem;
}
.metric-plot span {
  width: 0.9rem;
  height: 0.9rem;
  text-align: center;
  line-height: 0.9rem;
  background: var(--dark);
  color: var(--bright);
}
.metric-plot time {
  line-height: 0.9rem;
  background: var(--dark);
  color: var(--bright);
  box-shadow: inset 0 0 0 1px var(--line);
  font-size: x-small;
  text-transform: uppercase;
  width: 2.9rem;
  text-align: center;
}
.popularity td:nth-child(1) {
  width: 2rem;
  text-align: right;
  max-width: unset;
}
/* Admin */
#islands-canvas {
  width: 50vw;
  height: 70vh;
}
.island-admin table {
  border-collapse: collapse;
  width: 100%;
}
.island-admin table td,
.island-admin table th {
  text-align: left;
  border-bottom: 1px solid var(--muted-3) 5;
  padding: 0.5em;
}
.island-map {
  width: 100%;
  height: 320px;
}
/* Forms */
div.f {
  position: relative;
  margin-bottom: 0.5rem;
  padding: 0 0 0 10rem;
}
div.f label {
  position: absolute;
  left: 0;
  text-transform: lowercase;
}
div.f label:has(input) {
  position: relative;
}
div.f button {
  margin: 0 0.5rem;
}
div.f button:first-child {
  margin-left: 0;
}
div.f input[type='text'],
div.f input[type='number'],
div.f textarea {
  font-family: 'source code pro', monospace;
  width: 25rem;
  font-size: 0.9rem;
  padding: 0.2rem;
}
.island-admin article,
.island-admin aside {
  width: 40vw;
}
fieldset {
  border: none;
  padding: 0;
  margin: 0 0 0.65rem;
  min-width: 0;
}
/* Account sign-in (passkey / email / wallet) */
section.login {
  padding: 1rem 1.25rem 2.5rem;
  margin: 0;
  max-width: 28rem;
  text-align: left;
}
section.login label {
  display: block;
  font-size: 0.85rem;
  margin-bottom: 0.15rem;
}
section.login input[type='email'],
section.login input[type='text'] {
  display: block;
  width: 100%;
  max-width: 22rem;
  box-sizing: border-box;
  margin-top: 0.2rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--muted-2);
  font-size: 0.9rem;
}
section.login .login-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
section.login .login-block {
  margin: 0;
}
section.login .login-block h1 {
  font-size: 1.15rem;
  font-weight: bold;
  margin: 0 0 0.65rem;
}
section.login hr.login-form-divider {
  border: 0;
  border-top: 1px solid var(--muted-3);
  margin: 1.25rem 0;
  width: 100%;
  align-self: stretch;
}
/* Account page quick links (New event) - spacing like top nav */
/* Account page (your own profile) */
section.profile .name-wizard {
  margin: 0.5rem 0 1rem;
  max-width: 28rem;
}
section.profile .name-wizard p {
  margin: 0 0 0.75rem;
}
section.profile .name-wizard .name-box {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--red);
}
section.profile .name-wizard .name-box .chev {
  display: flex;
  align-items: center;
  padding: 0 0.65rem;
  color: var(--red);
  user-select: none;
  letter-spacing: -0.15em;
}
section.profile .name-wizard .name-box input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: 'source code pro', monospace;
  font-size: 1.35rem;
  padding: 0.85rem 0.25rem;
  outline: none;
  min-width: 0;
  width: 100%;
}
section.profile .name-wizard small {
  display: block;
  margin-top: 0.35rem;
  opacity: 0.65;
}
section.profile .name-wizard .name-picked {
  margin: 0 0 0.75rem;
}
section.profile .name-wizard .name-picked small {
  opacity: 0.65;
}
section.profile .name-wizard .name-status {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.65rem 0 0.5rem;
  min-height: 1.25rem;
}
section.profile .name-wizard .name-status.ok {
  color: var(--red);
}
section.profile .name-wizard .name-status.bad {
  color: var(--red);
}
/* Asset / collection .vox upload (sidebar) */
.upload-button {
  margin-bottom: 0.5rem;
  background: #fafaca;
  padding: 0.5rem;
  box-shadow: 2px 2px 1px 1px rgba(0, 0, 0, 0.1);
}
.upload-button h3 {
  margin-bottom: 1rem;
}
.upload-button ul {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
}
.wearable-canvas {
  width: 100%;
  height: 60vh;
  background: #0af;
}
.broken-image,
.loading-image {
  width: 100%;
  aspect-ratio: 1/1;
  background: #eee;
  position: relative;
}
.broken-image .loading,
.loading-image .loading {
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -8px 0 0 -8px;
}
.broken-image img,
.loading-image img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  filter: grayscale(100%);
  transform: translate(-50%, -50%);
  mix-blend-mode: multiply;
}
hgroup h1 {
  margin: 1rem 0 0 0;
}
hgroup h1 + p {
  margin-top: -0.5rem;
}
p.empty {
  font-size: smaller;
  opacity: 0.5;
}
.list-controls {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.list-controls div {
  flex: 1;
}
.list-controls h5 {
  margin: 0;
  font-size: smaller;
  opacity: 0.5;
  font-weight: normal;
}
.parcel-field {
  position: relative;
}
.parcel-field ul {
  margin: 0;
  padding: 0;
  width: 25rem;
  border: 1px solid #555;
  list-style: none;
  z-index: 100;
  box-shadow: 0 2px 4px #5555;
  max-height: 200px;
  overflow-y: auto;
}
.parcel-field ul li {
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.parcel-field ul li:hover {
  background: #555;
  color: var(--fg);
}
.columns.nav nav ul {
  margin: 0;
  padding: 0;
}
.columns.nav nav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.columns.nav nav ul li > a {
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.columns.nav nav li[aria-selected='true'] a {
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}
menu.context {
  border: --border;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  margin: 0;
  padding: 0;
}
menu.context li {
  margin: 0;
  padding: 0.2rem 0.5rem;
  list-style: none;
  cursor: pointer;
}
table.parcels td,
table.spaces td {
  vertical-align: top;
}
table.parcels td:first-child,
table.spaces td:first-child {
  width: 4rem;
}
.parcel-page aside {
  width: 15rem;
}
.radar,
.radar ul,
.radar li {
  margin: 0;
  padding: 0;
}
.radar li li {
  margin-left: 0.8rem;
  padding-left: 0.8rem;
  list-style-type: '>';
}
.radar > li {
  margin-bottom: 1rem;
  list-style: none;
}
.showbox-light-shell {
  padding: 0;
  margin: 0;
  max-width: none;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg);
}
.showbox-dock {
  z-index: 999999;
  background: var(--bg);
  color: var(--fg);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.showbox-dock * {
  box-sizing: border-box;
}
.showbox-dock button {
  -webkit-tap-highlight-color: transparent;
  border: 0;
}
.showbox-dock label {
  display: block;
  color: var(--muted);
  margin-bottom: 2px;
}
.showbox-dock input[type='text'],
.showbox-dock select {
  width: 100%;
  background: var(--surface);
  color: var(--fg);
  border: 1px solid var(--line);
  padding: 8px;
  min-height: 36px;
}
.showbox-dock select {
  padding: 4px;
}
.showbox-dock-mobile {
  inset: 0;
  padding: 1.25rem;
  gap: 0.5rem;
  font-size: 15px;
  overflow-y: auto;
}
.showbox-dock-mobile.showbox-dock-live {
  padding: 0.75rem;
  padding-bottom: 6px;
  overflow: hidden;
}
.showbox-dock-mobile.showbox-dock-live .showbox-dock-title,
.showbox-dock-mobile.showbox-dock-live .showbox-dock-hint {
  display: none;
}
.showbox-dock-mobile.showbox-dock-live .showbox-dock-chat-block {
  flex: 1 1 0;
  min-height: 0;
}
.showbox-dock-mobile.showbox-dock-live .showbox-dock-chat-reply {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: var(--bg);
}
.showbox-dock-mobile.showbox-dock-live.showbox-dock-chat-focus .showbox-dock-live-tools,
.showbox-dock-mobile.showbox-dock-live.showbox-dock-chat-focus .showbox-dock-link-btn,
.showbox-dock-mobile.showbox-dock-live.showbox-dock-chat-focus .showbox-dock-footer,
.showbox-dock-mobile.showbox-dock-live.showbox-dock-chat-focus .showbox-dock-share-block {
  display: none;
}
.showbox-dock-mobile.showbox-dock-live.showbox-dock-chat-focus .showbox-dock-chat-reply {
  position: sticky;
  bottom: 0;
  z-index: 3;
  background: var(--bg);
  padding-bottom: 6px;
}
.showbox-dock-desktop {
  width: 340px;
  padding: 1rem;
  gap: 0.75rem;
  font-size: 13px;
  overflow-y: auto;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.6);
}
.showbox-dock-desktop.showbox-dock-setup {
  top: 50%;
  left: 50%;
  right: auto;
  transform: translate(-50%, -50%);
  max-height: 85vh;
}
.showbox-dock-desktop.showbox-dock-live {
  top: 12px;
  right: 12px;
  left: auto;
  transform: none;
  max-height: calc(100vh - 24px);
}
.showbox-dock-desktop.showbox-dock-live .showbox-dock-chat-block {
  flex: 1 1 0;
  min-height: 120px;
}
.showbox-dock-title {
  font-weight: bold;
  font-size: 1rem;
}
.showbox-dock-hint {
  color: var(--muted);
  display: block;
  font-size: 12px;
  line-height: 1.4;
}
.showbox-dock-live-head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--red);
  font-weight: bold;
  font-size: 14px;
  flex-shrink: 0;
}
.showbox-dock-live-dot {
  animation: showbox-live-pulse 1.2s ease-in-out infinite;
}
.showbox-dock-timer {
  color: var(--fg);
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}
.showbox-dock-viewer-count {
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}
.showbox-dock-viewer-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  color: var(--fg);
  flex-shrink: 0;
}
.showbox-dock-viewer-empty {
  color: var(--muted);
}
@keyframes showbox-live-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.showbox-dock-preview {
  position: relative;
  width: 100%;
  background: #000;
  overflow: hidden;
  flex-shrink: 0;
}
.showbox-dock-preview.mobile {
  aspect-ratio: 16 / 9;
  min-height: 80px;
}
.showbox-dock-preview.desktop {
  aspect-ratio: 16 / 9;
}
.showbox-dock-preview-label {
  position: absolute;
  top: 4px;
  left: 6px;
  font-size: 11px;
  background: rgba(0, 0, 0, 0.6);
  padding: 2px 6px;
  pointer-events: none;
}
.showbox-dock-device-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.showbox-dock-link-btn {
  background: transparent;
  color: var(--muted);
  border: 0;
  padding: 4px 0;
  cursor: pointer;
  font-size: 12px;
  text-align: left;
  text-decoration: underline;
  flex-shrink: 0;
}
.showbox-dock-chat-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
  min-height: 0;
}
.showbox-dock-chat-box {
  flex: 1 1 auto;
  min-height: 64px;
  overflow-y: auto;
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 8px;
  font-size: 14px;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.showbox-dock-chat-empty {
  color: var(--muted);
}
.showbox-dock-chat-who {
  color: #f5b942;
  font-weight: bold;
}
.showbox-dock-live-tools {
  display: flex;
  gap: 1rem;
  flex-shrink: 0;
}
.showbox-dock-chat-reply {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}
.showbox-dock-chat-reply input {
  flex: 1;
  background: var(--surface);
  color: var(--fg);
  border: 1px solid var(--disabled);
  padding: 10px 8px;
  font-size: 1rem;
  min-height: 44px;
}
.showbox-dock-chat-reply button {
  background: var(--line);
  color: var(--fg);
  border: 0;
  padding: 10px 14px;
  min-height: 44px;
  flex-shrink: 0;
  cursor: pointer;
}
.showbox-dock-share-block {
  border-top: 1px solid var(--surface-2);
  padding: 8px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.showbox-dock-share-row {
  display: flex;
  gap: 0.5rem;
}
.showbox-dock-share-row input {
  flex: 1;
}
.showbox-dock-share-row button {
  background: var(--line);
  color: var(--fg);
  border: 0;
  padding: 8px 12px;
  min-height: 36px;
  cursor: pointer;
  flex-shrink: 0;
}
.showbox-dock-status {
  color: var(--muted);
  flex-shrink: 0;
}
.showbox-dock-footer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
  padding-bottom: 8px;
}
.showbox-dock-footer-row {
  display: flex;
  gap: 0.5rem;
}
.showbox-dock-share-split {
  display: flex;
  width: 100%;
  position: relative;
}
.showbox-dock-share-main,
.showbox-dock-share-pick {
  background: var(--red);
  color: var(--fg);
  border: 0;
  cursor: pointer;
  font-weight: bold;
  min-height: 32px;
  padding: 6px 8px;
}
.showbox-dock-share-main {
  flex: 1;
}
.showbox-dock-share-pick {
  padding: 6px 12px;
  border-left: 1px solid rgba(245, 245, 240, 0.45);
  flex-shrink: 0;
  min-width: 40px;
}
.showbox-dock-share-menu {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  margin-top: 2px;
  z-index: 6;
}
.showbox-dock-share-menu button {
  background: var(--surface);
  color: var(--fg);
  border: 0;
  padding: 8px;
  text-align: left;
  cursor: pointer;
  min-height: 32px;
}
.showbox-dock-share-menu button:first-child {
  border-bottom: 1px solid var(--line);
}
.showbox-dock-cancel {
  background: transparent;
  color: var(--muted);
  border: 0;
  padding: 4px 0;
  cursor: pointer;
  font-size: 12px;
  text-decoration: underline;
  flex-shrink: 0;
  align-self: center;
}
.showbox-dock .showbox-dock-link-btn:hover,
.showbox-dock .showbox-dock-cancel:hover,
.showbox-dock .showbox-dock-link-btn:focus,
.showbox-dock .showbox-dock-cancel:focus,
.showbox-dock .showbox-dock-link-btn:active,
.showbox-dock .showbox-dock-cancel:active {
  background: transparent;
  color: var(--muted);
  outline: none;
}
.showbox-dock .showbox-dock-viewer-count:hover,
.showbox-dock .showbox-dock-viewer-count:focus,
.showbox-dock .showbox-dock-viewer-count:active {
  background: transparent;
  color: inherit;
  outline: none;
}
.showbox-dock .showbox-dock-share-btn:hover,
.showbox-dock .showbox-dock-share-main:hover,
.showbox-dock .showbox-dock-share-pick:hover,
.showbox-dock .showbox-dock-go:not(.stop):hover,
.showbox-dock .showbox-dock-share-btn:focus,
.showbox-dock .showbox-dock-share-main:focus,
.showbox-dock .showbox-dock-share-pick:focus,
.showbox-dock .showbox-dock-go:not(.stop):focus,
.showbox-dock .showbox-dock-share-btn:active,
.showbox-dock .showbox-dock-share-main:active,
.showbox-dock .showbox-dock-share-pick:active,
.showbox-dock .showbox-dock-go:not(.stop):active {
  background: var(--red);
  color: var(--fg);
  outline: none;
}
.showbox-dock .showbox-dock-go.stop:hover,
.showbox-dock .showbox-dock-go.stop:focus,
.showbox-dock .showbox-dock-go.stop:active {
  background: var(--scroll-track);
  color: var(--fg);
  outline: none;
}
.showbox-dock .showbox-dock-chat-reply button:hover,
.showbox-dock .showbox-dock-share-row button:hover,
.showbox-dock .showbox-dock-chat-reply button:focus,
.showbox-dock .showbox-dock-share-row button:focus,
.showbox-dock .showbox-dock-chat-reply button:active,
.showbox-dock .showbox-dock-share-row button:active {
  background: var(--line);
  color: var(--fg);
  outline: none;
}
.showbox-dock .showbox-dock-share-menu button:hover,
.showbox-dock .showbox-dock-share-menu button:focus,
.showbox-dock .showbox-dock-share-menu button:active {
  background: var(--surface);
  color: var(--fg);
  outline: none;
}
/*
 * Client-only (in-world) styles. Single file, showbox skin.
 * Merged from the old per-component imports; dead web-header + NFT-notification
 * styles were dropped. See old-client.less for the original pile.
 */
/* The switch - the box around the slider */
/**
  Small component that has two states: normal: show the wallet; edit: let's a user edit the content.
*/
.WalletBoxes .ScrollPane {
  max-height: 40vh;
}
.WalletBoxes button {
  cursor: pointer;
  margin: 0 2px;
}
.WalletBoxes .wallet-box {
  margin: 2px 0;
}
.WalletBoxes .wallet-box div.wallet-container {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}
.WalletBoxes .wallet-box div.wallet-container > div {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.WalletBoxes .wallet-box div.wallet-container > div,
.WalletBoxes .wallet-box div.wallet-container input[type='text'] {
  flex: 1;
}
.WalletBoxes.-web input[type='text'] {
  margin: 1px;
}
/* Snackbar */
.SnackbarsContainer {
  position: absolute;
  z-index: 12001;
  min-width: 33vw;
  max-width: 95vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0px);
  pointer-events: none;
}
/* Loading spinner */
.loading {
  display: inline-block;
  box-sizing: border-box;
  flex-shrink: 0;
  vertical-align: middle;
  border: 2px solid currentColor;
  border-top-color: var(--red);
  border-right-color: transparent;
  opacity: 0.9;
  animation: loading-icon-spin 0.75s linear infinite;
  background: none;
  position: relative;
  top: 0;
  margin: 0;
}
.loading.on-light {
  color: var(--line);
}
@-moz-keyframes loading-icon-spin {
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loading-icon-spin {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes loading-icon-spin {
  100% {
    transform: rotate(360deg);
  }
}
.panel {
  padding: 5px;
  text-align: center;
}
.overlay .panel {
  color: var(--bg);
  word-break: break-word;
}
.collapsible.collapsed {
  display: none;
}
.panel {
  text-shadow: 0 1px #808080;
  margin: 0.75em 0 0.75em 0;
}
.panel.is-warning {
  background: #ff881f;
  text-shadow: 0 1px #5e2f00;
}
.panel.is-danger {
  background: #b3261e;
  text-shadow: 0 1px #802020;
}
.panel.is-info {
  background: #771be6;
  text-shadow: 0 1px #3b0e77;
}
.panel.is-help {
  color: var(--line) 333;
  text-shadow: none;
  background: #e0e0e0;
}
.panel.is-success {
  background: #4cae50;
  text-shadow: 0 1px #2a6d2d;
}
/* badges label */
.dot {
  height: 2px;
  width: 2px;
  margin-left: 0;
  padding: 0.2em;
}
/* has borders helper*/
/* Parcel Details on parcel page and parcel-info tab.*/
dl.deets dt {
  font-weight: 400;
  font-size: 0.7rem;
  position: absolute;
  padding-top: 14px;
  padding-left: 10px;
}
dl.deets dd {
  padding-left: 8em;
  margin: 0 0 10px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
  min-height: 1em;
}
.Pagination {
  margin-bottom: 1em;
  display: flex;
  gap: 4px;
}
.Pagination a:first-child,
.Pagination a:last-child {
  white-space: pre;
  padding: 0 8px;
}
.Pagination a,
.Pagination span {
  min-width: 24px;
  text-align: center;
  height: 24px;
  line-height: 24px;
}
.Pagination span {
  color: var(--border-color);
}
.Pagination a {
  border: 1px solid var(--border);
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}
.Pagination a.active {
  border: none;
  font-weight: bold;
}
.OverlayWindow.-wearable-transfer {
  max-width: 28rem;
}
body.in-world {
  color-scheme: dark;
}
body.in-world #babylonUnmuteIconBtn {
  left: 60px !important;
}
body.in-world ::-webkit-scrollbar {
  width: 12px;
}
body.in-world ::-webkit-scrollbar-thumb {
  background: var(--muted-2);
}
body.in-world ::-webkit-scrollbar-track {
  background: var(--scroll-track);
  margin: 1rem 0;
}
body.in-world p,
body.in-world li,
body.in-world ul,
body.in-world section,
body.in-world h1,
body.in-world h2,
body.in-world h3,
body.in-world h4 {
  margin: 0;
  padding: 0;
}
button.iconish {
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1;
  aspect-ratio: 1/1;
  display: inline-block;
  text-align: center;
  text-shadow: 2px 2px var(--bg);
}
/* Sidebar nav */
body.in-world main > aside section {
  overflow: visible;
  padding: 0.5rem;
}
.UserInterface dialog .baking textarea {
  width: 100%;
  background: transparent;
  height: 80vh;
  border: none;
}
/* Chat */
.UserInterface div.chat {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  color: var(--fg);
  margin: 0 0 4px 0;
  padding: 4px;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}
.UserInterface div.chat form,
.UserInterface div.chat .chat-messages {
  pointer-events: auto;
}
.UserInterface div.chat .chat-messages {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 2px;
  max-height: 50vh;
  overflow: hidden;
}
.UserInterface div.chat s.profanity {
  filter: blur(4px);
  text-decoration: none;
  cursor: pointer;
}
.UserInterface div.chat s.profanity:hover {
  filter: none;
}
.UserInterface div.chat .chat-messages.at-cap {
  mask-image: linear-gradient(to bottom, transparent 0, var(--bg) 40px);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, var(--bg) 40px);
}
.UserInterface div.chat p {
  margin: 0 0.6rem;
}
.UserInterface div.chat p span {
  padding: 2px 0.4rem;
  text-shadow: 1px 1px 1px var(--bg);
  background: #0005;
}
.UserInterface div.chat form {
  padding: 0 0.5rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.UserInterface div.chat form button,
.UserInterface div.chat form input {
  padding: 0.3rem;
}
.UserInterface div.chat form input {
  font-size: 1rem;
}
@media only screen and (max-width: 800px) {
  .UserInterface div.chat {
    margin: 0;
    padding: 0;
  }
  .UserInterface div.chat .chat-messages {
    pointer-events: none;
    max-height: 30vh;
    overflow: hidden;
    margin: 0;
    padding: 0.25rem 0.5rem;
  }
  .UserInterface div.chat .chat-messages p span {
    background: transparent;
  }
  .UserInterface div.chat form {
    pointer-events: auto;
    width: 100%;
    margin: 0;
    padding: 0.4rem 0.5rem;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.5);
  }
  .UserInterface div.chat form input {
    flex: 1;
  }
}
/* Emote + animate lists */
.AnimateList {
  margin: 5px 0;
  background: var(--tinge);
}
.AnimateList ul {
  margin: 0;
  padding: 10px;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.AnimateList ul li {
  margin: 0;
  padding: 10px 0;
  cursor: pointer;
  text-align: center;
  width: 100%;
}
.AnimateList ul li > i {
  margin-right: 5px;
}
.AnimateList ul li.-active {
  background-color: #2f0e4c42;
}
.AnimateList ul li:hover {
  background: var(--line) a;
}
.EmoteList {
  font-size: 32px;
}
.EmoteList ul {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  margin: 0;
  padding: 10px;
  justify-content: space-between;
}
.EmoteList ul li {
  margin: 0;
  padding: 5px;
  width: 40px;
  cursor: pointer;
  text-align: center;
}
.EmoteList ul li:hover {
  background: var(--line) a;
}
.UserInterface aside .EmoteList ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
  gap: 0.5rem;
}
.UserInterface aside .EmoteList ul li {
  filter: grayscale(100%);
}
.UserInterface aside .EmoteList ul li:hover {
  color: var(--bg);
  filter: unset;
}
.UserInterface aside .AnimateList ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem;
}
.UserInterface aside .AnimateList ul li:hover {
  color: var(--bg);
}
/* Feature editor */
body.in-world main > aside .editor,
body.in-world main > aside .edit-pane-inspector,
body.in-world main > aside section.settings,
.UserInterface dialog.editor {
  font-size: 1em;
  overflow-x: hidden;
}
body.in-world main > aside .editor header,
body.in-world main > aside .edit-pane-inspector header,
body.in-world main > aside section.settings header,
.UserInterface dialog.editor header {
  position: relative;
  margin-bottom: 0.5rem;
}
body.in-world main > aside .editor header h2,
body.in-world main > aside .edit-pane-inspector header h2,
body.in-world main > aside section.settings header h2,
.UserInterface dialog.editor header h2 {
  font-size: 1.22rem;
  font-weight: bold;
  margin: 0;
  text-shadow: 2px 2px 2px var(--bg);
}
body.in-world main > aside .editor header button.close,
body.in-world main > aside .edit-pane-inspector header button.close,
body.in-world main > aside section.settings header button.close,
.UserInterface dialog.editor header button.close {
  display: none;
}
body.in-world main > aside .editor .editor-toolbar,
body.in-world main > aside .edit-pane-inspector .editor-toolbar,
body.in-world main > aside section.settings .editor-toolbar,
.UserInterface dialog.editor .editor-toolbar {
  margin-bottom: 0.5rem;
}
body.in-world main > aside .editor .editor-toolbar ul.toolbar,
body.in-world main > aside .edit-pane-inspector .editor-toolbar ul.toolbar,
body.in-world main > aside section.settings .editor-toolbar ul.toolbar,
.UserInterface dialog.editor .editor-toolbar ul.toolbar {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2px;
}
body.in-world main > aside .editor .scrollContainer,
body.in-world main > aside .edit-pane-inspector .scrollContainer,
body.in-world main > aside section.settings .scrollContainer,
.UserInterface dialog.editor .scrollContainer {
  overflow-x: hidden;
}
body.in-world main > aside .editor textarea,
body.in-world main > aside .edit-pane-inspector textarea,
body.in-world main > aside section.settings textarea,
.UserInterface dialog.editor textarea,
body.in-world main > aside .editor input,
body.in-world main > aside .edit-pane-inspector input,
body.in-world main > aside section.settings input,
.UserInterface dialog.editor input {
  cursor: pointer;
}
body.in-world main > aside .editor button.asset-library,
body.in-world main > aside .edit-pane-inspector button.asset-library,
body.in-world main > aside section.settings button.asset-library,
.UserInterface dialog.editor button.asset-library {
  width: 100%;
  margin: 0.5rem 0 0 0;
  display: inline-block;
}
body.in-world main > aside .editor label a,
body.in-world main > aside .edit-pane-inspector label a,
body.in-world main > aside section.settings label a,
.UserInterface dialog.editor label a {
  color: #8a8a8a;
}
body.in-world main > aside .editor .tabs,
body.in-world main > aside .edit-pane-inspector .tabs,
body.in-world main > aside section.settings .tabs,
.UserInterface dialog.editor .tabs {
  height: 32px;
  margin: 0;
  padding: 0;
  display: flex;
  position: relative;
}
body.in-world main > aside .editor .tabs li,
body.in-world main > aside .edit-pane-inspector .tabs li,
body.in-world main > aside section.settings .tabs li,
.UserInterface dialog.editor .tabs li {
  margin: 0 2px 0 0;
  padding: 4px 10px;
  list-style: none;
  color: var(--muted-3);
  border-bottom: 1px solid #111;
  max-width: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.in-world main > aside .editor .tabs li img,
body.in-world main > aside .edit-pane-inspector .tabs li img,
body.in-world main > aside section.settings .tabs li img,
.UserInterface dialog.editor .tabs li img {
  width: 12px;
  position: relative;
  top: 4px;
  left: 2px;
}
body.in-world main > aside .editor .tabs li.active,
body.in-world main > aside .edit-pane-inspector .tabs li.active,
body.in-world main > aside section.settings .tabs li.active,
.UserInterface dialog.editor .tabs li.active {
  border-bottom: none;
  color: #eee;
}
body.in-world main > aside .editor .button-tabs,
body.in-world main > aside .edit-pane-inspector .button-tabs,
body.in-world main > aside section.settings .button-tabs,
.UserInterface dialog.editor .button-tabs {
  border-bottom: 1px solid var(--muted-2);
}
body.in-world main > aside .editor .button-tabs button,
body.in-world main > aside .edit-pane-inspector .button-tabs button,
body.in-world main > aside section.settings .button-tabs button,
.UserInterface dialog.editor .button-tabs button {
  color: #d4d4d4;
  background: initial;
  padding: 0.4rem;
  margin: 0 0.4rem 0 0;
}
body.in-world main > aside .editor .button-tabs button.active,
body.in-world main > aside .edit-pane-inspector .button-tabs button.active,
body.in-world main > aside section.settings .button-tabs button.active,
.UserInterface dialog.editor .button-tabs button.active {
  color: var(--red);
  font-weight: bold;
}
body.in-world main > aside .editor .info,
body.in-world main > aside .edit-pane-inspector .info,
body.in-world main > aside section.settings .info,
.UserInterface dialog.editor .info,
body.in-world main > aside .editor .bake-parcel,
body.in-world main > aside .edit-pane-inspector .bake-parcel,
body.in-world main > aside section.settings .bake-parcel,
.UserInterface dialog.editor .bake-parcel {
  padding: 16px 0 2px 8px;
  position: relative;
}
body.in-world main > aside .editor .bake-parcel p.error,
body.in-world main > aside .edit-pane-inspector .bake-parcel p.error,
body.in-world main > aside section.settings .bake-parcel p.error,
.UserInterface dialog.editor .bake-parcel p.error {
  margin-top: 5px;
  color: #ffa9a9;
}
body.in-world main > aside .editor .upload-url,
body.in-world main > aside .edit-pane-inspector .upload-url,
body.in-world main > aside section.settings .upload-url,
.UserInterface dialog.editor .upload-url {
  padding-top: 5px;
}
body.in-world main > aside .editor h4,
body.in-world main > aside .edit-pane-inspector h4,
body.in-world main > aside section.settings h4,
.UserInterface dialog.editor h4 {
  text-shadow: 1px 1px 1px var(--bg);
}
body.in-world main > aside .editor .textures + p,
body.in-world main > aside .edit-pane-inspector .textures + p,
body.in-world main > aside section.settings .textures + p,
.UserInterface dialog.editor .textures + p {
  margin: 16px 0 0 12px;
}
body.in-world main > aside .editor .textures + p small,
body.in-world main > aside .edit-pane-inspector .textures + p small,
body.in-world main > aside section.settings .textures + p small,
.UserInterface dialog.editor .textures + p small {
  opacity: 0.3;
  overflow-wrap: break-word;
}
body.in-world main > aside .editor dl.props,
body.in-world main > aside .edit-pane-inspector dl.props,
body.in-world main > aside section.settings dl.props,
.UserInterface dialog.editor dl.props {
  display: grid;
  grid-template-columns: 38% 1fr;
  margin: 0;
  padding: 0;
}
body.in-world main > aside .editor dl.props dt,
body.in-world main > aside .edit-pane-inspector dl.props dt,
body.in-world main > aside section.settings dl.props dt,
.UserInterface dialog.editor dl.props dt,
body.in-world main > aside .editor dl.props dd,
body.in-world main > aside .edit-pane-inspector dl.props dd,
body.in-world main > aside section.settings dl.props dd,
.UserInterface dialog.editor dl.props dd {
  margin: 0;
  padding: 4px 6px;
  border-bottom: 1px solid var(--surface-2);
  align-self: center;
}
body.in-world main > aside .editor dl.props dt,
body.in-world main > aside .edit-pane-inspector dl.props dt,
body.in-world main > aside section.settings dl.props dt,
.UserInterface dialog.editor dl.props dt {
  color: var(--border-color);
  font-size: 0.85em;
}
body.in-world main > aside .editor dl.props dt:empty,
body.in-world main > aside .edit-pane-inspector dl.props dt:empty,
body.in-world main > aside section.settings dl.props dt:empty,
.UserInterface dialog.editor dl.props dt:empty {
  padding: 0;
  border-bottom: none;
}
body.in-world main > aside .editor dl.props dd,
body.in-world main > aside .edit-pane-inspector dl.props dd,
body.in-world main > aside section.settings dl.props dd,
.UserInterface dialog.editor dl.props dd {
  padding: 0;
}
body.in-world main > aside .editor dl.props dd.full,
body.in-world main > aside .edit-pane-inspector dl.props dd.full,
body.in-world main > aside section.settings dl.props dd.full,
.UserInterface dialog.editor dl.props dd.full {
  grid-column: 1 / -1;
  padding: 4px 6px;
}
body.in-world main > aside .editor dl.props dd input[type='text'],
body.in-world main > aside .edit-pane-inspector dl.props dd input[type='text'],
body.in-world main > aside section.settings dl.props dd input[type='text'],
.UserInterface dialog.editor dl.props dd input[type='text'],
body.in-world main > aside .editor dl.props dd input[type='number'],
body.in-world main > aside .edit-pane-inspector dl.props dd input[type='number'],
body.in-world main > aside section.settings dl.props dd input[type='number'],
.UserInterface dialog.editor dl.props dd input[type='number'],
body.in-world main > aside .editor dl.props dd select,
body.in-world main > aside .edit-pane-inspector dl.props dd select,
body.in-world main > aside section.settings dl.props dd select,
.UserInterface dialog.editor dl.props dd select,
body.in-world main > aside .editor dl.props dd textarea,
body.in-world main > aside .edit-pane-inspector dl.props dd textarea,
body.in-world main > aside section.settings dl.props dd textarea,
.UserInterface dialog.editor dl.props dd textarea {
  font: inherit;
  width: 100%;
  border: none;
  padding: 4px;
  background: transparent;
  color: var(--border-color);
}
body.in-world main > aside .editor dl.props dd input[type='checkbox'],
body.in-world main > aside .edit-pane-inspector dl.props dd input[type='checkbox'],
body.in-world main > aside section.settings dl.props dd input[type='checkbox'],
.UserInterface dialog.editor dl.props dd input[type='checkbox'] {
  margin: 4px;
}
body.in-world main > aside .editor dl.props dd.vec3,
body.in-world main > aside .edit-pane-inspector dl.props dd.vec3,
body.in-world main > aside section.settings dl.props dd.vec3,
.UserInterface dialog.editor dl.props dd.vec3 {
  display: flex;
  gap: 0;
  padding: 0;
  min-width: 0;
  overflow: hidden;
}
body.in-world main > aside .editor dl.props dd.vec3 > input[type='checkbox'],
body.in-world main > aside .edit-pane-inspector dl.props dd.vec3 > input[type='checkbox'],
body.in-world main > aside section.settings dl.props dd.vec3 > input[type='checkbox'],
.UserInterface dialog.editor dl.props dd.vec3 > input[type='checkbox'] {
  flex: 0 0 auto;
  margin: 0 4px;
  align-self: center;
}
body.in-world main > aside .editor dl.props .f,
body.in-world main > aside .edit-pane-inspector dl.props .f,
body.in-world main > aside section.settings dl.props .f,
.UserInterface dialog.editor dl.props .f {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 38% 1fr;
  padding: 0;
  border-bottom: 1px solid var(--surface-2);
}
body.in-world main > aside .editor dl.props .f form,
body.in-world main > aside .edit-pane-inspector dl.props .f form,
body.in-world main > aside section.settings dl.props .f form,
.UserInterface dialog.editor dl.props .f form {
  display: contents;
}
body.in-world main > aside .editor dl.props .f > label,
body.in-world main > aside .edit-pane-inspector dl.props .f > label,
body.in-world main > aside section.settings dl.props .f > label,
.UserInterface dialog.editor dl.props .f > label,
body.in-world main > aside .editor dl.props .f label:first-child,
body.in-world main > aside .edit-pane-inspector dl.props .f label:first-child,
body.in-world main > aside section.settings dl.props .f label:first-child,
.UserInterface dialog.editor dl.props .f label:first-child {
  color: var(--border-color);
  font-size: 0.85em;
  padding: 4px 6px;
  display: block;
  padding-bottom: 0;
  grid-column: 1;
  align-self: center;
}
body.in-world main > aside .editor dl.props .f > input,
body.in-world main > aside .edit-pane-inspector dl.props .f > input,
body.in-world main > aside section.settings dl.props .f > input,
.UserInterface dialog.editor dl.props .f > input,
body.in-world main > aside .editor dl.props .f > select,
body.in-world main > aside .edit-pane-inspector dl.props .f > select,
body.in-world main > aside section.settings dl.props .f > select,
.UserInterface dialog.editor dl.props .f > select,
body.in-world main > aside .editor dl.props .f > textarea,
body.in-world main > aside .edit-pane-inspector dl.props .f > textarea,
body.in-world main > aside section.settings dl.props .f > textarea,
.UserInterface dialog.editor dl.props .f > textarea,
body.in-world main > aside .editor dl.props .f > button,
body.in-world main > aside .edit-pane-inspector dl.props .f > button,
body.in-world main > aside section.settings dl.props .f > button,
.UserInterface dialog.editor dl.props .f > button {
  grid-column: 2;
  padding: 4px 6px;
  align-self: center;
  width: 100%;
  box-sizing: border-box;
  background: transparent;
}
body.in-world main > aside .editor dl.props .f > div:not(.sub-f),
body.in-world main > aside .edit-pane-inspector dl.props .f > div:not(.sub-f),
body.in-world main > aside section.settings dl.props .f > div:not(.sub-f),
.UserInterface dialog.editor dl.props .f > div:not(.sub-f),
body.in-world main > aside .editor dl.props .f > .button-tabs,
body.in-world main > aside .edit-pane-inspector dl.props .f > .button-tabs,
body.in-world main > aside section.settings dl.props .f > .button-tabs,
.UserInterface dialog.editor dl.props .f > .button-tabs,
body.in-world main > aside .editor dl.props .f form label,
body.in-world main > aside .edit-pane-inspector dl.props .f form label,
body.in-world main > aside section.settings dl.props .f form label,
.UserInterface dialog.editor dl.props .f form label {
  grid-column: 1 / -1;
}
body.in-world main > aside .editor dl.props .f > select ~ *,
body.in-world main > aside .edit-pane-inspector dl.props .f > select ~ *,
body.in-world main > aside section.settings dl.props .f > select ~ *,
.UserInterface dialog.editor dl.props .f > select ~ * {
  grid-column: 1 / -1;
}
body.in-world main > aside .editor dl.props .f small,
body.in-world main > aside .edit-pane-inspector dl.props .f small,
body.in-world main > aside section.settings dl.props .f small,
.UserInterface dialog.editor dl.props .f small {
  grid-column: 2;
  margin: 0;
  padding: 0 6px 4px;
  display: block;
}
body.in-world main > aside .editor dl.props .behaviours,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours,
body.in-world main > aside section.settings dl.props .behaviours,
.UserInterface dialog.editor dl.props .behaviours {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 38% 1fr;
  border-bottom: 1px solid var(--surface-2);
}
body.in-world main > aside .editor dl.props .behaviours > label,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours > label,
body.in-world main > aside section.settings dl.props .behaviours > label,
.UserInterface dialog.editor dl.props .behaviours > label {
  color: var(--border-color);
  font-size: 0.85em;
  padding: 4px 6px;
  margin: 0;
  align-self: center;
}
body.in-world main > aside .editor dl.props .behaviours > small,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours > small,
body.in-world main > aside section.settings dl.props .behaviours > small,
.UserInterface dialog.editor dl.props .behaviours > small {
  margin: 0;
  padding: 4px 6px;
  align-self: center;
}
body.in-world main > aside .editor dl.props .behaviours .behaviour-row,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours .behaviour-row,
body.in-world main > aside section.settings dl.props .behaviours .behaviour-row,
.UserInterface dialog.editor dl.props .behaviours .behaviour-row,
body.in-world main > aside .editor dl.props .behaviours .behaviour-add,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours .behaviour-add,
body.in-world main > aside section.settings dl.props .behaviours .behaviour-add,
.UserInterface dialog.editor dl.props .behaviours .behaviour-add,
body.in-world main > aside .editor dl.props .behaviours > .f,
body.in-world main > aside .edit-pane-inspector dl.props .behaviours > .f,
body.in-world main > aside section.settings dl.props .behaviours > .f,
.UserInterface dialog.editor dl.props .behaviours > .f {
  grid-column: 1 / -1;
}
body.in-world main > aside .editor .editor-toolbar .help,
body.in-world main > aside .edit-pane-inspector .editor-toolbar .help,
body.in-world main > aside section.settings .editor-toolbar .help,
.UserInterface dialog.editor .editor-toolbar .help {
  display: none;
}
body.in-world main > aside .editor .f,
body.in-world main > aside .edit-pane-inspector .f,
body.in-world main > aside section.settings .f,
.UserInterface dialog.editor .f {
  padding: 9px 2px 10px;
}
body.in-world main > aside .editor .f *,
body.in-world main > aside .edit-pane-inspector .f *,
body.in-world main > aside section.settings .f *,
.UserInterface dialog.editor .f * {
  box-sizing: border-box;
}
body.in-world main > aside .editor .f label,
body.in-world main > aside .edit-pane-inspector .f label,
body.in-world main > aside section.settings .f label,
.UserInterface dialog.editor .f label {
  position: relative;
  left: auto;
}
body.in-world main > aside .editor .f label:first-child,
body.in-world main > aside .edit-pane-inspector .f label:first-child,
body.in-world main > aside section.settings .f label:first-child,
.UserInterface dialog.editor .f label:first-child {
  display: block;
  padding-bottom: 3px;
}
body.in-world main > aside .editor .f input[type='text'],
body.in-world main > aside .edit-pane-inspector .f input[type='text'],
body.in-world main > aside section.settings .f input[type='text'],
.UserInterface dialog.editor .f input[type='text'],
body.in-world main > aside .editor .f input[type='number'],
body.in-world main > aside .edit-pane-inspector .f input[type='number'],
body.in-world main > aside section.settings .f input[type='number'],
.UserInterface dialog.editor .f input[type='number'],
body.in-world main > aside .editor .f input[type='range'],
body.in-world main > aside .edit-pane-inspector .f input[type='range'],
body.in-world main > aside section.settings .f input[type='range'],
.UserInterface dialog.editor .f input[type='range'],
body.in-world main > aside .editor .f textarea,
body.in-world main > aside .edit-pane-inspector .f textarea,
body.in-world main > aside section.settings .f textarea,
.UserInterface dialog.editor .f textarea {
  font: inherit;
  width: 100%;
  border: none;
  padding: 4px;
  background: transparent;
  color: var(--border-color);
}
body.in-world main > aside .editor .f.uv input[type='number'],
body.in-world main > aside .edit-pane-inspector .f.uv input[type='number'],
body.in-world main > aside section.settings .f.uv input[type='number'],
.UserInterface dialog.editor .f.uv input[type='number'],
body.in-world main > aside .editor .f.uv input.number,
body.in-world main > aside .edit-pane-inspector .f.uv input.number,
body.in-world main > aside section.settings .f.uv input.number,
.UserInterface dialog.editor .f.uv input.number {
  width: 90px;
  margin-right: 8px;
}
body.in-world main > aside .editor .f input[type='checkbox'],
body.in-world main > aside .edit-pane-inspector .f input[type='checkbox'],
body.in-world main > aside section.settings .f input[type='checkbox'],
.UserInterface dialog.editor .f input[type='checkbox'] {
  margin-right: 10px;
}
body.in-world main > aside .editor .f textarea,
body.in-world main > aside .edit-pane-inspector .f textarea,
body.in-world main > aside section.settings .f textarea,
.UserInterface dialog.editor .f textarea {
  height: 150px;
}
body.in-world main > aside .editor .f small,
body.in-world main > aside .edit-pane-inspector .f small,
body.in-world main > aside section.settings .f small,
.UserInterface dialog.editor .f small {
  display: block;
  margin-top: 10px;
}
body.in-world main > aside .editor .f input[type='checkbox'] + small,
body.in-world main > aside .edit-pane-inspector .f input[type='checkbox'] + small,
body.in-world main > aside section.settings .f input[type='checkbox'] + small,
.UserInterface dialog.editor .f input[type='checkbox'] + small {
  display: inline;
}
body.in-world main > aside .editor .f .sub-f,
body.in-world main > aside .edit-pane-inspector .f .sub-f,
body.in-world main > aside section.settings .f .sub-f,
.UserInterface dialog.editor .f .sub-f {
  padding: 3px 5px 0 5px;
  margin: 5px 0;
}
body.in-world main > aside .editor .f select + div,
body.in-world main > aside .edit-pane-inspector .f select + div,
body.in-world main > aside section.settings .f select + div,
.UserInterface dialog.editor .f select + div {
  margin-top: 4px;
}
body.in-world main > aside .editor .f.fs input[type='number'],
body.in-world main > aside .edit-pane-inspector .f.fs input[type='number'],
body.in-world main > aside section.settings .f.fs input[type='number'],
.UserInterface dialog.editor .f.fs input[type='number'],
body.in-world main > aside .editor .f.fs input.number,
body.in-world main > aside .edit-pane-inspector .f.fs input.number,
body.in-world main > aside section.settings .f.fs input.number,
.UserInterface dialog.editor .f.fs input.number {
  width: 83px;
  margin-right: 4px;
}
body.in-world main > aside .editor .f.fs input.error,
body.in-world main > aside .edit-pane-inspector .f.fs input.error,
body.in-world main > aside section.settings .f.fs input.error,
.UserInterface dialog.editor .f.fs input.error {
  outline: 1px solid #ff0000;
  background: #402000;
  color: #eee;
}
body.in-world main > aside .editor .f.fs .vector-error,
body.in-world main > aside .edit-pane-inspector .f.fs .vector-error,
body.in-world main > aside section.settings .f.fs .vector-error,
.UserInterface dialog.editor .f.fs .vector-error {
  color: #ff6644;
}
body.in-world main > aside .editor .lock-aspect-ratio,
body.in-world main > aside .edit-pane-inspector .lock-aspect-ratio,
body.in-world main > aside section.settings .lock-aspect-ratio,
.UserInterface dialog.editor .lock-aspect-ratio,
body.in-world main > aside .editor .lock-aspect-ratio-keyframe,
body.in-world main > aside .edit-pane-inspector .lock-aspect-ratio-keyframe,
body.in-world main > aside section.settings .lock-aspect-ratio-keyframe,
.UserInterface dialog.editor .lock-aspect-ratio-keyframe,
body.in-world main > aside .editor .aspect-ratio-permanent-lock,
body.in-world main > aside .edit-pane-inspector .aspect-ratio-permanent-lock,
body.in-world main > aside section.settings .aspect-ratio-permanent-lock,
.UserInterface dialog.editor .aspect-ratio-permanent-lock {
  margin-right: 0;
  padding: 3px 3px 3px 5px;
  min-width: 20px;
}
body.in-world main > aside .editor .lock-aspect-ratio-keyframe,
body.in-world main > aside .edit-pane-inspector .lock-aspect-ratio-keyframe,
body.in-world main > aside section.settings .lock-aspect-ratio-keyframe,
.UserInterface dialog.editor .lock-aspect-ratio-keyframe {
  margin-left: 4px;
}
body.in-world main > aside .editor .keyframes,
body.in-world main > aside .edit-pane-inspector .keyframes,
body.in-world main > aside section.settings .keyframes,
.UserInterface dialog.editor .keyframes {
  margin-top: 4px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 4px;
  row-gap: 2px;
}
body.in-world main > aside .editor div.color-selectors,
body.in-world main > aside .edit-pane-inspector div.color-selectors,
body.in-world main > aside section.settings div.color-selectors,
.UserInterface dialog.editor div.color-selectors {
  display: flex;
  justify-content: space-around;
  text-align: center;
}
body.in-world main > aside .editor div.color-selectors div > small > button,
body.in-world main > aside .edit-pane-inspector div.color-selectors div > small > button,
body.in-world main > aside section.settings div.color-selectors div > small > button,
.UserInterface dialog.editor div.color-selectors div > small > button {
  margin-right: 0;
}
@media only screen and (min-width: 800px) and (min-height: 450px) {
  body.in-world main > aside .editor section.explorer[data-tab='map'],
  body.in-world main > aside .edit-pane-inspector section.explorer[data-tab='map'],
  body.in-world main > aside section.settings section.explorer[data-tab='map'],
  .UserInterface dialog.editor section.explorer[data-tab='map'] {
    width: 800px;
  }
}
body.in-world main > aside .editor dl.props dt,
body.in-world main > aside .edit-pane-inspector dl.props dt,
body.in-world main > aside section.settings dl.props dt,
.UserInterface dialog.editor dl.props dt {
  font-weight: normal;
  margin-top: 0;
}
body.in-world main > aside .editor dl.props dd,
body.in-world main > aside .edit-pane-inspector dl.props dd,
body.in-world main > aside section.settings dl.props dd,
.UserInterface dialog.editor dl.props dd {
  margin: 0;
}
body.in-world main > aside .editor dl.props .f,
body.in-world main > aside .edit-pane-inspector dl.props .f,
body.in-world main > aside section.settings dl.props .f,
.UserInterface dialog.editor dl.props .f {
  padding: 0;
}
body.in-world main > aside .editor dl.props .f label:first-child,
body.in-world main > aside .edit-pane-inspector dl.props .f label:first-child,
body.in-world main > aside section.settings dl.props .f label:first-child,
.UserInterface dialog.editor dl.props .f label:first-child {
  padding-bottom: 0;
}
body.in-world main > aside .editor dl.props .f label:has(input[type='checkbox']),
body.in-world main > aside .edit-pane-inspector dl.props .f label:has(input[type='checkbox']),
body.in-world main > aside section.settings dl.props .f label:has(input[type='checkbox']),
.UserInterface dialog.editor dl.props .f label:has(input[type='checkbox']) {
  grid-column: 1 / -1;
}
body.in-world main > aside .editor dl.props .f form small,
body.in-world main > aside .edit-pane-inspector dl.props .f form small,
body.in-world main > aside section.settings dl.props .f form small,
.UserInterface dialog.editor dl.props .f form small {
  grid-column: 1 / -1;
}
body.in-world main > aside .editor dl.props .f small,
body.in-world main > aside .edit-pane-inspector dl.props .f small,
body.in-world main > aside section.settings dl.props .f small,
.UserInterface dialog.editor dl.props .f small {
  margin-top: 0;
}
body.in-world main > aside section.settings > section + section {
  margin-top: 0;
}
body.in-world main > aside section.settings header {
  margin-bottom: 0.5rem;
}
body.in-world main > aside section.settings h3 {
  font-size: 0.85em;
  margin: 0;
  padding: 4px 0;
  border: var(--border);
  color: var(--border-color);
  font-weight: normal;
}
body.in-world main > aside section.settings dl.props {
  margin: 0;
  padding: 0;
}
body.in-world main > aside section.settings dl.props dt,
body.in-world main > aside section.settings dl.props dd {
  padding: 4px 0;
}
body.in-world main > aside section.settings dl.props dd.full {
  padding: 4px 0;
}
body.in-world main > aside section.settings dl.props dd input[type='checkbox'] {
  margin: 4px 4px 4px 0;
}
body.in-world main > aside section.settings dl.props dd input[type='text'],
body.in-world main > aside section.settings dl.props dd input[type='number'],
body.in-world main > aside section.settings dl.props dd select,
body.in-world main > aside section.settings dl.props dd textarea {
  padding-left: 0;
}
body.in-world main > aside .editor ul.toolbar,
.UserInterface dialog ul.toolbar {
  margin-bottom: 10px;
  padding-left: 0;
  display: flex;
  list-style: none;
  gap: 0;
}
body.in-world main > aside .editor ul.toolbar li button,
.UserInterface dialog ul.toolbar li button {
  background: var(--surface-2);
  color: var(--fg);
  border: 1px solid #555;
  margin-left: 2px;
}
body.in-world main > aside .editor ul.toolbar li button:hover,
.UserInterface dialog ul.toolbar li button:hover {
  background: var(--red);
  border-color: var(--red);
  color: var(--fg);
}
/* Build tab + add menu */
section.build-tab nav.build-main-tabs {
  display: flex;
  padding: 8px;
  margin-bottom: 4px;
  background-color: var(--bg);
}
section.build-tab nav.build-main-tabs div.separator {
  width: 1px;
  background-color: #555;
  margin: 0 8px;
}
section.build-tab nav.build-main-tabs button {
  flex: 1;
  padding: 8px 12px;
  background: none;
  border: none;
  color: var(--muted-3);
  font-weight: bold;
  cursor: pointer;
}
section.build-tab nav.build-main-tabs button[data-active='true'] {
  color: var(--fg);
  border-bottom: 2px solid #777;
}
.FeatureSpawnList > header {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.FeatureSpawnList > header h4 {
  flex: 1;
}
.FeatureSpawnList > header button {
  margin-right: 0 !important;
}
.FeatureSpawnList .add-buttons li {
  list-style: none;
  margin: 0 0 2px 0;
  padding: 8px 0 8px 20px;
  position: relative;
  display: flex;
}
.FeatureSpawnList .add-buttons li.selectable {
  cursor: pointer;
}
.FeatureSpawnList .add-buttons li.selectable:hover {
  background: #555;
}
.FeatureSpawnList .add-buttons li.selectable .meta {
  opacity: 0.3;
  color: var(--fg);
  font-weight: normal;
}
.FeatureSpawnList .add-buttons li img {
  width: 24px;
  position: absolute;
  left: 4px;
  top: 8px;
  filter: grayscale() brightness(1.5) contrast(2);
}
.FeatureSpawnList .add-buttons li small {
  display: block;
  color: var(--fg) 7;
  margin: 0;
}
.FeatureSpawnList .add-buttons li .middle-container {
  width: 71%;
}
.FeatureSpawnList .add-buttons li .meta {
  color: #dd0000;
  font-size: smaller;
  position: absolute;
  top: 10px;
  right: 4px;
}
/* Login */
.UserInterface section.login {
  padding: 1rem;
}
.UserInterface section.login img {
  width: 2rem;
}
.UserInterface aside .login a.button {
  position: relative;
  color: var(--bg);
  padding: 0.5rem 1rem;
  line-height: 2rem;
  display: inline-block;
  cursor: pointer;
}
.UserInterface aside .login a.button img {
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
  position: relative;
  top: 0.25rem;
}
/* Voxel tool belt (minecraft-like bottom bar) */
/* Tint editor modal + customize voxels */
.CustomizeVoxels div.textures {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
}
.CustomizeVoxels div.textures > div {
  margin: 3px;
  cursor: pointer;
}
.CustomizeVoxels div.textures > div:hover,
.CustomizeVoxels div.textures > div.-dragOver {
  background-color: #000;
  position: relative;
}
.CustomizeVoxels div.textures > div:hover img,
.CustomizeVoxels div.textures > div.-dragOver img,
.CustomizeVoxels div.textures > div:hover div,
.CustomizeVoxels div.textures > div.-dragOver div {
  opacity: 0.2;
}
.CustomizeVoxels div.textures > div img,
.CustomizeVoxels div.textures > div div {
  display: block;
  margin: 7px;
  background-size: 384px 384px;
  background-repeat: repeat;
  width: 48px;
  height: 48px;
}
.CustomizeVoxels div.textures > div small {
  display: block;
  color: var(--muted-2);
}
.CustomizeVoxels div.tints {
  margin-top: 10px;
}
.CustomizeVoxels div.tints input {
  width: 24px;
  height: 24px;
  margin-right: 3px;
  cursor: pointer;
  border: none;
}
.CustomizeVoxels div.OtherTextures {
  border-top: 2px solid #3c2744;
  padding: 2px 0;
}
.CustomizeVoxels div.OtherTextures img.other-parcel-texture {
  margin: 4px;
  width: 48px;
  height: 48px;
  cursor: pointer;
}
.CustomizeVoxels div.OtherTextures img.other-parcel-texture:hover {
  transform: scale(1.1);
}
.voxel-library {
  height: 150px;
  overflow-y: auto;
  padding: 4px 1px;
  margin: 5px 1px;
  background-color: var(--dark);
}
.voxel-library .category-name {
  cursor: pointer;
}
.voxel-library .category-name h5 {
  color: var(--muted-3);
  margin: 2px 2px 5px;
}
.voxel-library .category-models {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
}
.voxel-library .category-models a {
  padding: 3px;
}
.voxel-library .category-models img {
  width: 40px;
  height: 40px;
}
@media only screen and (min-width: 800px) and (min-height: 450px) {
  .voxel-library .category-models img {
    width: 55px;
    height: 55px;
  }
  .voxel-library .category-models img:hover {
    transform: scale(1.5);
    transition: all 0.2s ease-in-out;
  }
}
.voxel-library .category-models p {
  margin: auto 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Asset library */
.asset-library {
  display: flex;
  flex-direction: column;
}
.asset-library .spinny {
  text-align: center;
  margin: 2rem 0 4rem 0;
}
.asset-library .spinny,
.asset-library .spinny * {
  mix-blend-mode: multiply;
}
.asset-library .SortingOptions,
.asset-library .filter-options {
  padding: 0.5rem;
}
.asset-library .SortingOptions select,
.asset-library .filter-options select {
  width: 100%;
  margin-bottom: 0.2rem;
  font-size: smaller;
}
.asset-library .SortingOptions {
  font-size: smaller;
}
.SortingOptions {
  margin: 5px 4px;
}
.SortingOptions > a,
.SortingOptions > button {
  padding: 4px 8px;
  text-decoration: none;
  background: var(--surface-2);
  color: var(--fg);
  font: inherit;
  font-size: smaller;
  border: 1px solid #555;
  cursor: pointer;
  margin-left: 5px;
}
.SortingOptions > a.active,
.SortingOptions > button.active {
  background: var(--scroll-track);
}
.SortingOptions > a.active.ascending:after,
.SortingOptions > button.active.ascending:after {
  content: '↑';
}
.SortingOptions > a.active.descending:after,
.SortingOptions > button.active.descending:after {
  content: '↓';
}
.SortingOptions > a:hover,
.SortingOptions > button:hover {
  background: var(--red);
  border-color: var(--red);
}
.SortingOptions > a.categories,
.SortingOptions > a.types {
  padding: 4px 0;
}
.SortingOptions > a.categories select,
.SortingOptions > a.types select {
  background: none;
  color: inherit;
  border: none;
}
.AssetCard {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
}
.AssetCard.-small {
  height: 100%;
}
.AssetCard.-small > *:nth-child(2) {
  flex-grow: 1;
}
.AssetCard.-small > img {
  width: 140px;
  height: 140px;
}
.AssetCard.-large > img {
  width: 180px;
  height: 180px;
}
.AssetCard.-preview {
  cursor: default;
  margin: 0 5px 0 0;
}
.AssetCard > img {
  width: 180px;
  height: 180px;
  background-color: var(--line);
  display: block;
  margin-bottom: 5px;
}
.AssetCard > div.loading-image,
.AssetCard > div.broken-image {
  width: 100%;
}
.AssetCard > div.loading-image > img,
.AssetCard > div.broken-image > img {
  display: block;
  margin: auto;
}
.AssetCard > div.broken-image {
  height: 100%;
  filter: grayscale();
}
.AssetCard a {
  text-decoration: none;
  color: var(--fg);
}
.AssetCard a:hover {
  color: var(--red);
}
.AssetCard header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5px;
}
.AssetCard header div.name {
  font-size: 90%;
  font-weight: bold;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex: 1;
}
.AssetCard footer {
  margin: 0 0 0.5rem 0;
  padding: 0;
  border-top: none;
  color: var(--fg) 7;
  font-size: x-small;
  display: flex;
  justify-content: space-between;
}
.AssetCard footer div.type img {
  filter: grayscale() brightness(1.5) contrast(2);
  opacity: 0.5;
  display: block;
  width: 16px;
  height: 16px;
}
.AssetCard footer div.author {
  font-size: 90%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex: 1;
}
.AssetCard footer div + div {
  margin-left: 4px;
}
.assets {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.assets .asset-browser {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 10px;
  margin: 10px;
}
.assets .asset-browser div.asset-card-container {
  position: relative;
}
.inspector {
  position: relative;
}
.inspector img {
  aspect-ratio: 1;
  width: 100%;
  max-height: 320px;
}
.inspector.scripts img {
  display: none;
}
.edit-pane {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.edit-pane-tree {
  flex: 0 0 15rem;
  max-height: 15rem;
  min-height: 0;
  margin-top: auto;
  overflow: auto;
  overflow-x: hidden;
  border-top: 1px solid var(--line);
}
.edit-pane-tree .feature-tree {
  margin: 0;
  padding: 0;
  list-style: none;
}
.edit-pane-tree .feature-tree ul {
  margin: 0;
  padding-left: 1rem;
  list-style: none;
}
.edit-pane-tree .feature-tree li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.edit-pane-tree .feature-tree li.-selected > .feature-tree-row {
  color: var(--red);
}
.edit-pane-tree .feature-tree-parcel > .feature-tree-label {
  display: block;
  padding: 4px 6px;
  font-size: 0.85em;
}
.edit-pane-tree .feature-tree-parcel .feature-tree-row {
  cursor: pointer;
}
.edit-pane-tree .feature-tree-row {
  display: flex;
  align-items: center;
  padding: 4px 6px;
  cursor: pointer;
}
.edit-pane-tree .feature-tree-row .feature-tree-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.85em;
}
.edit-pane-multi .edit-pane-tree {
  flex: 1;
  max-height: none;
}
.edit-pane-multi-actions {
  display: flex;
  gap: 1rem;
  padding: 0.5rem 6px;
  border-top: 1px solid var(--line);
}
.edit-pane-inspector {
  flex: 1;
  min-height: 0;
  overflow: visible;
}
.edit-pane-inspector > section {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.edit-pane-inspector .scrollContainer {
  flex: 1;
  min-height: 0;
  overflow: visible;
}
body.in-world main > aside .edit-pane-inspector {
  overflow: visible;
}
body.in-world main > aside .edit-pane-inspector .scrollContainer {
  overflow: visible;
  flex: none;
}
body.in-world main > aside .editor,
body.in-world main > aside section.settings {
  overflow: visible;
}
body.in-world main > aside .editor .scrollContainer,
body.in-world main > aside section.settings .scrollContainer {
  overflow: visible;
}
.inspector.overlay {
  width: 240px;
  inset: 40px auto 40px 40px;
  margin: 0;
  overflow-y: auto;
}
.inspector.overlay ul li {
  margin-bottom: 4px;
}
.inspector.overlay ul li p {
  overflow: hidden;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inspector.overlay ul li small {
  color: #555;
  display: block;
}
/* Snapshots */
/* Womps */
.le-wompies .grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.5rem;
}
.le-wompies .grid p {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.le-wompies .grid a {
  color: var(--fg);
}
.le-wompies .grid time {
  opacity: 0.3;
}
.le-wompies .grid div.womp img {
  max-width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.WompOptions textarea {
  width: 100%;
  margin: 0 0 10px;
  padding: 5px;
  resize: vertical;
  min-height: 50px;
  max-height: 100px;
  box-sizing: border-box;
}
button.TakeWompButton {
  font-size: 110%;
  padding: 10px;
  margin: 5px 0 0 0;
}
.womp-button {
  position: absolute;
  bottom: calc(var(--chatbar) + 1rem);
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid var(--fg);
  background: rgba(0, 0, 0, 0.5);
  color: var(--fg);
  padding: 0.5rem 1rem;
  cursor: pointer;
  z-index: 1000;
}
section.take-womp .take-womp-preview {
  max-width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  margin-bottom: 1rem;
}
form.PermissionsRadioSelector > div {
  margin: 10px 0;
}
form.PermissionsRadioSelector > div > label {
  cursor: pointer;
  display: flex;
}
form.PermissionsRadioSelector > div > label > div {
  margin-left: 5px;
  flex: 1;
}
form.PermissionsRadioSelector > div > label > div div.info {
  font-size: 90%;
  color: #bdbdbd;
}
/* Scratchpad guide */
.scratchpad-guide {
  left: 12rem;
  bottom: 7rem;
  z-index: 600;
  max-width: 14rem;
  padding: 0.75rem 1rem;
  background: rgba(0, 0, 0, 0.55);
  color: var(--fg);
  text-shadow: 1px 1px 1px var(--bg);
}
.scratchpad-guide .scratchpad-guide-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.5rem;
  gap: 1rem;
}
.scratchpad-guide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.scratchpad-guide li {
  margin: 0.25rem 0;
}
.scratchpad-guide li.done,
.scratchpad-guide li.skipped {
  opacity: 0.45;
}
.scratchpad-guide .mark {
  display: inline-block;
  width: 1.75rem;
  font-family: monospace;
}
.scratchpad-guide .hint {
  margin: 0.25rem 0 0.25rem 1.75rem;
  color: var(--border-color);
}
.scratchpad-guide button.linkish {
  margin-left: 1.75rem;
  background: none;
  border: none;
  color: var(--border-color);
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
.scratchpad-guide button.linkish:hover {
  color: #eee;
}
.scratchpad-guide.scratchpad-guide-mini {
  left: 50%;
  transform: translateX(-50%);
  max-width: none;
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 0.5rem 1rem;
}
.scratchpad-guide.scratchpad-guide-mini button.linkish {
  margin-left: 0;
  color: var(--fg);
}
.scratchpad-guide-restart {
  left: 12rem;
  bottom: 7rem;
  z-index: 600;
  padding: 0.5rem 0.75rem;
  background: rgba(0, 0, 0, 0.55);
  color: var(--fg);
  text-shadow: 1px 1px 1px var(--bg);
  border: none;
  cursor: pointer;
}
/* Help */
.help-overlay * {
  color: #eee;
}
.help-overlay .colos {
  display: flex;
}
.help-overlay .colos > ul {
  flex: 1;
}
.help-overlay .colos > ul:last-child {
  padding-left: 8px;
}
.help-overlay .bindings {
  margin: 0;
  padding: 0;
}
.help-overlay .bindings li {
  list-style: none;
  margin: 0 0 2px 0;
}
.help-overlay .bindings span {
  display: inline-block;
  text-align: center;
  min-width: 18px;
  max-width: 64px;
  padding: 0 8px;
  height: 28px;
  line-height: 28px;
  background: linear-gradient(var(--scroll-track), var(--disabled));
  border: 2px solid var(--bg);
  box-shadow: inset -4px -4px 0 var(--line);
}
.help-overlay .bindings u {
  display: block;
  font-weight: bold;
  margin-top: 1rem;
}
.help-overlay .bindings u + p {
  color: var(--border-color);
  display: inline-block;
  margin: 0;
}
.help-overlay .scratchpad-help-steps {
  margin: 0 0 1rem 1.25rem;
  padding: 0;
  line-height: 1.5;
}
.help-overlay .scratchpad-help-outro {
  margin: 0 0 1rem 0;
  color: var(--border-color);
  font-size: 0.9em;
}
/* Parcel info + debug tools */
.parcel-information-overlay h2,
.parcel-information-overlay h3,
.parcel-information-overlay h4,
.parcel-information-overlay h5 {
  color: #d8d8d8;
}
.parcel-information-overlay a {
  color: #969696;
}
.parcel-information-overlay p {
  margin-bottom: 1px;
}
.parcel-information-overlay .parcels-details {
  padding: 5px;
  border: none;
  background-color: var(--tinge);
}
.parcel-information-overlay .actions {
  margin: 5px 0 5px 7px;
}
.parcel-information-overlay .actions > li {
  margin: 5px 0 2px 2px;
}
.parcel-information-overlay .actions > li a {
  text-decoration: none;
  background-color: var(--dark);
  height: 15px;
  margin-right: 3px;
}
.parcel-information-overlay .actions > li:hover a {
  background-color: #464646;
}
.parcel-information-overlay .overlay-parcel-info-content {
  display: flex;
  flex-direction: column;
  background-color: var(--tinge);
  padding: 8px;
  margin: 2px 2px 10px;
}
.parcel-information-overlay .overlay-parcel-info-content > * {
  margin-bottom: 8px;
}
.parcel-information-overlay .overlay-parcel-info-content .event-item {
  background-color: #1d1d1d;
}
.parcel-information-overlay .overlay-parcel-info-content p {
  margin-bottom: 2px;
}
.parcel-information-overlay .overlay-parcel-info-content h1,
.parcel-information-overlay .overlay-parcel-info-content h2,
.parcel-information-overlay .overlay-parcel-info-content h3,
.parcel-information-overlay .overlay-parcel-info-content h4,
.parcel-information-overlay .overlay-parcel-info-content h5 {
  margin: 2px 0;
  text-shadow: none;
}
.parcel-information-overlay .womp {
  width: 128px;
}
.parcel-information-overlay .parcel-womps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
.parcel-information-overlay .parcel-womps-grid .womp {
  width: auto;
}
.parcel-information-overlay .parcel-womps-grid .womp img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  margin: 0;
}
.parcel-information-overlay .parcel-womps-grid .womp p {
  display: none;
}
.parcel-information-overlay .womps-show-more {
  width: 100%;
  margin-top: 0.5rem;
  background: none;
  border: 0;
  color: var(--bright);
  cursor: pointer;
  opacity: 0.7;
}
.parcel-information-overlay .womps-show-more:hover {
  opacity: 1;
}
.parcel-information-overlay .island-minimap .map.map-overlay {
  width: 100%;
  height: 14rem;
  min-width: unset;
  max-height: 14rem;
  margin-bottom: 1rem;
}
.parcel-information-overlay .island-parcels {
  list-style: none;
  padding: 0;
  margin: 0;
}
.parcel-information-overlay .island-parcels a {
  cursor: pointer;
}
.parcel-information-overlay .island-live-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  margin-bottom: 0.5rem;
}
.parcel-information-overlay .island-live-row img {
  width: 96px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  background: #000;
}
.parcel-information-overlay .island-live-row .island-live-dot {
  color: var(--red);
  animation: showbox-live-pulse 1.2s ease-in-out infinite;
}
.parcel-information-overlay .island-live-row .island-live-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.parcel-information-overlay .island-live-row .island-live-viewers {
  opacity: 0.7;
  white-space: nowrap;
}
.parcel-information-overlay .island-board textarea {
  width: 100%;
  min-height: 3rem;
}
.parcel-information-overlay .island-board .island-board-actions {
  display: flex;
  gap: 0.5rem;
}
.parcel-information-overlay .island-board .island-board-cancel {
  background: none;
  border: 0;
  color: var(--bright);
  opacity: 0.7;
  cursor: pointer;
  text-decoration: underline;
}
.parcel-information-overlay .island-board .island-board-posts {
  list-style: none;
  padding: 0;
  margin: 0;
}
.parcel-information-overlay .island-board .island-board-posts li {
  margin-bottom: 1rem;
}
.parcel-information-overlay .island-board .island-board-posts .who {
  opacity: 0.7;
}
.parcel-information-overlay .island-board .island-board-posts .who span {
  margin-left: 0.5rem;
}
.parcel-information-overlay .island-board .island-board-posts .island-board-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.parcel-information-overlay .island-board .island-board-posts .island-board-meta a {
  cursor: pointer;
}
.debug-tools-overlay h2,
.debug-tools-overlay h3,
.debug-tools-overlay h4,
.debug-tools-overlay h5 {
  color: #d8d8d8;
}
.debug-tools-overlay a {
  color: #969696;
}
.debug-tools-overlay p {
  margin-bottom: 1px;
}
.debug-tools-overlay .parcels-details {
  padding: 5px;
  border: none;
  background-color: var(--tinge);
}
.debug-tools-overlay .actions {
  margin: 5px 0 5px 7px;
}
.debug-tools-overlay .actions > li {
  margin: 5px 0 2px 2px;
}
.debug-tools-overlay .actions > li a {
  text-decoration: none;
  background-color: var(--dark);
  height: 15px;
  margin-right: 3px;
}
.debug-tools-overlay .actions > li:hover a {
  background-color: #464646;
}
.debug-tools-overlay .overlay-parcel-info-content {
  display: flex;
  flex-direction: column;
  background-color: var(--tinge);
  padding: 8px;
  margin: 2px 2px 10px;
}
.debug-tools-overlay .overlay-parcel-info-content > * {
  margin-bottom: 8px;
}
.debug-tools-overlay .overlay-parcel-info-content .event-item {
  background-color: #1d1d1d;
}
.debug-tools-overlay .overlay-parcel-info-content p {
  margin-bottom: 2px;
}
.debug-tools-overlay .overlay-parcel-info-content h1,
.debug-tools-overlay .overlay-parcel-info-content h2,
.debug-tools-overlay .overlay-parcel-info-content h3,
.debug-tools-overlay .overlay-parcel-info-content h4,
.debug-tools-overlay .overlay-parcel-info-content h5 {
  margin: 2px 0;
  text-shadow: none;
}
.debug-tools-overlay .womp {
  width: 128px;
}
.debug-tools-overlay .parcel-womps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
.debug-tools-overlay .parcel-womps-grid .womp {
  width: auto;
}
.debug-tools-overlay .parcel-womps-grid .womp img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  margin: 0;
}
.debug-tools-overlay .parcel-womps-grid .womp p {
  display: none;
}
.debug-tools-overlay .womps-show-more {
  width: 100%;
  margin-top: 0.5rem;
  background: none;
  border: 0;
  color: var(--bright);
  cursor: pointer;
  opacity: 0.7;
}
.debug-tools-overlay .womps-show-more:hover {
  opacity: 1;
}
.debug-tools-overlay .island-minimap .map.map-overlay {
  width: 100%;
  height: 14rem;
  min-width: unset;
  max-height: 14rem;
  margin-bottom: 1rem;
}
.debug-tools-overlay .island-parcels {
  list-style: none;
  padding: 0;
  margin: 0;
}
.debug-tools-overlay .island-parcels a {
  cursor: pointer;
}
.debug-tools-overlay .island-live-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  margin-bottom: 0.5rem;
}
.debug-tools-overlay .island-live-row img {
  width: 96px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  background: #000;
}
.debug-tools-overlay .island-live-row .island-live-dot {
  color: var(--red);
  animation: showbox-live-pulse 1.2s ease-in-out infinite;
}
.debug-tools-overlay .island-live-row .island-live-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.debug-tools-overlay .island-live-row .island-live-viewers {
  opacity: 0.7;
  white-space: nowrap;
}
.debug-tools-overlay .island-board textarea {
  width: 100%;
  min-height: 3rem;
}
.debug-tools-overlay .island-board .island-board-actions {
  display: flex;
  gap: 0.5rem;
}
.debug-tools-overlay .island-board .island-board-cancel {
  background: none;
  border: 0;
  color: var(--bright);
  opacity: 0.7;
  cursor: pointer;
  text-decoration: underline;
}
.debug-tools-overlay .island-board .island-board-posts {
  list-style: none;
  padding: 0;
  margin: 0;
}
.debug-tools-overlay .island-board .island-board-posts li {
  margin-bottom: 1rem;
}
.debug-tools-overlay .island-board .island-board-posts .who {
  opacity: 0.7;
}
.debug-tools-overlay .island-board .island-board-posts .who span {
  margin-left: 0.5rem;
}
.debug-tools-overlay .island-board .island-board-posts .island-board-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.debug-tools-overlay .island-board .island-board-posts .island-board-meta a {
  cursor: pointer;
}
.parcel-states .unordered-list {
  list-style: none;
  color: var(--fg);
  margin-top: 5px;
  border-top: 1px solid #6b6b6b;
}
.parcel-states .unordered-list li {
  margin: 4px 1px;
  padding: 5px;
  display: flex;
  justify-content: space-between;
}
.parcel-states .unordered-list li:hover {
  background-color: #272727aa;
}
.parcel-states .unordered-list a {
  color: var(--fg);
  display: block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: pre;
}
.parcel-states .overlay-header {
  background: var(--tinge);
  padding: 8px;
  margin-bottom: 10px;
}
.overlay.inspect-feature {
  background: var(--bg);
  padding: 10px;
  width: 25vw;
}
.overlay.inspect-feature.view-source .close {
  display: block;
}
.overlay.inspect-feature pre {
  font-family: monospace;
  user-select: text;
  padding: 5px;
  max-height: 70vh;
  overflow-y: auto;
}
.overlay.inspect-feature .feature-inspector-container {
  padding: 10px;
  user-select: text;
}
.overlay.inspect-feature .feature-inspector-container table tr.-moderatorOnly th,
.overlay.inspect-feature .feature-inspector-container table tr.-moderatorOnly td,
.overlay.inspect-feature .feature-inspector-container table tr.-moderatorOnly td a {
  color: #7684ff;
}
.overlay.inspect-feature .feature-inspector-container table th,
.overlay.inspect-feature .feature-inspector-container table td {
  text-align: left;
  padding: 5px;
}
.overlay.inspect-feature .feature-inspector-options {
  margin-top: 10px;
}
.overlay.inspect-feature .feature-inspector-options h4 {
  margin: 10px 0;
}
.overlay.inspect-feature .feature-inspector-options.-moderator h4 {
  color: #7684ff;
}
.overlay.inspect-feature .feature-inspector-options.-builder h4 {
  color: #ffef76;
}
/* Explorer: users online + nearby players + search */
.SearchBar {
  position: relative;
}
.SearchBar input {
  width: 100%;
  box-sizing: border-box;
  color: var(--fg);
}
.SearchBar:focus-within ul {
  display: block;
}
.SearchBar ul {
  display: none;
  position: absolute;
  background: #1d1d1df2;
  list-style: none;
  z-index: 2;
  left: 0;
  right: 0;
  border: 1px solid #424242;
}
.SearchBar li {
  padding: 5px 10px;
  cursor: pointer;
}
.SearchBar li header {
  font-weight: bold;
}
.SearchBar li:hover {
  background: var(--red);
}
/* Map (leaflet) - .map-icon + MarkersClusters live in common.less */
.map.map-overlay {
  min-width: 10vw;
  height: 75vh;
  max-height: 75vh;
  overflow: hidden;
  margin-bottom: 20px;
}
.map.map-overlay .leaflet-tile-pane {
  opacity: 0.5;
}
/* Connection status */
/* Upload status */
/* Minimap corner controls */
/* Conga status overlays */
.conga-status-overlay {
  bottom: 6.75rem;
  padding: 0.45rem 1rem 0.5rem;
  text-align: center;
  white-space: normal;
  max-width: min(22rem, 92vw);
}
.conga-status-overlay--join-hint {
  background: rgba(90, 130, 95, 0.55);
}
.conga-status-overlay--started {
  background: rgba(120, 110, 170, 0.55);
}
.conga-status-overlay__badge {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 0.15rem;
}
.conga-status-overlay__main {
  font-size: 0.95rem;
  white-space: nowrap;
}
.conga-status-overlay__hint {
  font-size: 0.72rem;
  opacity: 0.88;
  margin-top: 0.2rem;
  white-space: nowrap;
}
.conga-status-overlay__kbd {
  font-family: ui-monospace, monospace;
  font-weight: 600;
}
/* Mobile controls */
div.mobile-buttons {
  position: absolute;
  bottom: var(--chatbar);
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
div.mobile-buttons div.mobile-controls-container {
  text-align: right;
  height: 3.2rem;
  margin: 1rem;
}
div.mobile-buttons div.mobile-controls-container > button.hex-button {
  position: relative;
  padding: 0;
  margin: 0 0.5rem 0 0;
  font-size: 0.8rem;
  border: none;
  color: var(--hover);
  background: var(--line) 5 !important;
  width: 3.2rem;
  height: 3.2rem;
  line-height: 2.72rem;
  text-align: center;
  touch-action: none;
}
.mobile-pad {
  position: fixed;
  bottom: calc(var(--chatbar) + 1rem);
  left: 1rem;
  width: 40vw;
  aspect-ratio: 1 / 1;
  background: rgba(128, 128, 128, 0.3);
  touch-action: none;
  z-index: 2000;
}
.mobile-pad-nub {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 33%;
  aspect-ratio: 1 / 1;
  background: rgba(128, 128, 128, 0.6);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
/* Overlay windows (admin / nft / take-womp etc) */
.OverlayWindow {
  background: var(--bg);
  color: var(--fg);
  border: none;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50vw;
  max-height: 95vh;
  overflow: auto;
  padding: 1rem;
  z-index: 12000;
}
@media only screen and (max-width: 800px) {
  .OverlayWindow {
    width: 80vw;
    height: 95vh;
  }
}
.OverlayWindow h1,
.OverlayWindow h2,
.OverlayWindow h3,
.OverlayWindow h4,
.OverlayWindow h5,
.OverlayWindow h6 {
  color: inherit;
}
.OverlayWindow h1 {
  font-weight: bold;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.OverlayWindow input,
.OverlayWindow button,
.OverlayWindow select,
.OverlayWindow textarea {
  color: var(--fg);
}
.OverlayWindow input:disabled,
.OverlayWindow button:disabled,
.OverlayWindow select:disabled,
.OverlayWindow textarea:disabled {
  color: var(--disabled);
}
.OverlayWindow .close {
  background: none;
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  border: none;
  font-size: 1rem;
  color: var(--muted-3);
  cursor: pointer;
}
.OverlayWindow.-auto-height {
  height: fit-content;
}
@media only screen and (max-width: 800px) {
  .OverlayWindow.-auto-height {
    height: 90%;
  }
}
.OverlayWindow iframe {
  background: #eee;
}
.ParcelAdminWindow .OverlayHighlightContent input[type='text'],
.ParcelAdminWindow .OverlayHighlightContent textarea {
  flex: 2;
}
.nft-view {
  max-height: calc(100vh - 3rem);
  max-width: calc(100vw - 3rem);
  box-sizing: border-box;
  background: var(--bg);
}
.nft-view h1 a {
  text-decoration: none;
  color: var(--fg);
}
.nft-view img,
.nft-view video {
  display: block;
  height: calc(100vh - 20rem);
  object-fit: contain;
}
.nft-view .nft-description {
  white-space: pre-line;
  word-break: break-word;
  color: var(--muted-3);
  padding: 1rem;
}
.AcaFeatureList {
  overflow: hidden auto;
}
.AcaFeatureList li {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.AcaFeatureList li li {
  margin-left: 10px;
}
.AcaFeatureList li + li {
  margin-top: 3px;
}
.AcaFeatureList ol {
  margin: 0;
  padding: 0;
}
.overlay.suspended-window {
  background-color: var(--line);
}
.overlay.suspended-window p {
  user-select: text;
}
.overlay.suspended-window ul {
  margin: 0 0 0 15px;
}
/* Scripting */
/* Misc */
.home-button .cube-logo {
  --size: 0.75rem;
  top: 0;
}
.home-button > a:hover {
  background: none !important;
}
.open-link {
  max-width: 45vw;
  box-sizing: border-box;
}
@media only screen and (max-width: 800px) {
  .open-link {
    max-width: unset;
    width: 95%;
  }
}
.open-link img {
  width: 100%;
  aspect-ratio: 2/1;
}
.open-link p.url {
  margin-top: 2rem;
  font-size: 1.3rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 500px;
}
.open-link p.url a {
  background-color: var(--line);
  text-decoration: underline;
}
.open-link a {
  text-decoration: underline;
}
div.location a.address {
  width: 100vw;
  position: relative;
  color: var(--fg);
  font-weight: bold;
  font-size: 48px;
  letter-spacing: -2px;
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.8);
}
div.location a.address:hover {
  text-decoration: none;
}
@media only screen and (max-width: 800px) {
  div.location a.address {
    font-size: 32px;
    letter-spacing: 0;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.8);
  }
}
.audio-meter {
  min-height: 20px;
  background: #1f1f1f;
  padding: 1px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.audio-meter.clipping span {
  background: #c20000;
}
.audio-meter span {
  background: #00ff00;
  flex: 1;
  height: 10px;
  width: 100%;
}
.audio-meter span.audio-meter--r {
  margin-top: 1px;
}
button[accesskey] kbd {
  text-decoration: none;
}
button[accesskey]:hover kbd {
  text-decoration: underline;
}
/* "you are here" heading triangle on the leaflet maps; rotated via the marker's rotationAngle */
.map-you-arrow {
  background: #fb6728;
  clip-path: polygon(50% 0%, 95% 100%, 50% 76%, 5% 100%);
}
/* Map marker css icons */
div.css-icon div.party,
div.css-icon div.exhibition {
  height: 18px;
  width: 18px;
  animation: pulsate 1s ease-out infinite;
}
div.css-icon .inner-circle {
  transform: translate(-20%, -20%);
  height: 25px;
  width: 25px;
  text-align: center;
  line-height: 25px;
  display: inline-block;
}
@keyframes pulsate {
  0% {
    transform: scale(0.1, 0.1);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}
* {
  accent-color: var(--red);
}
.overlay.inspect-feature,
.scripting-container-overlay {
  background: var(--bg);
  color: var(--fg);
}
