.world-content {
  position: fixed;
  z-index: 20;
  top: 16px;
  right: 16px;
  width: min(880px, calc(100vw - 32px));
  max-height: calc(100svh - 32px);
  display: flex;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #aaa;
  background: #fff;
  color: #222;
  font: 12px/1.5 ui-monospace, monospace;
  -webkit-font-smoothing: auto;
  text-align: left;
}
.world-content header, .world-content footer { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.world-content header { justify-content: space-between; margin-bottom: 20px; }
.world-content header strong { font-size: 15px; }
.world-content button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
.world-content button:hover { text-decoration: underline; }
.world-content button:disabled { opacity: .35; cursor: default; }
.world-content :focus-visible { outline: 1px solid #555; outline-offset: 1px; }
.content-scroll { overflow: auto; min-height: 0; }
.world-content table { border-collapse: collapse; width: 100%; min-width: 700px; table-layout: fixed; }
.world-content .order-col { width: 44px; }
.world-content .glyph-col { width: 74px; }
.world-content .color-col { width: 45px; }
.world-content th { font-weight: normal; color: #777; text-align: left; }
.world-content thead th { position: sticky; top: 0; z-index: 1; background: #fff; padding: 0 4px 9px; border-bottom: 1px solid #ddd; font-size: 11px; }
.world-content thead th:nth-last-child(-n+3) { text-align: center; font-size: 10px; }
.world-content td { padding: 5px 4px; vertical-align: middle; }
.world-content .content-group th { padding: 20px 4px 9px; }
.world-content tr:focus-within td { background: #f6f6f6; }
.world-content textarea, .world-content select { font: inherit; color: inherit; background: transparent; border: 1px solid transparent; border-radius: 0; width: 100%; padding: 4px 2px; }
.world-content textarea { display: block; resize: none; overflow: hidden; min-height: 28px; }
.world-content textarea:hover, .world-content select:hover { border-color: #ccc; }
.world-content select:disabled { opacity: .5; }
.world-content .content-move { display: flex; align-items: center; gap: 7px; width: 100%; padding: 4px 0; color: #777; cursor: grab; touch-action: none; font-variant-numeric: tabular-nums; }
.content-grip { color: #aaa; }
.world-content .content-move:hover { color: #222; text-decoration: none; }
.content-color { text-align: center; }
.content-color input { display: block; margin: auto; width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; }
.content-color input::-webkit-color-swatch-wrapper { padding: 2px; }
.content-color input::-webkit-color-swatch { border: 1px solid #aaa; border-radius: 0; }
.world-content footer { margin-top: 20px; }
.world-content [data-status] { margin-left: auto; color: #777; font-size: 11px; }
.world-content [data-restore] { margin-bottom: 16px; text-decoration: underline; }
.world-content [data-error] { margin: 10px 0 0; }
.world-content ::selection { background: #ddd; color: #111; }
.content-dragging, .content-dragging * { cursor: grabbing !important; user-select: none; }
.content-drag-source { opacity: .35; }
.world-content .drop-before { box-shadow: 0 -2px #444; }
.world-content .drop-after { box-shadow: 0 2px #444; }
.content-announcement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) {
  .world-content { top: 8px; right: 8px; width: calc(100vw - 16px); max-height: calc(100svh - 16px); padding: 12px; }
}
