/* Transparências do palco */
.universe {
  background: transparent;
}

.topbar {
  height: 62px;
  padding: 0 31px;
  background: linear-gradient(180deg, rgba(2, 8, 13, 0.83), rgba(2, 8, 13, 0.24));
  border-bottom: 1px solid rgba(111, 234, 228, 0.13);
  backdrop-filter: blur(12px);
}

.brand img { width: 28px; height: 28px; }
.brand { font-size: 17px; }

.outline-btn, .top-actions button {
  min-height: 30px;
  padding: 0 5px;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: #7a969a;
  font: 500 10px "Space Grotesk", sans-serif;
  letter-spacing: 0.12em;
}

.outline-btn:hover, .top-actions button:hover {
  color: #d9ffff;
  border-bottom-color: #16e5e1;
}

.top-actions { gap: 16px; }

.stage:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 51%, transparent 0 25%, rgba(0, 4, 8, 0.45) 100%);
  pointer-events: none;
}

.core {
  width: 400px;
  height: 400px;
  z-index: 5;
}

.core:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 245px;
  height: 245px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(22, 229, 225, 0.25), rgba(10, 168, 173, 0.05) 45%, transparent 70%);
  filter: blur(8px);
  transform: translate(-50%, -50%);
  animation: core-breathe 3.8s ease-in-out infinite;
  pointer-events: none;
}

.engine {
  width: 200px;
  height: 200px;
  border-color: rgba(140, 255, 249, 0.72);
  box-shadow: 0 0 0 8px rgba(22, 229, 225, 0.04), 0 0 45px rgba(22, 229, 225, 0.33), inset 0 0 30px rgba(0, 0, 0, 0.66);
  z-index: 2;
}

.engine video {
  filter: grayscale(1) sepia(1) hue-rotate(180deg) saturate(7) brightness(0.85) contrast(1.14);
  mix-blend-mode: screen;
  opacity: 0.94;
}

.engine span {
  background: linear-gradient(180deg, transparent 45%, rgba(165, 255, 252, 0.72) 50%, transparent 54%);
  background-size: 100% 180%;
  mix-blend-mode: screen;
  animation: scan-through 4s linear infinite;
}

.coord {
  padding: 3px 6px;
  border-color: rgba(153, 244, 239, 0.17);
  background: rgba(3, 12, 15, 0.71);
  color: #88bdbc;
  font: 7px "Space Grotesk", sans-serif;
  letter-spacing: 0.14em;
}

.node {
  min-width: 128px;
  max-width: 184px;
  gap: 8px;
  padding: 7px 8px 7px 7px;
  border-color: rgba(134, 237, 232, 0.29);
  border-radius: 7px;
  background: linear-gradient(115deg, rgba(4, 14, 18, 0.9), rgba(8, 26, 29, 0.68));
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.19), 0 0 16px rgba(22, 229, 225, 0.07);
}

.node:before {
  width: 2px;
  box-shadow: 0 0 8px var(--node-color, var(--cyan));
}

.node b { font-size: 11px; line-height: 1.1; }
.node small { font-size: 8px; line-height: 1.15; color: #91afb1; }

.node:hover {
  background: linear-gradient(115deg, rgba(8, 29, 32, 0.96), rgba(8, 52, 54, 0.73));
  box-shadow: 0 10px 29px rgba(0, 0, 0, 0.26), 0 0 25px rgba(22, 229, 225, 0.22);
}

.category button {
  min-height: 25px;
  padding: 0 8px;
  border-color: color-mix(in srgb, var(--cat), transparent 62%);
  background: rgba(4, 15, 19, 0.74);
  color: #d8f5f3;
  font: 500 9px "Space Grotesk", sans-serif;
  letter-spacing: 0.07em;
  box-shadow: 0 0 17px color-mix(in srgb, var(--cat), transparent 83%);
}

.sticky {
  min-width: 128px;
  max-width: 210px;
  padding: 9px 10px 10px;
  border-radius: 3px 9px 9px 9px;
  box-shadow: 0 11px 26px rgba(0, 0, 0, 0.27), inset 0 1px rgba(255, 255, 255, 0.12);
  transform: translate(-50%, -50%) rotate(-1.4deg);
  font-size: 11px;
  line-height: 1.35;
}

.sticky small { font: 8px "Space Grotesk", sans-serif; letter-spacing: 0.11em; }
.sticky.amber { border-color: rgba(255, 214, 122, 0.46); background: linear-gradient(135deg, rgba(75, 54, 14, 0.92), rgba(42, 31, 10, 0.91)); color: #fff4cc; }
.sticky.cyan { border-color: rgba(93, 245, 238, 0.48); background: linear-gradient(135deg, rgba(8, 68, 71, 0.94), rgba(5, 39, 43, 0.91)); color: #dbffff; }
.sticky.violet { border-color: rgba(194, 165, 255, 0.47); background: linear-gradient(135deg, rgba(55, 33, 84, 0.94), rgba(30, 18, 52, 0.91)); color: #f1e7ff; }

.widget {
  padding: 8px 10px;
  border-color: rgba(144, 235, 229, 0.25);
  border-radius: 7px;
  background: rgba(4, 17, 22, 0.88);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.26);
  transform: translate(-50%, -50%);
}

.clock { min-width: 119px; text-align: right; }
.clock small { justify-content: flex-end; color: #79aaa9; }
.clock strong { margin-top: 5px; color: #e6fffc; font-size: 20px; letter-spacing: -0.05em; }
.clock span { margin-top: 2px; color: #7ba2a2; font-size: 8px; }

.calendar-button {
  right: 22px;
  bottom: 19px;
  min-height: 36px;
  padding: 0 11px;
  border-color: rgba(145, 241, 234, 0.31);
  border-radius: 7px;
  background: rgba(4, 18, 22, 0.86);
  color: #c8f9f5;
  box-shadow: 0 10px 27px rgba(0, 0, 0, 0.24);
  font: 10px "Space Grotesk", sans-serif;
  letter-spacing: 0.05em;
}

@keyframes core-breathe {
  0%, 100% { transform: translate(-50%, -50%) scale(0.92); opacity: 0.65; }
  50% { transform: translate(-50%, -50%) scale(1.13); opacity: 1; }
}

@keyframes scan-through {
  from { background-position: 0 90%; }
  to { background-position: 0 -90%; }
}