.world-shell {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.world-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(78, 124, 180, 0.45);
  border-radius: 14px;
  background:
    radial-gradient(circle at 12% 25%, rgba(108, 170, 240, 0.22), transparent 44%),
    radial-gradient(circle at 84% 22%, rgba(75, 127, 201, 0.18), transparent 40%),
    linear-gradient(130deg, #0f1f35 0%, #132947 52%, #0d1a2e 100%);
  padding: 1rem 1.1rem;
}

.world-hero::after {
  content: "";
  position: absolute;
  right: -64px;
  top: -64px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(148, 207, 255, 0.38), rgba(46, 100, 172, 0.6) 56%, rgba(16, 43, 82, 0.75) 100%);
  box-shadow: inset -12px -16px 40px rgba(6, 16, 30, 0.5), 0 0 0 1px rgba(157, 200, 255, 0.2);
  pointer-events: none;
}

.world-hero-top h1 {
  margin: 0;
  font-size: 1.85rem;
  letter-spacing: .2px;
}

.world-hero-kicker {
  display: inline-flex;
  margin-bottom: .35rem;
  color: #9dccff;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.world-hero p {
  margin: .35rem 0 0;
  color: #b9cde5;
  max-width: 60ch;
}

.world-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .42rem;
  margin-top: .75rem;
}

.world-hero-badges span {
  border: 1px solid rgba(124, 165, 217, 0.5);
  border-radius: 999px;
  padding: .2rem .56rem;
  font-size: .76rem;
  color: #dbe9fb;
  background: rgba(23, 50, 79, 0.45);
}

.world-toolbar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .6rem;
  align-items: center;
}

.world-toolbar-actions {
  display: flex;
  gap: .45rem;
}

.world-toolbar-search input {
  width: 100%;
  border: 1px solid #34567e;
  border-radius: 8px;
  background: #101c2d;
  color: #dce9fb;
  padding: .44rem .62rem;
}

.world-toolbar-search input:focus {
  outline: none;
  border-color: #7fb9ff;
  box-shadow: 0 0 0 3px rgba(127, 185, 255, 0.18);
}

.world-toolbar-meta {
  color: #9db7d8;
  font-size: .9rem;
}

.world-tree-frame {
  border: 1px solid rgba(56, 90, 129, 0.6);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(16, 28, 45, 0.95), rgba(12, 22, 37, 0.98));
  box-shadow: inset 0 1px 0 rgba(158, 202, 255, 0.05);
  padding: .85rem;
  overflow: auto;
  max-height: 78vh;
}

.world-tree-frame .tree-view {
  margin: 0;
}

.world-tree-frame details > summary {
  border-radius: 8px;
  padding: .2rem .35rem;
}

.world-tree-frame details > summary:hover {
  background: rgba(30, 56, 87, 0.42);
}

.world-tree-frame summary span {
  color: #d9e8fb;
}

.world-tree-frame .badge {
  border: 1px solid rgba(255, 255, 255, 0.24);
}

@media (max-width: 991.98px) {
  .world-toolbar {
    grid-template-columns: 1fr;
  }
}
