/* ── 3D Fluid Simulation — Frontend CSS ── */

.dfs-widget {
  position: relative;
  display:  block;
  width:    100%;
  height:   100vh;
  overflow: hidden;
  background: #000;
  -webkit-user-select: none;
  user-select: none;
  touch-action: none;
}

.dfs-canvas {
  display: block;
  width:   100% !important;
  height:  100% !important;
  cursor:  crosshair;
}

/* Loading */
.dfs-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 5;
}

.dfs-spinner {
  width: 36px; height: 36px;
  border: 3px solid rgba(255,255,255,0.1);
  border-top-color: rgba(80,180,255,0.7);
  border-radius: 50%;
  animation: dfs-spin 0.8s linear infinite;
}
@keyframes dfs-spin { to { transform: rotate(360deg); } }

/* Hint */
.dfs-hint {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,0.3);
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  pointer-events: none;
  z-index: 10;
  transition: opacity 0.6s;
}

/* Fallback */
.dfs-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  color: rgba(255,255,255,0.4);
  font-size: 0.9rem;
}

@media (max-width: 767px) {
  .dfs-widget { height: 60vh; touch-action: none; }
}
