* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'JetBrains Mono', monospace; background:
  radial-gradient(ellipse at top left, rgba(0,156,59,0.12), transparent 50%),
  radial-gradient(ellipse at bottom right, rgba(255,214,10,0.08), transparent 50%), #0a0a0f; }
.app-root { min-height: 100vh; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #12121a; }
::-webkit-scrollbar-thumb { background: #2a2a3e; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #00ff41; }

@keyframes glitch {
  0%,100% { text-shadow: 2px 0 #ff006e, -2px 0 #00b4d8; }
  25% { text-shadow: -3px 1px #ff006e, 3px -1px #00b4d8; }
  50% { text-shadow: 3px -2px #ffd60a, -3px 2px #00b4d8; }
  75% { text-shadow: -1px 2px #ff006e, 2px -2px #009c3b; }
}
.glitch-text { animation: glitch 0.35s infinite; }
@keyframes scan { 0% { transform: translateY(-100%); } 100% { transform: translateY(80px); } }
.scanline-overlay::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(0,255,65,0.15); animation: scan 3s linear infinite; pointer-events: none; }
@keyframes deepfry { 0% { filter: none; } 20% { filter: contrast(4) saturate(8) hue-rotate(60deg); } 60% { filter: contrast(3) saturate(6) hue-rotate(200deg); } 100% { filter: none; } }
.deepfry-active { animation: deepfry 1.5s ease-in-out infinite; }

.btn-neon { transition: transform .12s, box-shadow .12s, border-color .12s; border: 1px solid transparent; }
.btn-neon:hover { transform: scale(1.04); border-color: #00ff41; box-shadow: 0 0 12px rgba(0,255,65,.4); }
.btn-neon:active { transform: scale(.95); }
.btn-neon:disabled { opacity: .4; cursor: not-allowed; }

.bora-btn { background: linear-gradient(135deg, #ffd60a, #009c3b); box-shadow: 0 0 16px rgba(255,214,10,.5); animation: bora 0.46s ease-in-out infinite alternate; }
@keyframes bora { from { transform: rotate(-2deg); } to { transform: rotate(2deg) scale(1.04); } }
.render-btn { background: linear-gradient(135deg, #ff006e, #ff5500); box-shadow: 0 0 18px rgba(255,0,110,.45); }

.neon-glow-green { box-shadow: 0 0 5px rgba(0,255,65,.25); }
.drop { animation: pulse 3s ease-in-out infinite; }
@keyframes pulse { 0%,100% { border-color: #00ff41; } 50% { border-color: #ff006e; } }
.stage { background: repeating-linear-gradient(45deg, #050508 0 12px, #08080d 12px 24px); }

.timeline-clip { border: 1px solid #333; transition: box-shadow .1s; }
.timeline-clip:hover { box-shadow: 0 0 8px rgba(0,255,65,.5); }
.timeline-clip.selected { border-color: #00b4d8; box-shadow: 0 0 12px rgba(0,180,216,.8); }

input[type=range] { -webkit-appearance: none; appearance: none; height: 4px; background: #2a2a3e; border-radius: 2px; outline: none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 13px; height: 13px; border-radius: 50%; background: #ffd60a; box-shadow: 0 0 6px rgba(255,214,10,.6); cursor: pointer; }
select, input[type=text], input:not([type]) { color: #fff; outline: none; }

.buba-rain { position: absolute; top: -40px; font-size: 32px; animation: fall 1.6s linear infinite; }
@keyframes fall { to { transform: translateY(110vh) rotate(720deg); } }