.fvtt-hamalron {
  &.ask-roll {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: var(--font-secondary);
    font-size: calc(var(--font-size-standard) * 1.1);
  }

  &.competence-roll {
    background: #e8e8e8;
    border: 2px solid #999;
    border-radius: 0.5rem;
    overflow: hidden;

    .competence-roll-header {
      background: rgba(255, 255, 255, 0.5);
      padding: 0.5rem;
      border-bottom: 2px solid #999;

      .actor-info-compact {
        display: flex;
        align-items: center;
        gap: 0.5rem;

        .actor-avatar {
          width: 40px;
          height: 40px;
          border-radius: 50%;
          border: 2px solid #667eea;
          object-fit: cover;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }

        .actor-details {
          flex: 1;

          .competence-name {
            margin: 0 0 0.25rem 0;
            font-size: 1rem;
            color: #667eea;
            font-weight: bold;
          }

          .competence-meta {
            display: flex;
            gap: 0.75rem;
            font-size: 0.75rem;
            color: var(--color-text-dark-secondary);

            .meta-item {
              display: flex;
              align-items: center;
              gap: 0.35rem;

              i {
                color: #667eea;
                font-size: 0.75rem;
              }
            }
          }
        }
      }
    }

    .competence-roll-body {
      padding: 0.5rem;

      .card-used-section {
        background: rgba(102, 126, 234, 0.1);
        border: 1px solid rgba(102, 126, 234, 0.4);
        border-radius: 0.35rem;
        padding: 0.4rem;
        margin-bottom: 0.5rem;

        .card-used-label {
          display: flex;
          align-items: center;
          gap: 0.3rem;
          font-size: 0.75rem;
          font-weight: bold;
          color: #4a5fc1;
          margin-bottom: 0.35rem;

          i {
            font-size: 0.75rem;
          }
        }

        .card-used-content {
          display: flex;
          align-items: center;
          gap: 0.4rem;

          .card-thumbnail {
            width: 40px;
            height: 40px;
            border-radius: 0.25rem;
            border: 1px solid rgba(102, 126, 234, 0.5);
            object-fit: cover;
          }

          .card-info {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;

            .card-name {
              font-weight: bold;
              color: var(--color-text-dark-primary);
            }

            .card-match {
              display: flex;
              align-items: center;
              gap: 0.3rem;
              font-size: 0.75rem;
              font-style: italic;

              &.match-success {
                color: #2ecc71;
                i {
                  color: #2ecc71;
                }
              }

              &.match-partial {
                color: #f39c12;
                i {
                  color: #f39c12;
                }
              }

              &.match-atout {
                color: #9b59b6;
                font-weight: bold;
                i {
                  color: #9b59b6;
                }
              }

              i {
                font-size: 0.7rem;
              }
            }

            // Styles pour les règles spéciales des cartes
            .valet-special-rule,
            .cavalier-special-rule,
            .reine-special-rule,
            .roi-special-rule {
              display: flex;
              align-items: center;
              gap: 0.3rem;
              font-size: 0.75rem;
              font-weight: bold;
              padding: 0.3rem 0.4rem;
              border-radius: 0.25rem;
              background: rgba(255, 193, 7, 0.15);
              border-left: 3px solid #ffc107;
              color: #856404;
              margin-top: 0.2rem;

              i {
                font-size: 0.8rem;
                color: #ffc107;
              }
            }
          }
        }
      }

      .calculation-section {
        background: rgba(0, 0, 0, 0.05);
        border-radius: 0.35rem;
        padding: 0.4rem;
        margin-bottom: 0.5rem;

        .calculation-row {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0.2rem 0;
          font-size: 0.8rem;

          .calc-label {
            color: var(--color-text-dark-secondary);
          }

          .calc-value {
            font-weight: bold;
            font-size: 0.9rem;
            color: var(--color-text-dark-primary);

            &.calc-bonus {
              color: #2ecc71;
            }

            &.calc-total {
              font-size: 1.1rem;
              color: #667eea;
            }
          }

          &.total-row {
            padding-top: 0.3rem;
          }
        }

        .calculation-divider {
          height: 1px;
          background: var(--color-border-dark);
          margin: 0.4rem 0;
        }
      }

      .difficulty-section {
        .difficulty-info {
          display: flex;
          align-items: center;
          gap: 0.4rem;
          padding: 0.4rem;
          background: rgba(0, 0, 0, 0.05);
          border-radius: 0.35rem;
          font-size: 0.8rem;

          i {
            color: #f39c12;
          }

          .difficulty-label {
            color: var(--color-text-dark-primary);
            font-weight: 500;
          }

          .difficulty-target {
            margin-left: auto;
            color: var(--color-text-dark-secondary);

            strong {
              color: var(--color-text-dark-primary);
              font-size: 1rem;
            }
          }
        }
      }
    }

    .competence-roll-footer {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      padding: 0.5rem;
      font-size: 1.1rem;
      font-weight: bold;
      border-top: 2px solid #999;

      .automatic-success-banner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        padding: 0.5rem;
        background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
        color: #8b6914;
        font-size: 0.95rem;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        border-radius: 0.25rem;
        box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);
        animation: pulse-banner 2s ease-in-out infinite;

        i {
          color: #8b6914;
          text-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
        }
      }

      &.result-success {
        background: rgba(46, 204, 113, 0.2);
        color: #2ecc71;

        .result-icon i {
          color: #2ecc71;
        }
      }

      &.result-failure {
        background: rgba(234, 102, 102, 0.2);
        color: #ea6666;

        .result-icon i {
          color: #ea6666;
        }
      }

      &.gm-only-buttons {
        background: rgba(102, 126, 234, 0.1);
        padding: 0.75rem;

        .special-rules-section {
          background: rgba(255, 193, 7, 0.15);
          border: 2px solid #ffc107;
          border-radius: 0.35rem;
          padding: 0.5rem;
          margin-bottom: 0.75rem;

          .special-rule-item {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.3rem 0;
            font-weight: bold;
            color: #856404;

            &:not(:last-child) {
              border-bottom: 1px solid rgba(255, 193, 7, 0.3);
              margin-bottom: 0.3rem;
              padding-bottom: 0.4rem;
            }

            i {
              font-size: 0.9rem;
              color: #ffc107;
            }

            strong {
              color: #6c5400;
            }
          }
        }

        .gm-buttons {
          display: flex;
          gap: 0.75rem;
          width: 100%;

          button {
            flex: 1;
            padding: 0.5rem 1rem;
            border: 2px solid #667eea;
            border-radius: 0.35rem;
            background: white;
            color: #667eea;
            font-weight: bold;
            font-size: 0.9rem;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;

            i {
              font-size: 0.85rem;
            }

            &:hover {
              background: #667eea;
              color: white;
              transform: translateY(-1px);
              box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
            }

            &.sous-tension-btn {
              border-color: #f39c12;
              color: #f39c12;

              &:hover {
                background: #f39c12;
                color: white;
              }
            }

            &.oppose-btn {
              border-color: #e74c3c;
              color: #e74c3c;

              &:hover {
                background: #e74c3c;
                color: white;
              }
            }
          }
        }
      }

      .result-icon {
        font-size: 1.2rem;
      }

      .result-text {
        text-transform: uppercase;
        letter-spacing: 0.05em;
      }
    }
  }

  &.hamalron-tarot-draw {
    padding: 0.5rem;

    .tarot-draw-header {
      margin-bottom: 1rem;

      .tarot-draw-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin: 0;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid var(--color-border-dark);
        font-size: 1.25rem;
        color: var(--color-text-dark-primary);

        i {
          color: #667eea;
        }
      }
    }

    .tarot-draw-content {
      display: flex;
      gap: 1rem;

      .tarot-card-image {
        flex-shrink: 0;

        img {
          width: 150px;
          height: 150px;
          object-fit: cover;
          border-radius: 0.25rem;
          border: 2px solid var(--color-border-dark);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }
      }

      .tarot-card-details {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;

        .tarot-detail-row {
          display: flex;
          gap: 0.5rem;

          .detail-label {
            font-weight: bold;
            color: var(--color-text-dark-secondary);
          }

          .detail-value {
            color: var(--color-text-dark-primary);
          }
        }

        .tarot-description {
          margin-top: 0.5rem;
          padding-top: 0.5rem;
          border-top: 1px solid var(--color-border-dark);

          .description-label {
            font-weight: bold;
            color: var(--color-text-dark-secondary);
            margin-bottom: 0.25rem;
          }

          .description-content {
            color: var(--color-text-dark-primary);
            font-style: italic;
          }
        }
      }
    }
  }

  &.tarot-draw-chat {
    background: #e8e8e8;
    border: 2px solid #999;
    border-radius: 0.5rem;
    overflow: hidden;

    .tarot-draw-header {
      background: rgba(255, 255, 255, 0.5);
      padding: 0.5rem;
      border-bottom: 2px solid #999;

      .draw-info-compact {
        display: flex;
        align-items: center;
        gap: 0.5rem;

        .card-thumbnail {
          width: 60px;
          height: 60px;
          border-radius: 0.25rem;
          object-fit: cover;
          border: 2px solid #999;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
        }

        .card-details {
          flex: 1;

          .card-name {
            margin: 0 0 0.25rem 0;
            font-size: 1rem;
            font-weight: bold;
            color: #333;
          }

          .card-meta {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
            font-size: 0.75rem;

            .meta-item {
              display: flex;
              align-items: center;
              gap: 0.25rem;
              color: #666;

              i {
                color: #999;
              }
            }
          }
        }
      }
    }

    .tarot-draw-body {
      padding: 0.5rem;

      .description-section {
        .description-label {
          display: flex;
          align-items: center;
          gap: 0.4rem;
          font-size: 0.8rem;
          font-weight: bold;
          color: #666;
          margin-bottom: 0.4rem;

          i {
            color: #999;
          }
        }

        .description-content {
          font-size: 0.85rem;
          color: #555;
          font-style: italic;
          line-height: 1.4;
          padding: 0.4rem;
          background: rgba(255, 255, 255, 0.3);
          border-radius: 0.25rem;
          border-left: 3px solid #999;
        }
      }
    }
  }

  &.tarot-tension-chat {
    background: #e8e8e8;
    border: 2px solid #999;
    border-radius: 0.5rem;
    overflow: hidden;

    .tarot-tension-header {
      background: rgba(255, 165, 0, 0.2);
      padding: 0.5rem;
      border-bottom: 2px solid #f39c12;

      .tension-info-compact {
        display: flex;
        align-items: center;
        gap: 0.5rem;

        .card-thumbnail {
          width: 60px;
          height: 60px;
          border-radius: 0.25rem;
          object-fit: cover;
          border: 2px solid #f39c12;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
        }

        .card-details {
          flex: 1;

          .card-name {
            margin: 0 0 0.25rem 0;
            font-size: 1rem;
            font-weight: bold;
            color: #333;
          }

          .card-meta {
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
            font-size: 0.75rem;

            .meta-item {
              display: flex;
              align-items: center;
              gap: 0.25rem;
              color: #666;

              i {
                color: #f39c12;
              }
            }
          }
        }
      }
    }

    .tarot-tension-body {
      padding: 0.5rem;

      .difficulty-section {
        margin-bottom: 0.75rem;
        padding: 0.5rem;
        background: rgba(243, 156, 18, 0.1);
        border-left: 3px solid #f39c12;
        border-radius: 0.25rem;

        .difficulty-label {
          display: flex;
          align-items: center;
          gap: 0.4rem;
          font-size: 0.75rem;
          font-weight: bold;
          color: #666;
          margin-bottom: 0.25rem;

          i {
            color: #f39c12;
          }
        }

        .difficulty-value {
          font-size: 0.9rem;
          font-weight: bold;
          color: #333;
        }
      }

      .calculation-section {
        .calculation-row {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0.3rem 0.5rem;
          margin-bottom: 0.25rem;
          background: rgba(255, 255, 255, 0.3);
          border-radius: 0.25rem;

          .calc-label {
            font-size: 0.8rem;
            color: #666;
          }

          .calc-value {
            font-size: 0.85rem;
            font-weight: bold;
            color: #333;

            &.positive {
              color: #27ae60;
            }

            &.negative {
              color: #e74c3c;
            }
          }
        }

        .calculation-total {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 0.5rem;
          margin-top: 0.5rem;
          background: rgba(243, 156, 18, 0.15);
          border: 2px solid #f39c12;
          border-radius: 0.25rem;

          .total-label {
            font-size: 0.85rem;
            font-weight: bold;
            color: #666;
            text-transform: uppercase;
            letter-spacing: 0.05em;
          }

          .total-value {
            font-size: 1.25rem;
            font-weight: bold;
            color: #f39c12;
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
          }
        }
      }
    }
  }

  // Style pour le résumé des cartes numérotées
  &.chat-tarot-summary {
    background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
    border: 2px solid #667eea;
    border-radius: 0.5rem;
    padding: 1rem;

    .tarot-summary-title {
      text-align: center;
      color: #667eea;
      font-size: 1.2rem;
      margin: 0 0 1rem 0;
      font-weight: bold;
      text-transform: uppercase;
      letter-spacing: 0.05em;

      i {
        margin-right: 0.5rem;
      }
    }

    .tarot-cards-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.5rem;

      .tarot-card-summary-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        background: white;
        border: 1px solid #ddd;
        border-radius: 0.25rem;
        padding: 0.35rem;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        transition:
          transform 0.2s,
          box-shadow 0.2s;

        &:hover {
          transform: translateY(-2px);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
        }

        img {
          width: 35px;
          height: auto;
          border-radius: 0.2rem;
          margin-bottom: 0.3rem;
          object-fit: contain;
        }

        .card-name {
          font-size: 0.65rem;
          color: #333;
          font-weight: 600;
          line-height: 1.1;
        }
      }
    }
  }
}

@keyframes pulse-banner {
  0%,
  100% {
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.8);
  }
}

.tension-roll {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 1px solid #e94560;
  border-radius: 8px;
  overflow: hidden;

  .tension-header {
    text-align: center;
    padding: 6px;
    background: rgba(233, 69, 96, 0.15);
    border-bottom: 1px solid rgba(233, 69, 96, 0.3);

    .tension-badge {
      color: #e94560;
      font-size: 13px;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 2px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }
  }

  .tension-players {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 12px 8px;

    .tension-side {
      text-align: center;

      .tension-side-label {
        font-size: 11px;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 4px;
      }

      .tension-side-value {
        font-size: 28px;
        font-weight: 700;
        color: #f0e6d3;
      }

      .tension-side-name {
        font-size: 11px;
        color: #aaa;
        margin-top: 2px;
      }

      &.tension-winner .tension-side-value {
        color: #4caf50;
      }
    }

    .tension-vs {
      font-size: 14px;
      font-weight: 700;
      color: #e94560;
      opacity: 0.7;
    }
  }

  .tension-result {
    text-align: center;
    padding: 6px;
    font-size: 13px;
    font-weight: 600;
    border-top: 1px solid rgba(233, 69, 96, 0.2);

    &.result-success { background: rgba(76, 175, 80, 0.15); color: #4caf50; }
    &.result-failure { background: rgba(244, 67, 54, 0.15); color: #f44336; }
  }
}

.initiative-roll {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 1px solid #e94560;
  border-radius: 8px;
  overflow: hidden;
  font-family: var(--font-secondary, sans-serif);

  .initiative-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: rgba(233, 69, 96, 0.15);
    border-bottom: 1px solid rgba(233, 69, 96, 0.3);

    .initiative-actor {
      display: flex;
      align-items: center;
      gap: 8px;

      .initiative-avatar {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        border: 2px solid #e94560;
        object-fit: cover;
      }

      .initiative-name {
        color: #e0e0e0;
        font-size: 14px;
        font-weight: 600;
      }
    }

    .initiative-badge {
      display: flex;
      align-items: center;
      gap: 6px;
      background: #e94560;
      color: #fff;
      font-size: 20px;
      font-weight: 700;
      padding: 4px 14px;
      border-radius: 20px;
      box-shadow: 0 0 10px rgba(233, 69, 96, 0.5);
    }
  }

  .initiative-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;

    .initiative-card-img {
      width: 48px;
      height: 48px;
      object-fit: contain;
      border-radius: 4px;
      background: rgba(255, 255, 255, 0.05);
      padding: 4px;
    }

    .initiative-card-info {
      display: flex;
      flex-direction: column;
      gap: 2px;

      .card-name {
        color: #f0e6d3;
        font-size: 13px;
        font-weight: 500;
      }

      .card-value {
        color: #aaa;
        font-size: 12px;
      }
    }
  }

  .initiative-footer {
    text-align: center;
    padding: 4px;
    background: rgba(233, 69, 96, 0.08);
    font-size: 11px;
    color: #e94560;
    text-transform: uppercase;
    letter-spacing: 2px;
  }
}

/* Chat sidebar tools (Tarot, Actions, Épreuve) */
.hamalron-chat-tools {
  flex: 0 0 auto;
  display: flex;
  gap: 4px;
  padding: 4px 8px;
  border-bottom: 1px solid #444;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

.hamalron-chat-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: #2a2a4a;
  color: #e0e0e0;
  border: 1px solid #555;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  white-space: nowrap;
  pointer-events: auto;
  position: relative;
  z-index: 1;

  &:hover {
    background: #3a3a6a;
  }
}
