/* =========================================================
   HOME-CAROUSEL – das 3D-Carousel als schmale Leiste unten
   Liegt über #stage (z 5), damit es bedienbar ist; nur die Leiste
   selbst nimmt Eingaben an. Maße in em: skaliert mit der Bildschirmbreite
   (gleiche Regel wie das Widget-Layout in home-tiles.css).
   ========================================================= */

.home-carousel {
  position: fixed;
  left: 50%;
  bottom: 2.5vh;
  translate: -50% 0;
  z-index: 20;
  width: min(78vw, 110em);
  height: 5.6em;
  font-size: clamp(14px, 0.65vw + 6px, 30px);
  perspective: 900px;
  perspective-origin: 50% 40%;
  pointer-events: auto;
  touch-action: pan-y;
  opacity: 0.4;
  transition: opacity 0.6s ease, filter 0.8s ease, visibility 0s;
  animation: carouselEnter 1.6s ease 0.8s backwards;
}

@keyframes carouselEnter {
  from { opacity: 0; filter: blur(8px); }
  to   { opacity: 0.4; filter: none; }
}

.home-carousel-track {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

.home-carousel-tile {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7.5em;
  height: 3.6em;
  margin-left: -3.75em;
  margin-top: -1.8em;
  transition:
    transform .68s cubic-bezier(0.22, 1, 0.32, 1),
    opacity .48s ease;
  cursor: pointer;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

.home-carousel-tile .tile-inner {
  width: 100%;
  height: 100%;
  border-radius: 1em;
  background: linear-gradient(150deg, rgba(0,73,83,0.28) 0%, rgba(0,4,6,0.85) 45%, rgba(0,0,0,0.92) 100%);
  border: 1px solid rgba(165,172,175,0.22);
  box-shadow:
    0 0 0 1px rgba(42,111,122,0.12),
    0 10px 36px rgba(0,0,0,0.6),
    inset 0 1px 0 rgba(226,232,240,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  color: rgba(165,172,175,0.6);
  transition: box-shadow .4s ease, border-color .4s ease, color .4s ease;
}

.home-carousel-tile.active .tile-inner {
  border-color: rgba(42,111,122,0.7);
  box-shadow: 0 0 0 1px rgba(42,111,122,0.45),
    0 14px 50px rgba(0,0,0,0.6),
    inset 0 1px 0 rgba(226,232,240,0.2);
}

.home-carousel-tile .tile-name {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 0.8em;
  letter-spacing: 0.03em;
}

.home-carousel-tile .tile-inner i { font-size: 0.8em; }

.home-carousel-tile.active .tile-inner { color: rgba(63,138,150,0.9); }

/* Dezent im Ruhezustand, beim Darüberfahren deutlicher */
.home-carousel:hover { opacity: 0.95; }

/* Geöffneter Orbit: zurücktreten */
body:has(.orbit.is-expanded) .home-carousel { opacity: 0.15; }

/* Nur auf HOME sichtbar */
body:not(.state-home) .home-carousel {
  opacity: 0;
  filter: blur(8px);
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.4s ease,
    filter 0.4s ease,
    visibility 0s linear 0.4s;
}

@media (prefers-reduced-motion: reduce) {
  .home-carousel { animation: none; }
}
