/* ============================================ */
/* CSS VARIABLES */
/* ============================================ */
:root {
	--border-card-enfer: #8B0000;
	--border-card-terre: #228B22;
	--border-card-ciel: #4169E1;
	--bg-card-enfer: #FFF5F5;
	--bg-card-terre: #F5FFF5;
	--bg-card-ciel: #F5F8FF;
	--bg-card-enfer-active: #F8E8E8;
	--bg-card-terre-active: #E8F8E8;
	--bg-card-ciel-active: #E8E8F8;
	--primary-color: #667eea;
	--secondary-color: #764ba2;
	--text-color: #333;
	--border-color: #e0e0e0;
	--success-color: #155724;
	--error-color: #721c24;
	--bg-light: #f8f9fa;
	--bg-board: #f0f0f0;

	/* Valeurs par defaut, ecrasees ensuite */
	--dice-size: 60px;
	--deck-width: 70px;
	--great-balance-width: 100px;

	--board-player-panel-size: 400px;
	--gauge-vci-size: calc(var(--board-player-panel-size) * 0.28);
	--gauge-js-width: calc(var(--board-player-panel-size) * 0.09);
	--gauge-js-height: calc(var(--board-player-panel-size) * 0.18);
	--gauge-rv-width: calc(var(--board-player-panel-size) * 0.28);
}

/* ============================================ */
/* GLOBAL STYLES */
/* ============================================ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	min-height: 100vh;
	color: var(--text-color);
}

.container {
	margin: 0 auto;
	padding: 0px;
}

.page {
	display: none;
	background: white;
	padding: 10px;
}

.page.active {
	display: block;
}

.footer-title {
	text-align: center;
	margin-top: 20px;
	padding: 10px;
	color: #fff;
	font-size: 14px;
	border-top: 1px solid #ddd;
}

.error-message {
	background: #f8d7da;
	color: var(--error-color);
	padding: 15px;
	border-radius: 5px;
	margin: 15px 0;
	border: 1px solid #f5c6cb;
}

.success-message {
	background: #d4edda;
	color: var(--success-color);
	padding: 15px;
	border-radius: 5px;
	margin: 15px 0;
	border: 1px solid #c3e6cb;
}

/* ============================================ */
/* CONFIG PAGE STYLES */
/* ============================================ */
.config-page {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.config-section {
	padding: 20px;
	border: 2px solid var(--border-color);
	border-radius: 10px;
	background: var(--bg-light);
}

.config-section h3 {
	color: var(--primary-color);
	margin-bottom: 15px;
	border-bottom: 2px solid var(--primary-color);
	padding-bottom: 5px;
}

.config-grid {
	display: grid;
	grid-template-rows: repeat(10, auto);
	grid-auto-flow: column;
	gap: 5px;
	margin-top: 15px;
}

.config-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	font-size: 12px;
}

.config-item label {
	font-weight: bold;
	margin-bottom: 5px;
	color: #555;
}

.config-item input, 
.config-item select {
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 5px;
}

.config-file-upload {
	border: 2px dashed #ddd;
	border-radius: 10px;
	padding: 30px;
	text-align: center;
	background: white;
	cursor: pointer;
}

.config-file-upload:hover {
	border-color: var(--primary-color);
	background: #f8f9ff;
}

.config-file-upload.dragover {
	border-color: var(--primary-color);
	background: #e8f0ff;
}

.config-start-button {
	background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
	color: white;
	border: none;
	padding: 20px 40px;
	font-size: 18px;
	border-radius: 10px;
	cursor: pointer;
	display: block;
	margin: 30px auto;
}

.config-start-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(40, 167, 69, 0.3);
}

.config-start-button:disabled {
	background: #6c757d;
	cursor: not-allowed;
	opacity: 0.6;
}

/* ============================================ */
/* GAME LAYOUT */
/* ============================================ */
.game-interface {
	display: grid;
	grid-template-columns: 4fr 2fr 2fr;
	gap: 10px;
	height: 95vh;
	overflow: hidden;
}

/* ============================================ */
/* BOARD STYLES */
/* ============================================ */
.board-container {
	border: 2px solid #ddd;
	border-radius: 10px;
	background: white;
	position: relative;
	overflow: hidden;
}

#plateau {
	width: 100%;
	height: 100%;
}

/* ============================================ */
/* BOARD CONTROLS CONTAINERS */
/* ============================================ */
.board-controls-top-left {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 10;
}

.board-controls-top-left button {
	margin: 0px;
	padding: 3px 4px;
	font-size: 12px;
	background: rgba(255,255,255,0.9);
	border: 1px solid #ccc;
	border-radius: 3px;
	cursor: pointer;
}

.board-controls-bottom-left {
	position: absolute;
	bottom: calc(var(--dice-size) / 3);
	left: calc(var(--dice-size) / 3);
	display: flex;
	gap: calc(var(--dice-size) / 6);
	align-items: baseline;
	z-index: 10;
}

.board-controls-top-right {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
}

.board-controls-bottom-right {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
}

/* ============================================ */
/* BOARD CONTROLS ELEMENTS */
/* ============================================ */
/* grande balance */
.great-balance-container {
	display: flex;
	padding: 5px;
}

#greatBalanceDisplay {
	width: var(--great-balance-width);
	height: calc(var(--great-balance-width) * 0.6);    /* ratio 200x120 */
}

#darkSectionGB, #lightSectionGB {
	filter: blur(1.5px);
}

/* DICE */
.dice-container {
	display: flex;
	z-index: 1;
}

.dice {
	width: var(--dice-size);
	height: var(--dice-size);
	background: white;
	border: 2px solid #333;
	border-radius: 8px;
	position: relative;
	cursor: pointer;
	box-shadow: 0 4px 8px rgba(0,0,0,0.3);
	transform: scale(0.9);
}

.dice.rolling {
	animation: diceRoll 0.3s ease-in-out;
}

@keyframes diceRoll {
	0% { transform: rotate(0deg) scale(1); }
	25% { transform: rotate(90deg) scale(1.1); }
	50% { transform: rotate(180deg) scale(1.2); }
	75% { transform: rotate(270deg) scale(1.1); }
	100% { transform: rotate(360deg) scale(1); }
}

.dice-container.active-turn {
	animation: pulse 1.5s infinite;
	border: 2px solid #007bff;
	border-radius: 12px;
	transform: scale(1.1);
	padding: 5px;
}

.dice-container.active-turn:hover {
	transform: scale(1.2);
	box-shadow: 0 6px 12px rgba(0,0,0,0.4);
}

.dice-container.active-turn::after {
	content: "👆";
	position: absolute;
	top: calc(var(--dice-size) * 0.5);      /* ← Proportionnel */
	left: calc(var(--dice-size) * 0.5);     /* ← Proportionnel */
	font-size: calc(var(--dice-size) * 0.5); /* ← Proportionnel */
	pointer-events: none;
}

@keyframes pulse {
	0% { box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7); }
	70% { box-shadow: 0 0 0 10px rgba(0, 123, 255, 0); }
	100% { box-shadow: 0 0 0 0 rgba(0, 123, 255, 0); }
}

/* Faces du dé */
.dice-face {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	font-weight: bold;
	color: #333;
	box-sizing: border-box;
	padding: 8px;
}

.dice-face.active {
	display: flex;
}

/* Points du dé */
.dice-dots {
	display: grid;
	width: 100%;
	height: 100%;
	gap: 0;
	place-items: center;
}

.dice-dot {
	background: #333;
	border-radius: 50%;
	width: calc(var(--dice-size) * 0.13);   /* ← Proportionnel */
	height: calc(var(--dice-size) * 0.13);  /* ← Proportionnel */
}

/* Face 1 - Centre parfait */
.dice-face-1 .dice-dots {
	grid-template: 1fr / 1fr;
}

/* Face 2 - Diagonale */
.dice-face-2 .dice-dots {
	grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
}
.dice-face-2 .dice-dot:nth-child(1) { 
	grid-area: 1 / 1; 
	justify-self: start;
	align-self: start;
}
.dice-face-2 .dice-dot:nth-child(2) { 
	grid-area: 3 / 3; 
	justify-self: end;
	align-self: end;
}

/* Face 3 - Diagonale avec centre */
.dice-face-3 .dice-dots {
	grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
}
.dice-face-3 .dice-dot:nth-child(1) { 
	grid-area: 1 / 1; 
	justify-self: start;
	align-self: start;
}
.dice-face-3 .dice-dot:nth-child(2) { 
	grid-area: 2 / 2; 
}
.dice-face-3 .dice-dot:nth-child(3) { 
	grid-area: 3 / 3; 
	justify-self: end;
	align-self: end;
}

/* Face 4 - Quatre coins */
.dice-face-4 .dice-dots {
	grid-template: 1fr 1fr / 1fr 1fr;
	gap: calc(var(--dice-size) * 0.13);   /* ← Proportionnel */
}
.dice-face-4 .dice-dot:nth-child(1) { 
	grid-area: 1 / 1; 
	justify-self: center;
	align-self: center;
}
.dice-face-4 .dice-dot:nth-child(2) { 
	grid-area: 1 / 2; 
	justify-self: center;
	align-self: center;
}
.dice-face-4 .dice-dot:nth-child(3) { 
	grid-area: 2 / 1; 
	justify-self: center;
	align-self: center;
}
.dice-face-4 .dice-dot:nth-child(4) { 
	grid-area: 2 / 2; 
	justify-self: center;
	align-self: center;
}

/* Face 5 - Quatre coins + centre */
.dice-face-5 .dice-dots {
	grid-template: 1fr 1fr 1fr / 1fr 1fr 1fr;
}
.dice-face-5 .dice-dot:nth-child(1) { 
	grid-area: 1 / 1; 
	justify-self: start;
	align-self: start;
}
.dice-face-5 .dice-dot:nth-child(2) { 
	grid-area: 1 / 3; 
	justify-self: end;
	align-self: start;
}
.dice-face-5 .dice-dot:nth-child(3) { 
	grid-area: 2 / 2; 
}
.dice-face-5 .dice-dot:nth-child(4) { 
	grid-area: 3 / 1; 
	justify-self: start;
	align-self: end;
}
.dice-face-5 .dice-dot:nth-child(5) { 
	grid-area: 3 / 3; 
	justify-self: end;
	align-self: end;
}

/* Face 6 - Deux colonnes de trois */
.dice-face-6 .dice-dots {
	grid-template: 1fr 1fr 1fr / 1fr 1fr;
	gap: calc(var(--dice-size) * 0.13) calc(var(--dice-size) * 0.067);   /* ← Proportionnel */
}
.dice-face-6 .dice-dot:nth-child(1) { 
	grid-area: 1 / 1; 
	justify-self: center;
	align-self: center;
}
.dice-face-6 .dice-dot:nth-child(2) { 
	grid-area: 1 / 2; 
	justify-self: center;
	align-self: center;
}
.dice-face-6 .dice-dot:nth-child(3) { 
	grid-area: 2 / 1; 
	justify-self: center;
	align-self: center;
}
.dice-face-6 .dice-dot:nth-child(4) { 
	grid-area: 2 / 2; 
	justify-self: center;
	align-self: center;
}
.dice-face-6 .dice-dot:nth-child(5) { 
	grid-area: 3 / 1; 
	justify-self: center;
	align-self: center;
}
.dice-face-6 .dice-dot:nth-child(6) { 
	grid-area: 3 / 2; 
	justify-self: center;
	align-self: center;
}

/* DECK de cartes dans les contrôles */
.deck-container {
	position: relative;
	margin-right: 20px;
	width: var(--deck-width);
	height: calc(var(--deck-width) * 10 / 7);    /* ratio 100x70 */
	cursor: pointer;
}

.deck-stack {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #8B4513, #A0522D);
	border: 2px solid #654321;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(var(--deck-width) * 0.8);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.deck-animation-overlay {
	position: absolute;
	top: -2px;
	left: -2px;
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	background: rgba(255, 215, 0, 0.4);
	border-radius: 8px;
	opacity: 0;
	transform: scale(1);
	transition: all 0.5s ease;
	pointer-events: none;
}

.deck-animation-overlay.pulse {
	opacity: 1;
	transform: scale(1.2);
	box-shadow: 0 0 15px gold;
}

 /* ============================================ */
/* PLAYER PANEL STYLES */
/* ============================================ */
.players-panel {
	background: var(--bg-light);
	border-radius: 10px;
	padding: 5px;
	overflow-y: auto;
}

.players-tabs {
	display: flex;
	border-bottom: 2px solid #ddd;
	margin-bottom: 10px;
	flex-wrap: wrap;
	gap: 2px;
}

.players-tab-btn {
	background: var(--bg-light);
	border: none;
	padding: 2px 6px;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	border-radius: 5px 5px 0 0;
	font-size: 12px;
}

.players-tab-btn:hover {
	background: #e9ecef;
}

.players-tab-btn.active {
	background: #869eea;
	border-bottom-color: var(--primary-color);
	font-weight: bold;
}

.players-tab-content {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
}

.players-tab-pane {
	display: none;
}

.players-tab-pane.active {
	display: block;
}

/* ============================================ */
/* PLAYER BOARD STYLES (Vue générale) */
/* ============================================ */
.player-panel,
.board-player-panel {
	background: white;
	border-radius: 5px;
	padding: 10px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.board-player-panel {
	width: var(--board-player-panel-size);
}

.player-header {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 3fr;
	gap: 1px 10px;
	margin-bottom: 5px;
	align-items: center;
}

.player-name {
	background: var(--primary-color);
	color: white;
	padding: 3px 8px;
	border-radius: 15px;
	font-size: 15px;
	text-align: center;
}

.player-mode {
	font-size: 11px;
	padding: 3px 8px;
	border-radius: 12px;
	font-weight: bold;
}

.player-nc {
	font-weight: bold;
	color: var(--primary-color);
	font-size: 12px;
}

.player-lives {
	font-size: 12px;
	color: var(--primary-color);
}

.player-status {
	font-size: 10px;
	color: #666;
}

.player-resource-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin: 10px 0;
}

/* Conteneur pour la jauge VCI */
.player-vci-container {
	flex: 1;
	display: flex;
	align-items: flex-end;
	position: relative;
	min-height: 75px;
	min-width: 100px;
}

.player-vci-display {
	margin: 0px;
	flex-shrink: 0;
	height: var(--gauge-vci-size);
	width: var(--gauge-vci-size);
}

.player-vci-labels {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 12px;
	margin: 3px;
}

.player-vci-label {
	align-items: center;
	white-space: nowrap;
}

.player-vci-v { color: #28a745; }
.player-vci-c { color: #dc3545; }
.player-vci-i { color: #ffc107; }

/* Conteneur pour les jauges J/S */
.player-js-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 2px;
	gap: 1px 10px;
}

.player-js-display {
	display: flex;
	width: var(--gauge-js-width);
	height: var(--gauge-js-height);
	font-size: 12px;
	color: #333;
}

.player-js-label,
.player-rv-label {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}

/* Conteneur pour la jauge RV */
.player-rv-container {
	margin-top: 2px;
}

.player-rv-display {
	display: flex;
	width: var(--gauge-rv-width);
	height: (var(--gauge-rv-width) * 0.6);
	align-items: center;
	justify-content: center;
}

/* ============================================ */
/* PLAYER DETAIL STYLES (Vue détaillée) */
/* ============================================ */
.player-detail-section {
	margin: 0;
	padding: 5px;
	background: white;
	border-radius: 5px;
}

.player-detail-section h6 {
	margin: 0 0 8px 0;
	color: var(--primary-color);
	font-size: 12px;
	font-weight: bold;
}

/* Carte détaillée */
.player-detail-card {
	transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
	transform-origin: center;
	z-index: 1;
	aspect-ratio: 7/10;
}

.player-detail-card .current-card {
	border: 1px solid #ddd;
	border-radius: 8px;
	background: white;
	overflow: hidden;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	box-shadow: 0 5px 8px rgba(0,0,0,0.7);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.player-detail-card .no-card {
	text-align: center;
	color: #6c757d;
	font-style: italic;
	padding: 20px;
	height: 500px;
}

.player-detail-card .card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px;
	border-bottom: 2px solid #ccc;
	flex-shrink: 0;
}

.player-detail-card .nc1-3 .card-header {
	background: linear-gradient(135deg, #8B4513, #D2691E);
	color: white;
	border-bottom-color: #8B4513;
}

.player-detail-card .nc4-6 .card-header {
	background: linear-gradient(135deg, #FFD700, #FFA500);
	color: var(--text-color);
	border-bottom-color: #FFD700;
}

.player-detail-card .nc7-9 .card-header {
	background: linear-gradient(135deg, #9370DB, #DDA0DD);
	color: white;
	border-bottom-color: #9370DB;
}

.player-detail-card .card-title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 2px;
}

.player-detail-card .card-meta {
	font-size: 11px;
	opacity: 0.9;
}

.player-detail-card .card-content {
	padding: 8px;
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

/* Zones de cartes */
.player-detail-card .zone {
	border-radius: 6px;
	border-left: 1px solid;
	padding: 8px;
	margin-bottom: 4px;
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	opacity: 0.3;
}

.player-detail-card .zone.enfer {
	background: var(--bg-card-enfer);
	border-left-color: var(--border-card-enfer);
}

.player-detail-card .zone.terre {
	background: var(--bg-card-terre);
	border-left-color: var(--border-card-terre);
}

.player-detail-card .zone.ciel {
	background: var(--bg-card-ciel);
	border-left-color: var(--border-card-ciel);
}

.player-detail-card .zone.active {
	border: 1px solid;
	border-radius: 8px;
	opacity: 1.0;
}

.player-detail-card .zone.enfer.active {
	border-color: var(--border-card-enfer);
	background: var(--bg-card-enfer-active);
}

.player-detail-card .zone.terre.active {
	border-color: var(--border-card-terre);
	background: var(--bg-card-terre-active);
}

.player-detail-card .zone.ciel.active {
	border-color: var(--border-card-ciel);
	background: var(--bg-card-ciel-active);
}

.player-detail-card .zone-header {
	font-weight: bold;
	font-size: 12px;
	color: #444;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.player-detail-card .zone-narratif {
	font-size: 11px;
	line-height: 1.4;
	margin-bottom: 8px;
	color: #444;
	font-style: italic;
}

/* Mécaniques de cartes */
.player-detail-card .mechanic-header {
	font-weight: bold;
	font-size: 10px;
	color: #666;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.player-detail-card .mechanic-content {
	font-size: 11px;
	line-height: 1.3;
}

.player-detail-card .direct-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.direct-text, .choice-text, .test-text {
	flex: 1;
}

.player-detail-card .direct-effects,
.player-detail-card .choice-effects,
.player-detail-card .test-effects {
	font-size: 10px;
	font-weight: bold;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Choix */
.player-detail-card .choice-option {
	display: flex;
	align-items: flex-start;
	padding: 4px;
}

.player-detail-card .choice-option.selected {
	background: #c8f5c8;
	border-radius: 2px;
}

.player-detail-card .choice-letter {
	font-weight: bold;
	color: #666;
	min-width: 20px;
	flex-shrink: 0;
}

/* Tests */
.player-detail-card .test-condition {
	font-weight: bold;
	margin-bottom: 3px;
	color: #495057;
}

.player-detail-card .test-outcome {
	font-size: 10px;
	padding: 4px;
	border-radius: 3px;
	border: 1px solid transparent;
}

.player-detail-card .test-outcome.success {
	color: var(--success-color);
}

.player-detail-card .test-outcome.failure {
	color: var(--error-color);
}

.player-detail-card .test-outcome.success.selected {
	background: #c3e6cb;
	border-radius: 2px;
}

.player-detail-card .test-outcome.failure.selected {
	background: #f5c6cb;
	border-radius: 2px;
}

/* Échanges */
.player-detail-exchanges {
	font-size: 11px;
	color: #666;
}


/* selection de choix */
.choice-option.clickable {
	cursor: pointer;
	transition: all 0.2s ease;
	border: 1px solid transparent;
	border-radius: 4px;
	padding: 4px 8px;
	margin: 2px 0;
}

.choice-option.clickable:hover {
	background-color: #f8f9fa;
	border-color: #007bff;
	box-shadow: 0 2px 4px rgba(0,123,255,0.1);
	transform: translateX(2px);
}

.choice-option.clickable:active {
	background-color: #e9ecef;
	transform: translateX(1px);
}

.choice-option.selected {
	background-color: #d4edda;
	border-color: #28a745;
	font-weight: 500;
}

.choice-option.clickable .choice-letter {
	font-weight: bold;
	color: #007bff;
}

.choice-option.clickable:hover .choice-letter {
	color: #0056b3;
}

/* ============================================ */
/* ANIMATION */
/* ============================================ */
/* Classes d'animation pour mise en évidence */
.highlight-card {
	transform: scale(1.05) !important;
	box-shadow: 0 0 20px rgba(76, 175, 80, 0.8) !important;
	border: 2px solid #4CAF50 !important;
	z-index: 100 !important;
	position: relative !important;
	transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.highlight-player-panel {
	animation: pulse-green 2s infinite;
	border: 2px solid #4CAF50 !important;
	border-radius: 8px !important;
	background: rgba(76, 175, 80, 0.1) !important;
}

.highlight-great-balance {
	animation: pulse-blue 1.5s infinite;
	transform: scale(1.02);
	box-shadow: 0 0 15px rgba(0, 123, 255, 0.6);
}

.highlight-dice {
	animation: bounce 1s infinite;
	border: 3px solid #FFD700 !important;
	box-shadow: 0 0 20px rgba(255, 215, 0, 0.8) !important;
}

.highlight-choice-option {
	background: linear-gradient(45deg, #e3f2fd, #bbdefb) !important;
	border: 2px solid #2196F3 !important;
	transform: translateX(5px) !important;
	box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3) !important;
	animation: pulseChoice 1.5s infinite;
}

.choice-selected-animation {
	animation: choiceSelected 0.5s ease-out;
	background: #c8f5c8 !important;
	border-color: #28a745 !important;
	transform: scale(1.05) !important;
}

.shake-animation {
	animation: shake 0.5s ease-in-out;
}

.value-change-positive {
	animation: value-increase 0.8s ease-out;
	color: #28a745 !important;
	font-weight: bold !important;
}

.value-change-negative {
	animation: value-decrease 0.8s ease-out;
	color: #dc3545 !important;
	font-weight: bold !important;
}

/* Animations keyframes */
@keyframes pulse-green {
	0%, 100% { box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); }
	50% { box-shadow: 0 0 20px rgba(76, 175, 80, 0.9); }
}

@keyframes pulse-blue {
	0%, 100% { box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); }
	50% { box-shadow: 0 0 15px rgba(0, 123, 255, 0.9); }
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
	40% { transform: translateY(-5px); }
	60% { transform: translateY(-3px); }
}

@keyframes shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-2px); }
	75% { transform: translateX(2px); }
}

@keyframes value-increase {
	0% { transform: scale(1); }
	50% { transform: scale(1.2); color: #28a745; }
	100% { transform: scale(1); }
}

@keyframes value-decrease {
	0% { transform: scale(1); }
	50% { transform: scale(1.2); color: #dc3545; }
	100% { transform: scale(1); }
}

@keyframes choiceSelected {
	0% { 
		background: #e3f2fd;
		transform: scale(1); 
	}
	50% { 
		background: #4caf50;
		transform: scale(1.1);
		box-shadow: 0 0 15px rgba(76, 175, 80, 0.6);
	}
	100% { 
		background: #c8f5c8;
		transform: scale(1.05);
	}
}

@keyframes pulseChoice {
	0%, 100% { 
		box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3);
	}
	50% { 
		box-shadow: 0 6px 16px rgba(33, 150, 243, 0.6);
		transform: translateX(7px);
	}
}

/* IDs spécifiques pour les animations de valeurs VCI */
.player-vci-label {
	position: relative;
	transition: all 0.3s ease;
}

/* Support pour les animations de changement de NC */
.player-nc {
	position: relative;
	transition: all 0.3s ease;
}

/* Animation pour les éléments qui apparaissent/disparaissent */
.fade-in {
	animation: fadeIn 0.5s ease-in;
}

.fade-out {
	animation: fadeOut 0.5s ease-out;
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(-10px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
	from { opacity: 1; transform: translateY(0); }
	to { opacity: 0; transform: translateY(-10px); }
}

/* Animation pour les notifications temporaires */
.temp-notification {
	position: fixed;
	top: 20px;
	right: 20px;
	background: rgba(0, 0, 0, 0.8);
	color: white;
	padding: 15px 20px;
	border-radius: 8px;
	z-index: 1000;
	animation: slideInRight 0.3s ease, slideOutRight 0.3s ease 2.7s;
	animation-fill-mode: both;
}

@keyframes slideInRight {
	from { transform: translateX(100%); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

@keyframes slideOutRight {
	from { transform: translateX(0); opacity: 1; }
	to { transform: translateX(100%); opacity: 0; }
}

.choice-selected-animation {
	animation: choiceSelected 0.5s ease-out;
	background: #c8f5c8 !important;
	border-color: #28a745 !important;
	transform: scale(1.05) !important;
}

@keyframes choiceSelected {
	0% { 
		background: #e3f2fd;
		transform: scale(1); 
	}
	50% { 
		background: #4caf50;
		transform: scale(1.1);
		box-shadow: 0 0 15px rgba(76, 175, 80, 0.6);
	}
	100% { 
		background: #c8f5c8;
		transform: scale(1.05);
	}
}

.highlight-choice-option {
	background: linear-gradient(45deg, #e3f2fd, #bbdefb) !important;
	border: 2px solid #2196F3 !important;
	transform: translateX(5px) !important;
	box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3) !important;
	animation: pulseChoice 1.5s infinite;
}

@keyframes pulseChoice {
	0%, 100% { 
		box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3);
	}
	50% { 
		box-shadow: 0 6px 16px rgba(33, 150, 243, 0.6);
		transform: translateX(7px);
	}
}

/* ============================================ */
/* CONTROLS PANEL STYLES */
/* ============================================ */
.controls-panel {
	background: var(--bg-light);
	border-radius: 10px;
	padding: 5px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	height: 100%;
	min-height: 0;
	overflow: hidden;
}

.controls-game-controls {
	display: flex;
	gap: 5px;
	margin-bottom: 5px;
}

.controls-btn {
	background: var(--primary-color);
	color: white;
	border: none;
	padding: 8px 4px;
	border-radius: 5px;
	cursor: pointer;
	font-size: 14px;
}

.controls-btn:hover {
	background: #5a6fd8;
}

.controls-btn:disabled {
	background: #6c757d;
	cursor: not-allowed;
}

.controls-options {
	display: flex;
	gap: 15px;
	padding: 5px 10px;
	border-bottom: 1px solid #ddd;
	background: white;
	border-radius: 5px;
	margin-bottom: 5px;
}

.controls-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	cursor: pointer;
	user-select: none;
}

.controls-checkbox input[type="checkbox"] {
	margin: 0;
	cursor: pointer;
}

.controls-game-log {
	background: white;
	border-radius: 10px;
	padding: 10px;
	overflow-y: auto;
	font-size: 12px;
	border: 1px solid #ddd;
	flex: 1;
	min-height: 0;
}

.controls-log-entry {
	margin-bottom: 2px;
	padding: 5px;
	border-left: 3px solid var(--primary-color);
	padding-left: 10px;
	background: #f8f9ff;
}

/* ============================================ */
/* RESPONSIVE */
/* ============================================ */
@media (max-width: 1000px) {
	.config-page {
		grid-template-columns: 1fr;
	}
	.game-interface {
		grid-template-columns: 1fr;
		height: auto;
	}
	
	.config-grid {
		grid-template-columns: 1fr;
	}
}

