/* Stable hit targets; only the folder artwork moves. Shared by both archives. */
.edu-scene .edu-node {
  --folder-rest: 0deg;
  --folder-tilt: -.6deg;
  transform: rotate(var(--folder-rest)) !important;
  filter: none !important;
  transition: opacity 260ms ease;
  will-change: auto;
}
.edu-scene #upenn { --folder-rest: -2.8deg; --folder-tilt: .6deg; }
.edu-scene #davis { --folder-rest: 6.42deg; --folder-tilt: -.7deg; }
.edu-scene #material { --folder-tilt: -.7deg; }
.edu-scene #visual { --folder-tilt: 0deg; }
.folder-art {
  transform-box: fill-box;
  transform-origin: 50% 85%;
  transform: translateY(0) rotate(0deg) scale(1);
  filter: drop-shadow(0 0 0 transparent);
  transition: transform 680ms cubic-bezier(.25, .1, .25, 1), filter 520ms ease;
  pointer-events: none;
}
.folder-art > svg { overflow: visible; }
.edu-node.is-folder-hover .folder-art,
.edu-node:focus-visible .folder-art {
  transform: translateY(-18px) rotate(var(--folder-tilt)) scale(1.006);
  filter: drop-shadow(0 9px 14px rgb(0 0 0 / .11));
}
.edu-node.is-folder-open .folder-art {
  transform: translateY(-24px) rotate(var(--folder-tilt)) scale(1.01);
  filter: drop-shadow(0 12px 18px rgb(0 0 0 / .14));
}
.edu-scene .edu-node:focus-visible {
  outline: 2px solid #176de8;
  outline-offset: 6px;
}
.folder-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 150ms;
}
.folder-cursor.is-visible { visibility: visible; transition-delay: 0s; }
.folder-cursor-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  border: 1px solid rgb(255 255 255 / .2);
  border-radius: 999px;
  background: #202521;
  color: #fff;
  box-shadow: 0 4px 16px rgb(0 0 0 / .14);
  font: 500 12px/1.2 'Inter Tight', sans-serif;
  white-space: nowrap;
  opacity: 0;
  transform: scale(.96);
  transition: opacity 150ms ease, transform 200ms ease-out;
}
.folder-cursor.is-visible .folder-cursor-label { opacity: 1; transform: translateY(0) scale(1); }
.folder-cursor-arrow { display: inline-block; }
.folder-cursor.is-visible .folder-cursor-arrow { animation: folder-arrow-in 420ms cubic-bezier(.22, 1, .36, 1); }
@keyframes folder-arrow-in {
  from { opacity: 0; transform: translate(-4px, 4px); }
  to { opacity: 1; transform: translate(0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .edu-scene .edu-node, .folder-art, .folder-cursor-label { transition: none; }
  .edu-node.is-folder-hover .folder-art,
  .edu-node:focus-visible .folder-art,
  .edu-node.is-folder-open .folder-art { transform: none; }
  .folder-cursor.is-visible .folder-cursor-arrow { animation: none; }
}
@media (hover: hover) and (pointer: fine) {
  .edu-svg.folder-cursor-active .edu-node,
  .edu-svg.folder-cursor-active .edu-hit-area { cursor: none !important; }
}
@media (hover: none), (pointer: coarse) { .folder-cursor { display: none; } }

/* Counter the baked-in tilt so all three archive folders sit inside the tray. */
#designArchiveSvg #material { --folder-rest: -6deg; }
