.psychedelic-definitions { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.psychedelic-scene { position: relative; z-index: 1; }
.psychedelic-overlay {
  display: none;
  position: fixed;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(135deg, #ff8cc8, #ffbc78, #ffe783, #a0f793, #6eecd8, #8db9ff, #c99cff);
  background-size: 200% 200%;
  filter: blur(48px);
}
.psychedelic-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
html.psychedelic, html.psychedelic[data-theme] {
  overflow-x: clip;
  --paper: transparent;
  --bg: #fbf6ff;
  --fg: #23142d;
  --text: #23142d;
  --blue: #006500;
  --accent-ink: #fff;
  --field: rgba(255, 255, 255, .45);
  --notice: rgba(255, 255, 255, .35);
  --notice-ink: #4c3846;
  --success: #225b38;
  --danger: #8f2456;
  --ink: #23142d;
  --muted: #3d2849;
  --line: rgba(35, 20, 45, .3);
  --accent: #006500;
  --accent-soft: rgba(255, 255, 255, .22);
  --surface: rgba(255, 255, 255, .18);
  --raised: rgba(255, 255, 255, .3);
  --on-accent: #fff;
  --accent-hover: #004d00;
  --focus: #006500;
}
.psychedelic body { isolation: isolate; overflow-x: clip; background: transparent; }
.psychedelic .psychedelic-overlay { display: block; animation: rainbow-flow 24s linear infinite; }
.psychedelic .psychedelic-scene {
  filter: url(#psychedelic-warp);
  animation: gentle-warp 12s ease-in-out infinite;
  transform-origin: center;
  will-change: transform;
}
@keyframes rainbow-flow {
  0% { background-position: 0% 0%; filter: blur(48px) hue-rotate(0deg); }
  50% { background-position: 100% 100%; }
  100% { background-position: 0% 0%; filter: blur(48px) hue-rotate(360deg); }
}
@keyframes gentle-warp {
  0%, 100% { transform: scale(1.006) skew(.18deg, -.12deg); }
  50% { transform: scale(1.012) skew(-.18deg, .12deg); }
}
@media (prefers-reduced-motion: reduce) {
  .psychedelic .psychedelic-overlay, .psychedelic .psychedelic-scene { animation: none; will-change: auto; }
  .psychedelic .psychedelic-scene { filter: none; }
}
