#semantic-cloud {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0a0a0f;
  overflow: hidden;
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  z-index: 0;
}

#sc-canvas-container {
  position: absolute;
  inset: 0;
  left: -100px;
  cursor: default;
  touch-action: none;
}

#sc-tooltip {
  position: absolute;
  display: none;
  padding: 5px 10px;
  background: rgba(10, 10, 15, 0.92);
  border: 1px solid #7a2a20;
  color: #e8e3d8;
  font-size: 13px;
  font-family: inherit;
  pointer-events: none;
  white-space: nowrap;
  letter-spacing: 0.02em;
  z-index: 3;
}

#sc-count {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 15px;
  opacity: 0.5;
  color: #fff;
  z-index: 1000;
  transition: opacity 0.3s;
}

#sc-count:hover {
  opacity: 0.8;
}

#sc-search-box {
  position: absolute;
  top: 150px;
  right: 24px;
  width: 270px;
  z-index: 4;
}
#sc-neighbors-panel {
  position: absolute;
  top: 226px;
  right: 24px;
  width: 270px;
  z-index: 3;
  display: none;
}

@media (min-width: 960px) {
  #sc-search-box {
    right: 17vw;
  }
  #sc-neighbors-panel {
    right: 17vw;
  }
}

#sc-search-input {
  width: 100%;
  padding: 10px 14px;
  background: rgba(20, 18, 20, 0.85);
  border: 1px solid #7a2a20;
  color: #e8e3d8;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  outline: none;
}

#sc-search-input::placeholder { color: #8a8578; }
#sc-search-input:focus { border-color: #c0392b; }

#sc-suggestions {
  margin-top: 2px;
  max-height: 180px;
  overflow-y: auto;
  background: rgba(20, 18, 20, 0.92);
  border: 1px solid #7a2a20;
  border-top: none;
  display: none;
}

.sc-suggestion {
  padding: 8px 14px;
  color: #e8e3d8;
  font-size: 13px;
  cursor: pointer;
  border-bottom: 1px solid rgba(122, 42, 32, 0.3);
}

.sc-suggestion:last-child { border-bottom: none; }
.sc-suggestion:hover,
.sc-suggestion.active-suggestion {
  background: rgba(192, 57, 43, 0.2);
}

#sc-neighbors-panel .sc-label {
  color: #8a8578;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.sc-neighbor-item {
  padding: 5px 10px;
  color: #e8e3d8;
  font-size: 12px;
  font-weight: 100;
  background: rgba(20, 18, 20, 0.7);
  margin-bottom: 3px;
  border-left: 2px solid #c0392b;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.15s;
}
.sc-neighbor-item:hover {
  background: rgba(192, 57, 43, 0.25);
}