/*!
 * AriseAlert v1.1.0 - Enhanced Solo Leveling Edition
 * (c) 2025 Anique Ali
 * MIT License
 */

 @charset "UTF-8";
 @import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;700&display=swap);
 @import url(https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap);
 
 /* Theme Variables */
 :root {
   --arise-primary: #00d4ff;
   --arise-primary-light: #33ddff;
   --arise-primary-dark: #0099cc;
   --arise-bg: rgba(5,20,40,.98);
   --arise-text: #ffffff;
   --arise-text-light: #a0d4ff;
   --arise-border: #00d4ff;
   --arise-shadow: rgba(0,212,255,.8);
   --arise-success: #0f8;
   --arise-error: #e74c3c;
   --arise-warning: #ff9800;
   --arise-overlay: rgba(0,0,0,.3);
 }
 
 .arise-theme-light {
  --arise-primary: #d4af37;
  --arise-primary-light: #ffd700;
  --arise-primary-dark: #b8860b;
  --arise-bg: linear-gradient(135deg, rgba(250, 248, 240, 0.95) 0%, rgba(255, 253, 245, 0.98) 100%);
  --arise-text: #5d4037;
  --arise-text-light: #8d6e63;
  --arise-border: #d4af37;
  --arise-shadow: rgba(212, 175, 55, 0.8);
  --arise-success: #4caf50;
  --arise-error: #d32f2f;
  --arise-warning: #ff9800;
  --arise-overlay: rgba(139, 69, 19, 0.1);
  --arise-shadow-monarch: rgba(212, 175, 55, 0.8);
  --arise-glow-purple: rgba(212, 175, 55, 0.7);
  --arise-dark-purple: #8b4513;
}
 /* Alert Overlay */
 .arisealert-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     /* background: var(--arise-overlay); */
     /* backdrop-filter: blur(15px); */
     z-index: 999999;
     display: flex;
     justify-content: center;
     align-items: center;
     opacity: 0;
     visibility: hidden;
     transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
 }
 .arisealert-overlay.show {
   opacity: 1;
   visibility: visible;
 }

 .arise-theme-light .arisealert-overlay::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: radial-gradient(circle at 50% 50%, rgba(106, 0, 255, 0.1) 0%, transparent 70%);
   animation: monarch-aura 4s ease-in-out infinite alternate;
 }
 
 /* Alert Container */
 .arisealert-container {
   transform: scale(.7) translateY(80px) rotateX(15deg);
   opacity: 0;
   transition: all 0.8s cubic-bezier(.175, .885, .32, 1.275);
 }
 .arisealert-container.show {
   transform: scale(1) translateY(0) rotateX(0deg);
   opacity: 1;
 }
 
 /* Alert Panel */
 .arisealert-panel {
   background: var(--arise-bg);
   border: 3px solid var(--arise-border);
   border-radius: 0;
   padding: 40px 60px;
   min-width: 400px;
   max-width: 600px;
   position: relative;
   overflow: visible;
   box-shadow: 0 0 60px var(--arise-shadow);
   font-family: Orbitron,monospace;
   color: var(--arise-text);
 }
 .arisealert-panel::before {
   content: '';
   position: absolute;
   top: -5px;
   left: -5px;
   right: -5px;
   bottom: -5px;
   background: linear-gradient(45deg,var(--arise-primary),var(--arise-primary-dark),var(--arise-primary),var(--arise-primary-dark));
   background-size: 400% 400%;
   z-index: -1;
   animation: 3s ease-in-out infinite border-flow;
 }

 /* Enhanced Light Theme Panel */
 .arise-theme-light .arisealert-panel {
  background: linear-gradient(135deg, rgba(250, 248, 240, 0.95) 0%, rgba(255, 253, 245, 0.98) 100%);
  box-shadow: 
    0 0 40px rgba(212, 175, 55, 0.6),
    0 0 80px rgba(212, 175, 55, 0.3),
    inset 0 0 20px rgba(255, 255, 255, 0.2);
}
 .arise-theme-light .arisealert-panel::before {
  background: linear-gradient(45deg, #d4af37, #ffd700, #b8860b, #d4af37, #daa520);
  background-size: 600% 600%;
  border-radius: 12px;
  /* animation: dungeon-border-flow 4s ease-in-out infinite; */
}

.arise-theme-light .arisealert-panel::after {
  background: linear-gradient(45deg, transparent, rgba(212, 175, 55, 0.15), transparent);
  /* animation: dungeon-aura 3s ease-in-out infinite alternate; */
}

 /* Solo Leveling Shadow Particles for Light Theme */
 .arise-theme-light .arisealert-panel .shadow-particles {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   pointer-events: none;
   overflow: hidden;
 }
 .arise-theme-light .arisealert-panel .shadow-particles::before,
 .arise-theme-light .arisealert-panel .shadow-particles::after {
   color: #d4af37;
 }
 .arise-theme-light .arisealert-panel .shadow-particles::before {
   top: 10%;
   left: 20%;
   animation-delay: -2s;
 }
 .arise-theme-light .arisealert-panel .shadow-particles::after {
   top: 70%;
   right: 15%;
   animation-delay: -4s;
 }
 
 /* Alert Types */
 .arisealert-error {
   background: rgba(40,5,5,.98);
   border-color: var(--arise-error);
   /* animation: .5s ease-in-out infinite alternate danger-shake; */
 }
 .arisealert-error::before {
   background: linear-gradient(45deg,var(--arise-error),#c22,var(--arise-error),#c22);
 }
 .arisealert-warning {
   background: rgba(40,25,5,.98);
   border-color: var(--arise-warning);
   /* animation: 2s ease-in-out infinite warning-pulse; */
 }
 .arisealert-warning::before {
   background: linear-gradient(45deg,var(--arise-warning),#c80,var(--arise-warning),#c80);
 }
 .arisealert-success {
   background: rgba(0,30,10,.98);
   border-color: var(--arise-success);
 }
 .arisealert-success::before {
   background: linear-gradient(45deg,var(--arise-success),#0c6,var(--arise-success),#0c6);
 }
 
 /* Enhanced Light Theme Alert Types */
 .arise-theme-light .arisealert-error {
   background: linear-gradient(135deg, rgba(255, 235, 238, 0.95) 0%, rgba(255, 245, 245, 0.98) 100%);
   border-color: var(--arise-error);
   box-shadow: 
     0 0 30px rgba(211, 47, 47, 0.4),
     inset 0 0 20px rgba(255, 255, 255, 0.1);
 }
 .arise-theme-light .arisealert-error::before {
  background: linear-gradient(45deg, #d32f2f, #f44336, #ef5350, #d32f2f);
}
 
 .arise-theme-light .arisealert-warning {
   background: linear-gradient(135deg, rgba(255, 248, 225, 0.95) 0%, rgba(255, 253, 245, 0.98) 100%);
   border-color: var(--arise-warning);
   box-shadow: 
     0 0 30px rgba(255, 111, 0, 0.4),
     inset 0 0 20px rgba(255, 255, 255, 0.1);
   /* animation: monarch-warning-pulse 2s ease-in-out infinite; */
 }
 .arise-theme-light .arisealert-warning::before {
  background: linear-gradient(45deg, #ff9800, #ffa726, #ffb74d, #ff9800);
}
 
 .arise-theme-light .arisealert-success {
   background: linear-gradient(135deg, rgba(232, 245, 233, 0.95) 0%, rgba(240, 248, 240, 0.98) 100%);
   border-color: var(--arise-success);
   box-shadow: 
     0 0 30px rgba(0, 200, 83, 0.4),
     inset 0 0 20px rgba(255, 255, 255, 0.1);
 }
 .arise-theme-light .arisealert-success::before {
  background: linear-gradient(45deg, #4caf50, #66bb6a, #81c784, #4caf50);
}
 
 /* Alert Elements */
 .arisealert-corners {
   position: absolute;
   width: 100%;
   height: 100%;
   pointer-events: none;
   top: 0;
   left: 0;
 }
 .arisealert-corner {
   position: absolute;
   width: 40px;
   height: 40px;
   border: 3px solid var(--arise-border);
   box-shadow: 0 0 15px var(--arise-primary);
 }
 .arisealert-corner.top-left {
   top: -15px;
   left: -15px;
   border-right: none;
   border-bottom: none;
 }
 .arisealert-corner.top-right {
   top: -15px;
   right: -15px;
   border-left: none;
   border-bottom: none;
 }
 .arisealert-corner.bottom-left {
   bottom: -15px;
   left: -15px;
   border-right: none;
   border-top: none;
 }
 .arisealert-corner.bottom-right {
   bottom: -15px;
   right: -15px;
   border-left: none;
   border-top: none;
 }
 
 /* Enhanced Light Theme Corners */
 .arise-theme-light .arisealert-corner {
  border: 4px solid #d4af37;
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    0 0 40px rgba(212, 175, 55, 0.3);
}
 .arise-theme-light .arisealert-corner::before {
   content: '';
   position: absolute;
   top: -2px;
   left: -2px;
   right: -2px;
   bottom: -2px;
   background: linear-gradient(45deg, var(--arise-primary), transparent, var(--arise-primary));
   z-index: -1;
   animation: corner-energy 2s linear infinite;
 }

 .arisealert-line {
   position: absolute;
   left: 60px;
   right: 60px;
   height: 3px;
   background: linear-gradient(90deg,transparent 0,rgba(0,212,255,.3) 10%,var(--arise-primary) 50%,rgba(0,212,255,.3) 90%,transparent 100%);
   box-shadow: 0 0 15px var(--arise-primary);
   animation: 2s ease-in-out infinite alternate line-pulse;
 }
 .arisealert-line.top {
   top: -18px;
 }
 .arisealert-line.bottom {
   bottom: -18px;
 }
 
 /* Enhanced Light Theme Lines */
 .arise-theme-light .arisealert-line {
  background: linear-gradient(90deg,
    transparent 0%, 
    rgba(212, 175, 55, 0.3) 10%, 
    #d4af37 30%,
    #ffd700 50%,
    #d4af37 70%,
    rgba(212, 175, 55, 0.3) 90%,
    transparent 100%);
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    0 0 40px rgba(212, 175, 55, 0.2);
}
 .arise-theme-light .arisealert-line::after {
   content: '';
   position: absolute;
   top: -2px;
   left: 0;
   right: 0;
   height: 8px;
   background: linear-gradient(90deg,
     transparent 0%, 
     rgba(106, 0, 255, 0.1) 50%,
     transparent 100%);
   animation: line-shadow-flow 3s ease-in-out infinite;
 }

 .arisealert-icon {
   text-align: center;
   margin-bottom: 20px;
   position: relative;
 }
 .arisealert-icon .icon {
   font-size: 40px;
   color: var(--arise-primary);
   text-shadow: 0 0 20px var(--arise-primary);
   animation: 2s ease-in-out infinite alternate icon-glow;
 }
 
 /* Enhanced Light Theme Icons */
 .arise-theme-light .arisealert-icon .icon {
  color: #d4af37;
  text-shadow: 
    0 0 20px rgba(212, 175, 55, 0.8),
    0 0 40px rgba(212, 175, 55, 0.3);
}

.arise-theme-light .arisealert-icon::before {
  background: radial-gradient(circle, rgba(212, 175, 55, 0.15) 0%, transparent 70%);
}


 .arisealert-title {
   text-align: center;
   font-size: 24px;
   font-weight: 700;
   color: var(--arise-text);
   text-shadow: 0 0 15px var(--arise-primary);
   margin-bottom: 15px;
   letter-spacing: 2px;
   text-transform: uppercase;
 }
 
 /* Enhanced Light Theme Title */
 .arise-theme-light .arisealert-title {
  background: linear-gradient(135deg, #8b4513 0%, #d4af37 50%, #8b4513 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.arise-theme-light .arisealert-title::after {
  background: linear-gradient(135deg, #d4af37 0%, transparent 50%, #d4af37 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

 .arisealert-message {
   text-align: center;
   font-size: 16px;
   color: var(--arise-text-light);
   margin-bottom: 30px;
   line-height: 1.6;
 }

 /* Enhanced Light Theme Message */
 .arise-theme-light .arisealert-message {
   font-family: 'Rajdhani', sans-serif;
   font-weight: 500;
   color: var(--arise-text-light);
   text-shadow: 0 1px 2px rgba(106, 0, 255, 0.1);
 }

 .arisealert-actions {
   display: flex;
   justify-content: center;
   gap: 20px;
 }
 .arisealert-btn {
   padding: 12px 30px;
   background: linear-gradient(135deg,var(--arise-primary) 0,var(--arise-primary-dark) 100%);
   border: 2px solid var(--arise-primary);
   border-radius: 0;
   color: #000;
   font-family: Orbitron,monospace;
   font-weight: 700;
   font-size: 14px;
   cursor: pointer;
   transition: .3s;
   text-transform: uppercase;
   letter-spacing: 1px;
   box-shadow: 0 0 15px rgba(0,212,255,.5);
 }
 .arisealert-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 0 25px var(--arise-shadow);
 }
 .arisealert-btn.cancel {
   background: linear-gradient(135deg,#333 0,#555 100%);
   border-color: #666;
   color: #fff;
   box-shadow: 0 0 15px rgba(102,102,102,.5);
 }
 
 /* Enhanced Light Theme Buttons */
 .arise-theme-light .arisealert-btn {
  background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%);
  color: #ffffff;
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    0 4px 15px rgba(212, 175, 55, 0.3);
}

.arise-theme-light .arisealert-btn:hover {
  box-shadow: 
    0 0 30px rgba(212, 175, 55, 0.8),
    0 8px 25px rgba(212, 175, 55, 0.4);
}
 .arise-theme-light .arisealert-btn.cancel {
   background: linear-gradient(135deg, #424242 0%, #616161 100%);
   border-color: transparent;
   color: #fff;
   box-shadow: 
     0 0 15px rgba(66, 66, 66, 0.5),
     0 4px 15px rgba(97, 97, 97, 0.3);
 }

 .arisealert-input {
   width: 100%;
   padding: 12px;
   margin: 10px 0;
   background: rgba(0,0,0,.5);
   border: 2px solid rgba(0,212,255,.3);
   border-radius: 8px;
   color: var(--arise-text);
   font-family: Orbitron,monospace;
   font-size: 14px;
 }
 .arisealert-input:focus {
   outline: 0;
   border-color: var(--arise-primary);
   box-shadow: 0 0 15px var(--arise-shadow);
 }
 
 /* Enhanced Light Theme Input */
 .arise-theme-light .arisealert-input {
  border: 3px solid rgba(212, 175, 55, 0.3);
  box-shadow: inset 0 2px 5px rgba(212, 175, 55, 0.1);
}

.arise-theme-light .arisealert-input:focus {
  border-color: #d4af37;
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    inset 0 2px 8px rgba(212, 175, 55, 0.2);
}
 .arisealert-select {
   width: 100%;
   padding: 12px;
   margin: 10px 0;
   background: rgba(0,0,0,.7);
   border: 2px solid rgba(0,212,255,.3);
   border-radius: 8px;
   color: var(--arise-text);
   font-family: Orbitron,monospace;
 }
 
 /* Enhanced Light Theme Select */
 .arise-theme-light .arisealert-select {
  border: 3px solid rgba(212, 175, 55, 0.3);
  box-shadow: inset 0 2px 5px rgba(212, 175, 55, 0.1);
}


 .arisealert-progress {
   width: 100%;
   height: 20px;
   background: rgba(0,0,0,.5);
   border-radius: 10px;
   overflow: hidden;
   margin: 15px 0;
 }
 .arisealert-progress-bar {
   height: 100%;
   background: linear-gradient(90deg,var(--arise-primary),var(--arise-primary-dark));
   width: 0%;
   transition: width .3s;
   box-shadow: 0 0 15px var(--arise-shadow);
 }
 
 /* Enhanced Light Theme Progress */
 .arise-theme-light .arisealert-progress {
  border: 2px solid rgba(212, 175, 55, 0.3);
}

.arise-theme-light .arisealert-progress-bar {
  background: linear-gradient(90deg, #d4af37, #b8860b, #d4af37);
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    inset 0 2px 8px rgba(255, 255, 255, 0.3);
}
 .arisealert-timer {
   font-size: 24px;
   color: var(--arise-primary);
   text-align: center;
   margin: 15px 0;
   text-shadow: 0 0 15px var(--arise-primary);
 }
 
 /* Enhanced Light Theme Timer */
 .arise-theme-light .arisealert-timer {
  color: #d4af37;
  text-shadow: 
    0 0 20px rgba(212, 175, 55, 0.8),
    0 0 40px rgba(212, 175, 55, 0.3);
}

 .arisealert-toast {
   position: fixed;
   top: 20px;
   right: 20px;
   max-width: 400px;
   z-index: 999999;
   transform: translateX(100%);
   transition: transform .3s;
 }
 .arisealert-toast.show {
   transform: translateX(0);
 }
 .arisealert-spinner {
   width: 40px;
   height: 40px;
   border: 3px solid rgba(0,212,255,.3);
   border-top: 3px solid var(--arise-primary);
   border-radius: 50%;
   animation: 1s linear infinite spin;
   margin: 20px auto;
 }
 
 /* Enhanced Light Theme Spinner */
 .arise-theme-light .arisealert-spinner {
  border: 4px solid rgba(212, 175, 55, 0.3);
  border-top: 4px solid #d4af37;
  border-right: 4px solid #ffd700;
  box-shadow: 0 0 20px rgba(212, 175, 55, 0.6);
}

 .arisealert-image {
   max-width: 100%;
   height: auto;
   border-radius: 8px;
   margin: 15px 0;
   border: 2px solid var(--arise-primary);
 }
 
 /* Enhanced Light Theme Image */
 .arise-theme-light .arisealert-image {
  border: 3px solid #d4af37;
  box-shadow: 
    0 0 20px rgba(212, 175, 55, 0.6),
    0 4px 15px rgba(212, 175, 55, 0.2);
}
 .arise-theme-light .arisealert-image:hover {
   transform: scale(1.02);
 }

 .arisealert-premium-icon {
   display: inline-block;
   width: 40px;
   height: 40px;
   position: relative;
   margin: 0 auto;
 }
 .arisealert-premium-icon svg {
   width: 100%;
   height: 100%;
   fill: currentColor;
 }
 .arisealert-icon-spin {
   animation: 2s linear infinite spin;
 }
 .arisealert-icon-pulse {
   animation: 1.5s ease-in-out infinite pulse;
 }
 .arisealert-icon-bounce {
   animation: 1s ease-in-out infinite bounce;
 }
 
 /* Responsive */
 @media (max-width:768px) {
   .arisealert-panel {
     margin: 20px;
     padding: 30px 25px;
     min-width: auto;
     max-width: calc(100vw - 40px);
   }
   .arisealert-actions {
     flex-direction: column;
   }
 }
 
 /* Enhanced Animations */
 @keyframes border-flow {
   0%,100% { background-position: 0 50% }
   50% { background-position: 100% 50% }
 }

 @keyframes monarch-border-flow {
   0% { background-position: 0% 50% }
   25% { background-position: 100% 50% }
   50% { background-position: 200% 50% }
   75% { background-position: 100% 50% }
   100% { background-position: 0% 50% }
 }

 @keyframes monarch-aura {
   0% { 
     opacity: 0.3;
     transform: scale(1);
   }
   50% { 
     opacity: 0.6;
     transform: scale(1.2);
   }
   100% { 
     opacity: 0.3;
     transform: scale(1);
   }
 }

 @keyframes shadow-monarch-aura {
   0% { 
     opacity: 0.2;
     transform: scale(0.95) rotate(0deg);
   }
   50% { 
     opacity: 0.4;
     transform: scale(1.05) rotate(2deg);
   }
   100% { 
     opacity: 0.2;
     transform: scale(0.95) rotate(0deg);
   }
 }

 @keyframes float-particles {
   0% { 
     transform: translateY(0px) rotate(0deg);
     opacity: 0;
   }
   10% { 
     opacity: 0.6;
   }
   50% { 
     transform: translateY(-20px) rotate(180deg);
     opacity: 1;
   }
   90% { 
     opacity: 0.6;
   }
   100% { 
     transform: translateY(-40px) rotate(360deg);
     opacity: 0;
   }
 }

 @keyframes monarch-warning-pulse {
   0%, 100% { 
     transform: scale(1);
     box-shadow: 0 0 30px rgba(255, 111, 0, 0.4);
   }
   50% { 
     transform: scale(1.02);
     box-shadow: 0 0 50px rgba(255, 111, 0, 0.6);
   }
 }

 @keyframes monarch-corner-glow {
   0% { 
     box-shadow: 0 0 20px var(--arise-shadow-monarch);
   }
   100% { 
     box-shadow: 0 0 40px var(--arise-shadow-monarch), 0 0 60px rgba(106, 0, 255, 0.4);
   }
 }

 @keyframes corner-energy {
   0% { 
     opacity: 0.3;
     transform: scale(0.8);
   }
   50% { 
     opacity: 0.8;
     transform: scale(1.1);
   }
   100% { 
     opacity: 0.3;
     transform: scale(0.8);
   }
 }

 @keyframes monarch-line-pulse {
   0% { 
     opacity: 0.6;
     transform: scaleY(1);
   }
   100% { 
     opacity: 1;
     transform: scaleY(1.2);
   }
 }

 @keyframes line-shadow-flow {
   0% { 
     transform: translateX(-100%);
     opacity: 0;
   }
   50% { 
     opacity: 0.6;
   }
   100% { 
     transform: translateX(100%);
     opacity: 0;
   }
 }

 @keyframes monarch-icon-glow {
   0% { 
     transform: scale(1);
     text-shadow: 0 0 20px var(--arise-shadow-monarch);
   }
   100% { 
     transform: scale(1.15);
     text-shadow: 0 0 40px var(--arise-shadow-monarch), 0 0 60px rgba(106, 0, 255, 0.4);
   }
 }

 @keyframes icon-aura-pulse {
   0%, 100% { 
     transform: translate(-50%, -50%) scale(1);
     opacity: 0.3;
   }
   50% { 
     transform: translate(-50%, -50%) scale(1.3);
     opacity: 0.6;
   }
 }

 @keyframes title-glow {
   0% { 
     filter: brightness(1) contrast(1);
   }
   100% { 
     filter: brightness(1.2) contrast(1.1);
   }
 }

 @keyframes title-shine {
   0% { 
     transform: translateX(-100%);
   }
   50% { 
     transform: translateX(0%);
   }
   100% { 
     transform: translateX(100%);
   }
 }

 @keyframes progress-energy {
   0% { 
     box-shadow: 0 0 20px var(--arise-shadow-monarch);
   }
   100% { 
     box-shadow: 0 0 30px var(--arise-shadow-monarch), inset 0 0 10px rgba(255, 255, 255, 0.4);
   }
 }

 @keyframes timer-pulse {
   0% { 
     transform: scale(1);
     opacity: 0.8;
   }
   100% { 
     transform: scale(1.05);
     opacity: 1;
   }
 }

 @keyframes monarch-spin {
   0% { 
     transform: rotate(0deg);
     border-top-color: var(--arise-primary);
   }
   25% { 
     border-right-color: var(--arise-primary);
   }
   50% { 
     transform: rotate(180deg);
     border-bottom-color: var(--arise-primary);
   }
   75% { 
     border-left-color: var(--arise-primary);
   }
   100% { 
     transform: rotate(360deg);
     border-top-color: var(--arise-primary);
   }
 }

 /* Original Animations */
 @keyframes danger-shake {
   0% { transform: translateX(0) }
   25% { transform: translateX(-2px) }
   50% { transform: translateX(2px) }
   75% { transform: translateX(-1px) }
   100% { transform: translateX(1px) }
 }

 @keyframes warning-pulse {
   0%,100% { transform: scale(1) }
   50% { transform: scale(1.02) }
 }

 @keyframes line-pulse {
   0% { opacity: .6 }
   100% { opacity: 1 }
 }

 @keyframes icon-glow {
   0% { transform: scale(1) }
   100% { transform: scale(1.1) }
 }

 @keyframes spin {
   0%,from { transform: rotate(0) }
   100%,to { transform: rotate(360deg) }
 }

 @keyframes pulse {
   0%,100% { transform: scale(1); opacity: 1 }
   50% { transform: scale(1.1); opacity: .7 }
 }

 @keyframes bounce {
   0%,100%,20%,50%,80% { transform: translateY(0) }
   40% { transform: translateY(-10px) }
   60% { transform: translateY(-5px) }
 }

 /* Solo Leveling Special Effects for Light Theme */
 .arise-theme-light .monarch-shadow-effects {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   pointer-events: none;
   overflow: hidden;
 }

 .arise-theme-light .monarch-shadow-effects::before {
   content: '▲';
   position: absolute;
   top: 20%;
   left: 10%;
   color: rgba(106, 0, 255, 0.4);
   font-size: 8px;
   animation: shadow-rune-float 8s linear infinite;
 }

 .arise-theme-light .monarch-shadow-effects::after {
   content: '◆';
   position: absolute;
   bottom: 30%;
   right: 20%;
   color: rgba(106, 0, 255, 0.4);
   font-size: 10px;
   animation: shadow-rune-float 6s linear infinite reverse;
 }

 @keyframes shadow-rune-float {
   0% { 
     transform: translateY(0px) rotate(0deg);
     opacity: 0;
   }
   10% { 
     opacity: 0.6;
   }
   50% { 
     transform: translateY(-30px) rotate(180deg);
     opacity: 1;
   }
   90% { 
     opacity: 0.6;
   }
   100% { 
     transform: translateY(-60px) rotate(360deg);
     opacity: 0;
   }
 }

 /* Monarch Power Surge Effect */
 .arise-theme-light .arisealert-panel.power-surge {
   animation: monarch-power-surge 3s ease-in-out infinite;
 }

 @keyframes monarch-power-surge {
   0%, 100% { 
     transform: scale(1);
     filter: brightness(1);
   }
   50% { 
     transform: scale(1.01);
     filter: brightness(1.1);
   }
 }

 /* Shadow Soldier Rank Effects */
 .arise-theme-light .rank-s {
   --arise-primary: #8b00ff;
   --arise-shadow-monarch: rgba(139, 0, 255, 0.8);
 }

 .arise-theme-light .rank-a {
   --arise-primary: #6a00ff;
   --arise-shadow-monarch: rgba(106, 0, 255, 0.7);
 }

 .arise-theme-light .rank-b {
   --arise-primary: #5500cc;
   --arise-shadow-monarch: rgba(85, 0, 204, 0.6);
 }

 /* Necromancer Glow Effect */
 .arise-theme-light .necromancer-glow {
   position: relative;
 }

 .arise-theme-light .necromancer-glow::before {
   content: '';
   position: absolute;
   top: -10px;
   left: -10px;
   right: -10px;
   bottom: -10px;
   background: radial-gradient(circle, rgba(106, 0, 255, 0.2) 0%, transparent 50%);
   border-radius: 50%;
   animation: necromancer-pulse 4s ease-in-out infinite;
 }

 @keyframes necromancer-pulse {
   0%, 100% { 
     transform: scale(0.8);
     opacity: 0.3;
   }
   50% { 
     transform: scale(1.2);
     opacity: 0.7;
   }
 }

 /* Mana Crystal Effect */
 .arise-theme-light .mana-crystal {
   position: relative;
   overflow: visible;
 }

 .arise-theme-light .mana-crystal::after {
  background: linear-gradient(45deg, #d4af37, #ffd700);
}


 @keyframes mana-crystal-glow {
   0% { 
     opacity: 0.6;
     transform: scale(1) rotate(0deg);
   }
   100% { 
     opacity: 1;
     transform: scale(1.2) rotate(45deg);
   }
 }

 /* System Window Effect */
 .arise-theme-light .system-window {
   border: 3px solid transparent;
   background: 
     linear-gradient(var(--arise-bg)) padding-box,
     linear-gradient(45deg, #6a00ff, #8b00ff, #6a00ff) border-box;
   position: relative;
 }

 .arise-theme-light .system-window::before {
  background: linear-gradient(135deg, #d4af37, #ffd700);
}
 @keyframes system-blink {
   0%, 90% { opacity: 1; }
   95% { opacity: 0.3; }
   100% { opacity: 1; }
 }


 
/* New Dungeon-Specific Animations */
@keyframes dungeon-border-flow {
  0% { background-position: 0% 50% }
  25% { background-position: 100% 50% }
  50% { background-position: 200% 50% }
  75% { background-position: 100% 50% }
  100% { background-position: 0% 50% }
}

@keyframes dungeon-aura {
  0% { 
    opacity: 0.2;
    transform: scale(0.95) rotate(0deg);
  }
  50% { 
    opacity: 0.4;
    transform: scale(1.05) rotate(1deg);
  }
  100% { 
    opacity: 0.2;
    transform: scale(0.95) rotate(0deg);
  }
}

/* Add Dungeon Rank Classes */
.arise-theme-light.rank-s {
  --arise-primary: #ffd700;
  --arise-shadow-monarch: rgba(255, 215, 0, 0.8);
}

.arise-theme-light.rank-a {
  --arise-primary: #d4af37;
  --arise-shadow-monarch: rgba(212, 175, 55, 0.7);
}

.arise-theme-light.rank-b {
  --arise-primary: #b8860b;
  --arise-shadow-monarch: rgba(184, 134, 11, 0.6);
}