Files
fvtt-hamalron/styles/chat.less
T
2026-07-10 16:58:33 +02:00

790 lines
17 KiB
Plaintext

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