@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import "tailwindcss";
@plugin "tailwindcss-animate";

@theme {
  --color-background: #0d0d0d;
  --color-primary: #ed2939;
  --color-primary-50: #fbd2d6;
  --color-primary-100: #f7a5ad;
  --color-primary-200: #f37884;
  --color-primary-300: #ef4b5b;
  --color-primary-400: #eb1e32;
  --color-primary-500: #ed2939;
  --color-primary-600: #cd1121;
  --color-primary-700: #990d18;
  --color-primary-800: #650910;
  --color-primary-900: #310408;
  --color-primary-950: #180204;
  --color-body: #f5f5f5;
  --color-danger: #f8081c;
  --color-danger-50: #fdbbc0;
  --color-danger-100: #fca7ae;
  --color-danger-200: #f9838e;
  --color-danger-300: #f65f5f;
  --color-danger-400: #f33b32;
  --color-danger-500: #f01708;
  --color-danger-600: #e70000;
  --color-danger-700: #b00000;
  --color-danger-800: #790000;
  --color-danger-900: #420000;
  --color-danger-950: #210000;
  --color-success: #00dd5c;
  --color-success-50: #96ffc1;
  --color-success-100: #81ffb6;
  --color-success-200: #58ff9e;
  --color-success-300: #30ff86;
  --color-success-400: #08ff6e;
  --color-success-500: #00dd5c;
  --color-success-600: #00a545;
  --color-success-700: #006d2d;
  --color-success-800: #003516;
  --color-success-900: #000000;
  --color-success-950: #000000;
  --color-warning: #fff346;
  --color-warning-50: #fffffe;
  --color-warning-100: #fffee9;
  --color-warning-200: #fffbc0;
  --color-warning-300: #fff898;
  --color-warning-400: #fff66f;
  --color-warning-500: #fff346;
  --color-warning-600: #ffef0d;
  --color-warning-700: #d5c700;
  --color-warning-800: #9d9300;
  --color-warning-900: #655e00;
  --color-warning-950: #494400;
  --color-info: #17a1fd;
  --color-info-50: #cdebff;
  --color-info-100: #b9e3fe;
  --color-info-200: #90d2fe;
  --color-info-300: #68c2fe;
  --color-info-400: #3fb1fd;
  --color-info-500: #17a1fd;
  --color-info-600: #0284da;
  --color-info-700: #0162a2;
  --color-info-800: #01406b;
  --color-info-900: #001f33;
  --color-info-950: #000e17;
  --font-sans: "Inter", sans-serif;
  --color-neutral-50: #f5f5f5;
  --color-neutral-100: #e0e0e0;
  --color-neutral-200: #c2c2c2;
  --color-neutral-300: #a3a3a3;
  --color-neutral-400: #858585;
  --color-neutral-500: #666666;
  --color-neutral-600: #4d4d4d;
  --color-neutral-700: #333333;
  --color-neutral-800: #1a1a1a;
  --color-neutral-900: #0d0d0d;
  --color-neutral-950: #000000;
}

:root {
  /* HUD Color Palette - Enhanced Vibrant Colors */
  --hud-health-low: #ff1744;
  --hud-health-mid: #ff9800;
  --hud-health-high: #4caf50;
  --hud-armor: #2196f3;
  --hud-stress: #9443ff;

  --hud-thirst: #00bcd4;
  --hud-hunger: #ff5722;
  --hud-vocal-whisper: #00bcd4;
  --hud-vocal-normal: #4caf50;
  --hud-vocal-shout: #ff9800;
  --hud-neutral: #607d8b;

  /* HUD Base Colors */
  --hud-bg-base: rgba(20, 20, 20, 0.85);
  --hud-bg-hover: rgba(25, 25, 25, 0.9);
  --hud-border-base: rgba(255, 255, 255, 0.15);
  --hud-border-hover: rgba(255, 255, 255, 0.25);
  --hud-text-primary: rgba(255, 255, 255, 0.95);
  --hud-text-secondary: rgba(255, 255, 255, 0.8);

  /* HUD Sizing */
  --hud-icon-sm: 32px;
  --hud-icon-md: 40px;
  --hud-icon-lg: 48px;
  --hud-border-radius: 10px;
  --hud-progress-height: 3px;
  --hud-ring-width: 2px;
}

@layer base {
  html {
    @apply font-sans text-body;
  }
}

@layer components {
  /* Glass in/out animations */
  @keyframes glassIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes glassOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .animate-glass-in {
    animation: glassIn 300ms cubic-bezier(0.4, 0, 0.2, 1) both;
  }
  .animate-glass-out {
    animation: glassOut 250ms cubic-bezier(0.4, 0, 0.2, 1) both;
  }
  /* Modern Glassmorphism Button Styles */
  .btn {
    @apply px-4 py-2 w-full max-w-xs font-bold flex justify-center items-center gap-2 cursor-pointer relative overflow-hidden;

    /* Glassmorphism effect matching inventory-slot-modern */
    background: rgba(17, 17, 17, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;

    /* Modern shadow matching inventory-slot-modern */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.2);

    /* Smooth transitions */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Text color */
    color: rgba(255, 255, 255, 0.9);
  }

  .btn::before {
    content: "";
    @apply absolute inset-0 pointer-events-none;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.1) 0%,
      rgba(255, 255, 255, 0.02) 50%,
      rgba(255, 255, 255, 0.08) 100%
    );
    border-radius: 12px;
    opacity: 0.6;
  }

  .btn:hover {
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(255, 255, 255, 0.1);
  }

  .btn:active {
    transform: translateY(0px) scale(0.95);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }

  .btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
  }

  .btn:disabled:hover {
    transform: none;
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  }

  .btn-full-width {
    @apply w-full max-w-none;
  }

  /* Color variants with glassmorphism */
  .btn-primary {
    background: rgba(237, 41, 57, 0.15);
    border-color: rgba(237, 41, 57, 0.3);
    color: rgba(237, 41, 57, 0.95);
  }

  .btn-primary::before {
    background: linear-gradient(
      135deg,
      rgba(237, 41, 57, 0.2) 0%,
      rgba(237, 41, 57, 0.05) 50%,
      rgba(237, 41, 57, 0.15) 100%
    );
  }

  .btn-primary:hover {
    background: rgba(237, 41, 57, 0.25);
    border-color: rgba(237, 41, 57, 0.5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(237, 41, 57, 0.3);
  }

  .btn-success {
    background: rgba(0, 221, 92, 0.15);
    border-color: rgba(0, 221, 92, 0.3);
    color: rgba(0, 221, 92, 0.95);
  }

  .btn-success::before {
    background: linear-gradient(
      135deg,
      rgba(0, 221, 92, 0.2) 0%,
      rgba(0, 221, 92, 0.05) 50%,
      rgba(0, 221, 92, 0.15) 100%
    );
  }

  .btn-success:hover {
    background: rgba(0, 221, 92, 0.25);
    border-color: rgba(0, 221, 92, 0.5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(0, 221, 92, 0.3);
  }

  .btn-warning {
    background: rgba(255, 243, 70, 0.15);
    border-color: rgba(255, 243, 70, 0.3);
    color: rgba(255, 243, 70, 0.95);
  }

  .btn-warning::before {
    background: linear-gradient(
      135deg,
      rgba(255, 243, 70, 0.2) 0%,
      rgba(255, 243, 70, 0.05) 50%,
      rgba(255, 243, 70, 0.15) 100%
    );
  }

  .btn-warning:hover {
    background: rgba(255, 243, 70, 0.25);
    border-color: rgba(255, 243, 70, 0.5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(255, 243, 70, 0.3);
  }

  .btn-danger {
    background: rgba(248, 8, 28, 0.15);
    border-color: rgba(248, 8, 28, 0.3);
    color: rgba(248, 8, 28, 0.95);
  }

  .btn-danger::before {
    background: linear-gradient(
      135deg,
      rgba(248, 8, 28, 0.2) 0%,
      rgba(248, 8, 28, 0.05) 50%,
      rgba(248, 8, 28, 0.15) 100%
    );
  }

  .btn-danger:hover {
    background: rgba(248, 8, 28, 0.25);
    border-color: rgba(248, 8, 28, 0.5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(248, 8, 28, 0.3);
  }

  .btn-neutral {
    background: rgba(115, 115, 115, 0.15);
    border-color: rgba(115, 115, 115, 0.3);
    color: rgba(245, 245, 245, 0.9);
  }

  .btn-neutral::before {
    background: linear-gradient(
      135deg,
      rgba(115, 115, 115, 0.2) 0%,
      rgba(115, 115, 115, 0.05) 50%,
      rgba(115, 115, 115, 0.15) 100%
    );
  }

  .btn-neutral:hover {
    background: rgba(115, 115, 115, 0.25);
    border-color: rgba(115, 115, 115, 0.5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(115, 115, 115, 0.3);
  }

  /* Icon-only button variants */
  .btn-icon {
    @apply w-10 h-10 p-0 flex items-center justify-center min-w-0 max-w-none;
    border-radius: 10px;
  }

  .btn-icon-sm {
    @apply w-8 h-8 p-0 flex items-center justify-center min-w-0 max-w-none;
    border-radius: 8px;
  }

  .btn-icon-lg {
    @apply w-12 h-12 p-0 flex items-center justify-center min-w-0 max-w-none;
    border-radius: 14px;
  }

  .divider-hor {
    @apply h-px w-50 bg-neutral-700 my-4;
  }

  .divider-ver {
    @apply h-50 w-px bg-neutral-700 my-4;
  }

  .input {
    @apply p-2 w-full border-b rounded-t-md bg-transparent shadow-xl shadow-transparent border-neutral-500 placeholder:text-neutral-500 transition-all duration-300;
  }

  .input:focus {
    @apply outline-none bg-neutral-900/60 shadow-primary/10 border-primary;
  }

  input[type="text"]::placeholder,
  input[type="number"]::placeholder {
    color: #808080;
    opacity: 0.5;
  }

  .select {
    @apply appearance-none w-full p-2 pr-8 border rounded text-neutral-200 bg-neutral-900 border-neutral-700 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-transparent transition-all duration-300;
  }

  .select option {
    @apply bg-neutral-900 text-neutral-200;
  }

  .textarea {
    @apply p-2 w-full border rounded bg-transparent border-neutral-700 placeholder:text-neutral-500 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-transparent transition-all duration-300;
  }

  .radio {
    @apply appearance-none w-5 h-5 border shadow-md shadow-transparent rounded-full bg-transparent border-neutral-700 focus:outline-none focus:border-transparent hover:border-primary/70 transition-all duration-300 cursor-pointer relative;
  }

  .radio:checked {
    @apply border-primary bg-primary/20 shadow-primary/30;
  }

  .radio:checked::before {
    content: "";
    @apply absolute w-2.5 h-2.5 bg-primary rounded-full;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .radio:disabled {
    @apply bg-neutral-900/60 cursor-not-allowed border-danger/50;
  }

  .radio:disabled:checked {
    @apply cursor-not-allowed border-danger/50;
  }

  .radio:disabled:checked::before {
    @apply bg-danger cursor-not-allowed;
  }

  /* Checkbox custom styles */
  .checkbox-custom {
    @apply appearance-none w-5 h-5 border shadow-md shadow-transparent rounded bg-transparent border-neutral-500 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-transparent hover:border-primary/70 transition-all duration-300 cursor-pointer relative;
  }

  .checkbox-custom:checked {
    @apply border-primary bg-primary/20 shadow-primary/30;
  }

  .checkbox-custom:checked::after {
    content: "✓";
    @apply absolute text-primary text-sm font-bold;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
  }

  /* Otp styles */

  .otp-container {
    @apply flex flex-col gap-2 items-center justify-center;
  }

  .otp-group {
    @apply flex gap-2 items-center justify-center;
  }

  .otp-input {
    @apply w-12 h-12 text-center shadow-xl shadow-transparent text-xl font-bold border rounded bg-transparent border-neutral-700 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-transparent transition-all duration-300;
  }

  .otp-input:focus {
    @apply outline-none bg-neutral-900/60 shadow-primary/10;
  }

  .otp-input:disabled {
    @apply bg-neutral-900/60 cursor-not-allowed border-danger/50;
  }

  .otp-input:read-only {
    @apply bg-neutral-900/60 cursor-not-allowed;
  }

  /* Textarea styles */

  .textarea {
    @apply p-2 w-full border rounded bg-transparent shadow-xl shadow-transparent border-neutral-700 placeholder:text-neutral-500 focus:outline-none focus:ring-2 focus:ring-primary/50 focus:border-transparent transition-all duration-300;
  }

  .textarea:focus {
    @apply outline-none bg-neutral-900/60 shadow-primary/10;
  }

  /* Modal styles */
  .modal-overlay {
    @apply fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm;
  }

  .modal-content {
    @apply bg-neutral-900 rounded-lg p-6 w-full max-w-md mx-4 border border-neutral-700 shadow-2xl;
  }

  .modal-header {
    @apply flex justify-between items-center mb-4;
  }

  .modal-body {
    @apply text-neutral-200 leading-relaxed;
  }

  /* Modern Glassmorphism Card Styles */
  .card {
    @apply w-full max-w-md mx-4 relative overflow-hidden;

    /* Glassmorphism effect matching inventory-slot-modern */
    background: rgba(17, 17, 17, 0.712);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;

    /* Modern shadow matching inventory-slot-modern */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.2);

    /* Smooth transitions */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .card::before {
    content: "";
    @apply absolute inset-0 pointer-events-none;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.1) 0%,
      rgba(255, 255, 255, 0.02) 50%,
      rgba(255, 255, 255, 0.08) 100%
    );
    border-radius: 12px;
    opacity: 0.6;
  }

  .card:hover {
    border-color: rgba(255, 255, 255, 0.15);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4), 0 6px 20px rgba(0, 0, 0, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 20px rgba(255, 255, 255, 0.1);
  }

  .card-header {
    @apply flex justify-between items-center p-4 border-b relative z-10;
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px 12px 0 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .card-header:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
  }

  .card-header.card-primary {
    background: rgba(237, 41, 57, 0.08);
    border-color: rgba(237, 41, 57, 0.15);
  }

  .card-header.card-primary:hover {
    background: rgba(237, 41, 57, 0.12);
    border-color: rgba(237, 41, 57, 0.25);
  }

  .card-header.card-success {
    background: rgba(0, 221, 92, 0.08);
    border-color: rgba(0, 221, 92, 0.15);
  }

  .card-header.card-success:hover {
    background: rgba(0, 221, 92, 0.12);
    border-color: rgba(0, 221, 92, 0.25);
  }

  .card-header.card-warning {
    background: rgba(255, 243, 70, 0.08);
    border-color: rgba(255, 243, 70, 0.15);
  }

  .card-header.card-warning:hover {
    background: rgba(255, 243, 70, 0.12);
    border-color: rgba(255, 243, 70, 0.25);
  }

  .card-header.card-danger {
    background: rgba(248, 8, 28, 0.08);
    border-color: rgba(248, 8, 28, 0.15);
  }

  .card-header.card-danger:hover {
    background: rgba(248, 8, 28, 0.12);
    border-color: rgba(248, 8, 28, 0.25);
  }

  .card-header.card-info {
    background: rgba(23, 161, 253, 0.08);
    border-color: rgba(23, 161, 253, 0.15);
  }

  .card-header.card-info:hover {
    background: rgba(23, 161, 253, 0.12);
    border-color: rgba(23, 161, 253, 0.25);
  }

  .card-body {
    @apply text-neutral-200 leading-relaxed p-4 relative z-10;
    background: rgba(255, 255, 255, 0.01);
    border-radius: 0 0 12px 12px;
  }

  .card-title {
    @apply text-2xl font-bold flex items-center gap-2 relative z-10;
    color: rgba(255, 255, 255, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  }

  .card-title.card-primary {
    color: rgba(237, 41, 57, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 10px rgba(237, 41, 57, 0.3);
  }

  .card-title.card-success {
    color: rgba(0, 221, 92, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 221, 92, 0.3);
  }

  .card-title.card-warning {
    color: rgba(255, 243, 70, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 10px rgba(255, 243, 70, 0.3);
  }

  .card-title.card-danger {
    color: rgba(248, 8, 28, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 10px rgba(248, 8, 28, 0.3);
  }

  .card-title.card-info {
    color: rgba(23, 161, 253, 0.95);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8), 0 0 10px rgba(23, 161, 253, 0.3);
  }

  .card-text {
    @apply text-neutral-200 leading-relaxed relative z-10;
    color: rgba(255, 255, 255, 0.85);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }

  /* Accordion styles */
  .accordion {
    @apply w-full flex flex-col gap-4;
  }

  .accordion-item {
    @apply rounded-lg w-full shadow-2xl;
  }

  .accordion-header {
    @apply flex justify-between items-center bg-neutral-500/10 rounded-t-lg p-4 border-b border-neutral-700 cursor-pointer hover:bg-neutral-500/50 transition-all duration-300;
  }

  .accordion-title {
    @apply text-2xl font-bold flex items-center gap-2 select-none;
  }

  .accordion-content {
    @apply border-b border-l border-r rounded-b-lg border-neutral-700;
    padding: 0;
    overflow: hidden;
  }

  /* Wrapper interno per il contenuto con padding fisso */
  .accordion-content-inner {
    @apply text-neutral-200 leading-relaxed p-4;
    transform: translateY(-100%);
    opacity: 0;
    transition: all 300ms ease-out;
  }

  /* Accordion aperto - animazione fluida del contenuto interno */
  .accordion-item.open .accordion-content-inner {
    transform: translateY(0);
    opacity: 1;
  }

  .divider-hor {
    @apply my-1 mx-2;
    height: 1px;
    margin: 0 8px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.15) 20%,
      rgba(255, 255, 255, 0.15) 80%,
      transparent 100%
    );
  }

  .glass {
    @apply overflow-hidden relative;
    /* Glassmorphism effect */
    background: rgba(17, 17, 17, 0.459);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px !important;

    /* Modern shadow */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  }

  .glass::before {
    content: "";
    @apply absolute inset-0 pointer-events-none;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.1) 0%,
      rgba(255, 255, 255, 0.02) 50%,
      rgba(255, 255, 255, 0.08) 100%
    );
    border-radius: 12px;
    opacity: 0.6;
  }

  .glass-primary {
    @apply overflow-hidden relative;
    /* Glassmorphism effect */
    background: rgba(17, 17, 17, 0.459);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px !important;

    /* Modern shadow */
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 4px 16px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.2);
  }

  .glass-primary::before {
    @apply absolute inset-0 pointer-events-none;
    background: linear-gradient(
      135deg,
      rgba(237, 41, 57, 0.3) 0%,
      rgba(237, 41, 57, 0.06) 50%,
      rgba(237, 41, 57, 0.24) 100%
    );
    border-radius: 12px;
    opacity: 0.6;
  }

  @keyframes glass-reflect {
    0% {
      transform: translateX(-100%) skewX(-15deg);
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    20% {
      transform: translateX(100%) skewX(-15deg);
      opacity: 1;
    }
    25% {
      opacity: 0;
    }
    100% {
      transform: translateX(100%) skewX(-15deg);
      opacity: 0;
    }
  }

  /* Developer panel button styles */
  .btn-dev {
    @apply px-2 py-1 text-xs font-medium rounded border transition-all duration-200 cursor-pointer;
    background: rgba(31, 41, 55, 0.8);
    border-color: rgba(75, 85, 99, 0.6);
    color: rgba(229, 231, 235, 0.9);
  }

  .btn-dev:hover {
    background: rgba(55, 65, 81, 0.9);
    border-color: rgba(107, 114, 128, 0.8);
    transform: translateY(-1px);
  }

  .btn-dev.btn-active {
    background: rgba(59, 130, 246, 0.8);
    border-color: rgba(59, 130, 246, 1);
    color: white;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.4);
  }

  .btn-dev.btn-secondary {
    background: rgba(75, 85, 99, 0.6);
    border-color: rgba(107, 114, 128, 0.4);
  }

  .btn-dev.btn-danger {
    background: rgba(220, 38, 38, 0.8);
    border-color: rgba(220, 38, 38, 1);
    color: white;
  }

  .btn-dev.btn-danger:hover {
    background: rgba(239, 68, 68, 0.9);
    box-shadow: 0 0 10px rgba(220, 38, 38, 0.4);
  }

  .btn-dev.btn-success {
    background: rgba(34, 197, 94, 0.8);
    border-color: rgba(34, 197, 94, 1);
    color: white;
  }

  .btn-dev.btn-success:hover {
    background: rgba(74, 222, 128, 0.9);
    box-shadow: 0 0 10px rgba(34, 197, 94, 0.4);
  }
}

input[type="number"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Nasconde le frecce negli input di tipo numero per Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
