/* FikoYT HUD Design System - Advanced Notification Theme */
/* Based on modelhane-sistem starfield-style HUD */

:root {
  /* Background Colors - Matching HUD */
  --bg-dark: #0d1117;
  --bg-darker: #090c10;
  --bg-panel: rgba(13, 17, 23, 0.85);
  --bg-card: rgba(22, 27, 34, 0.92);
  --bg-overlay: rgba(0, 0, 0, 0.6);
  --bg-surface: rgba(30, 35, 42, 0.9);

  /* Glassmorphism - Enhanced */
  --glass-bg: rgba(13, 17, 23, 0.88);
  --glass-bg-light: rgba(22, 27, 34, 0.75);
  --glass-border: rgba(78, 205, 196, 0.15);
  --glass-border-hover: rgba(78, 205, 196, 0.35);
  --glass-blur: 12px;
  --glass-blur-heavy: 20px;

  /* Accent Colors - HUD Palette */
  --accent-cyan: #4ecdc4;
  --accent-cyan-bright: #6fe4dc;
  --accent-cyan-dark: #3ba99f;
  --accent-cyan-glow: rgba(78, 205, 196, 0.5);
  --accent-cyan-glow-strong: rgba(78, 205, 196, 0.8);

  --accent-green: #00e676;
  --accent-green-bright: #69f0ae;
  --accent-green-glow: rgba(0, 230, 118, 0.5);

  --accent-yellow: #ffab00;
  --accent-yellow-bright: #ffd740;
  --accent-yellow-glow: rgba(255, 171, 0, 0.5);

  --accent-red: #ff5252;
  --accent-red-bright: #ff8a80;
  --accent-red-glow: rgba(255, 82, 82, 0.5);

  --accent-purple: #7c4dff;
  --accent-purple-bright: #b388ff;
  --accent-purple-glow: rgba(124, 77, 255, 0.5);

  --accent-blue: #448aff;
  --accent-blue-glow: rgba(68, 138, 255, 0.5);

  /* Text Colors */
  --text-primary: #e6edf3;
  --text-secondary: #8b949e;
  --text-muted: #6e7681;
  --text-dim: #484f58;
  --text-bright: #ffffff;

  /* Border Colors */
  --border-default: rgba(78, 205, 196, 0.12);
  --border-subtle: rgba(78, 205, 196, 0.08);
  --border-hover: rgba(78, 205, 196, 0.25);
  --border-active: rgba(78, 205, 196, 0.45);
  --border-glow: rgba(78, 205, 196, 0.6);

  /* Shadows - HUD Style */
  --shadow-notification:
    0 8px 32px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(78, 205, 196, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --shadow-hover:
    0 12px 40px rgba(0, 0, 0, 0.6),
    0 0 40px rgba(78, 205, 196, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --shadow-glow:
    0 0 30px var(--accent-cyan-glow),
    0 0 60px rgba(78, 205, 196, 0.2);

  /* Animation Durations */
  --duration-instant: 50ms;
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;
  --duration-slide: 400ms;
  --duration-smooth: 600ms;

  /* Easing Functions - HUD Style */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-snap: cubic-bezier(0.5, 1.5, 0.8, 1);

  /* HUD Specific */
  --hud-grid-color: rgba(78, 205, 196, 0.03);
  --hud-scan-opacity: 0.4;
  --hud-corner-size: 10px;
}

/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Base styles */
html, body {
  font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Oxygen, Ubuntu, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-primary);
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}

/* Notification window - transparent background */
html.notification-mode,
html.notification-mode body {
  background: transparent !important;
}

/* Scrollbar styling - HUD Theme */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: rgba(78, 205, 196, 0.05);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb {
  background: var(--accent-cyan);
  border-radius: 3px;
  opacity: 0.6;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent-cyan-bright);
}

/* Selection */
::selection {
  background: var(--accent-cyan);
  color: var(--bg-dark);
}

/* Utility classes */
.text-primary { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-muted { color: var(--text-muted); }
.text-cyan { color: var(--accent-cyan); }
.text-green { color: var(--accent-green); }
.text-yellow { color: var(--accent-yellow); }
.text-red { color: var(--accent-red); }
.text-purple { color: var(--accent-purple); }

/* Glassmorphism card */
.glass-card {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--glass-blur));
  -webkit-backdrop-filter: blur(var(--glass-blur));
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

/* ======================================
   HUD ANIMATIONS - From modelhane-sistem
   ====================================== */

/* Pulse glow animation */
@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 10px var(--accent-cyan-glow);
    opacity: 0.8;
  }
  50% {
    box-shadow: 0 0 25px var(--accent-cyan-glow), 0 0 50px var(--accent-cyan-glow);
    opacity: 1;
  }
}

/* Center pulse - for notification entrance */
@keyframes center-pulse {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  50% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* Scan line effect - horizontal sweep */
@keyframes scan-line {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  10% {
    opacity: var(--hud-scan-opacity);
  }
  90% {
    opacity: var(--hud-scan-opacity);
  }
  100% {
    transform: translateY(100%);
    opacity: 0;
  }
}

/* Scan line horizontal */
@keyframes scan-line-horizontal {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  20% {
    opacity: 0.6;
  }
  80% {
    opacity: 0.6;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

/* Slide in from right */
@keyframes slide-in-right {
  from {
    transform: translateX(120%) scale(0.95);
    opacity: 0;
  }
  to {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
}

/* Slide out to right */
@keyframes slide-out-right {
  from {
    transform: translateX(0) scale(1);
    opacity: 1;
  }
  to {
    transform: translateX(120%) scale(0.95);
    opacity: 0;
  }
}

/* Bounce in */
@keyframes bounce-in {
  0% {
    transform: scale(0.9) translateX(30px);
    opacity: 0;
  }
  60% {
    transform: scale(1.02) translateX(-5px);
    opacity: 1;
  }
  100% {
    transform: scale(1) translateX(0);
    opacity: 1;
  }
}

/* Progress glow sweep */
@keyframes progress-glow {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Progress bar pulse */
@keyframes progress-pulse {
  0%, 100% {
    filter: brightness(1);
  }
  50% {
    filter: brightness(1.3);
  }
}

/* Data stream slide */
@keyframes stream-slide-in {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Corner bracket flash */
@keyframes corner-flash {
  0%, 100% {
    opacity: 0.4;
  }
  50% {
    opacity: 1;
  }
}

/* Glow pulse */
@keyframes glow-pulse {
  0%, 100% {
    filter: drop-shadow(0 0 2px var(--accent-cyan));
  }
  50% {
    filter: drop-shadow(0 0 8px var(--accent-cyan)) drop-shadow(0 0 15px var(--accent-cyan-glow));
  }
}

/* Border glow animation */
@keyframes border-glow {
  0%, 100% {
    border-color: var(--glass-border);
  }
  50% {
    border-color: var(--glass-border-hover);
  }
}

/* Fade in */
@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Fade out */
@keyframes fade-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* Icon spin (for loading states) */
@keyframes icon-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Ripple effect */
@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 0.6;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

/* Status indicator blink */
@keyframes status-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}

/* HUD Grid Background Pattern */
@keyframes grid-scroll {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 50px;
  }
}

/* Holographic shimmer */
@keyframes holographic-shimmer {
  0% {
    background-position: -100% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Text typing effect */
@keyframes typing-cursor {
  0%, 50% {
    border-color: var(--accent-cyan);
  }
  51%, 100% {
    border-color: transparent;
  }
}

/* Alert shake */
@keyframes alert-shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
  20%, 40%, 60%, 80% { transform: translateX(2px); }
}

/* Success check mark draw */
@keyframes check-draw {
  0% {
    stroke-dashoffset: 24;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Error X draw */
@keyframes x-draw {
  0% {
    stroke-dashoffset: 20;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

/* Notification counter bounce */
@keyframes counter-bounce {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}
