.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; } }