/*
 * Story 3.2: Direction Artistique L4z-R-u$ - Styles Globaux
 * Fichier CSS unifié regroupant :
 * - Variables CSS custom properties
 * - Migration CSS inline challenges/challenge/onboarding
 * - Direction artistique L4z-R-u$ (palette, typo, effets)
 * - Refactoring sans !important (spécificité améliorée)
 */

/* ====================================================================
   === BASE - Variables, Reset, Typographie Globale ===
   ==================================================================== */

:root {
  /* Palette L4z-R-u$ - Base */
  --dark-bg: #0A0E14;
  --dark-surface: #1A1F2E;
  --dark-border: #2A3342;

  /* Accents */
  --primary-cyan: #00F0FF;
  --primary-magenta: #FF006E;
  --primary-violet: #7B2CBF;

  /* Feedback */
  --success: #00FF87;
  --error: #FF3366;
  --warning: #FFD60A;

  /* Texte */
  --text-primary: #FFFFFF;
  --text-secondary: #A0A0B0;

  /* Spacing */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;

  /* Borders & Radius */
  --border-radius: 8px;
  --border-width: 1px;

  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --shadow-glow-cyan: 0 0 20px rgba(0, 240, 255, 0.3);
  --shadow-glow-magenta: 0 0 20px rgba(255, 0, 110, 0.3);
  --shadow-glow-violet: 0 0 20px rgba(123, 44, 191, 0.3);
}

/* Typographie L4z-R-u$ + Application globale palette */
html, body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: var(--dark-bg);
  color: var(--text-primary);
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

/* Override base.css - Force L4z-R-u$ partout */
main {
  background-color: var(--dark-bg);
  color: var(--text-primary);
}

.container, .container-fluid {
  background-color: transparent;
}

.jumbotron {
  background-color: var(--dark-surface);
  color: var(--text-primary);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--primary-cyan);
}

/* Page titles specifiques */
h1 {
  color: var(--success);
  text-shadow: 0 0 10px rgba(0, 255, 135, 0.3);
}

code, pre, .font-mono {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  background-color: #0F1419;
  padding: 0.125rem 0.375rem;
  border-radius: 4px;
}

/* Accessibilité - prefers-reduced-motion (WCAG AA) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ====================================================================
   === COMPONENTS - Composants Réutilisables ===
   ==================================================================== */

/* Buttons */
.btn-primary {
  background: linear-gradient(135deg, var(--primary-cyan), var(--primary-violet));
  color: var(--text-primary);
  border: none;
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: var(--border-radius);
  font-weight: 500;
  transition: all var(--transition-normal);
  cursor: pointer;
}

.btn-primary:hover {
  box-shadow: var(--shadow-glow-cyan);
  transform: translateY(-2px);
}

/* Cards */
.card-lazrus {
  background: var(--dark-surface);
  border: var(--border-width) solid var(--dark-border);
  border-radius: var(--border-radius);
  padding: var(--spacing-lg);
  transition: all var(--transition-normal);
}

.card-lazrus:hover {
  border-color: var(--primary-cyan);
  box-shadow: var(--shadow-glow-cyan);
}

/* Modal improvements - Fix images dépassent modal (AC #10) */
.modal-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--spacing-md) auto;
  border-radius: var(--border-radius);
}

/* ====================================================================
   === PAGES - Styles Spécifiques aux Pages ===
   ==================================================================== */

/* ================================================
   CHALLENGES PAGE - Liste des défis
   ================================================ */

/* Catégories collapsibles - Mobile-first (375px) */
.category-section {
	margin-bottom: 1rem;
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	overflow: hidden;
}

.category-header-btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 12px 16px;
	background: var(--dark-surface);
	border: none;
	color: var(--primary-cyan);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	min-height: 44px;
	text-align: left;
	transition: background-color var(--transition-fast);
}

.category-header-btn:hover {
	background: #252525;
}

.category-header-btn:focus {
	outline: 3px solid var(--primary-cyan);
	outline-offset: -3px;
}

.category-header-btn .category-info {
	display: flex;
	align-items: center;
	gap: 8px;
}

.category-header-btn .category-count {
	background: var(--dark-border);
	color: var(--primary-cyan);
	padding: 2px 8px;
	border-radius: 12px;
	font-size: 14px;
	font-weight: normal;
}

.category-header-btn .chevron {
	transition: transform var(--transition-fast);
}

.category-header-btn[aria-expanded="true"] .chevron {
	transform: rotate(180deg);
}

.category-content {
	background: #131313;
	overflow: hidden;
	transition: max-height var(--transition-normal);
}

.category-content[data-collapsed="true"] {
	max-height: 0;
}

.category-challenges-list {
	padding: 8px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Challenge cards dans catégories */
.challenge-item {
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	padding: 12px;
	cursor: pointer;
	transition: border-color var(--transition-fast), background-color var(--transition-fast);
	min-height: 44px;
}

.challenge-item:hover {
	border-color: var(--primary-cyan);
	background: #252525;
}

.challenge-item:focus {
	outline: 3px solid var(--primary-cyan);
	outline-offset: 2px;
}

.challenge-item.solved {
	border-left: 4px solid var(--success);
}

.challenge-item-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4px;
}

.challenge-item-name {
	color: var(--text-primary);
	font-weight: 500;
	font-size: 15px;
}

.challenge-item-points {
	color: var(--primary-cyan);
	font-weight: 600;
	font-size: 14px;
}

.challenge-item-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 4px;
}

.challenge-item-tag {
	background: var(--dark-border);
	color: var(--text-secondary);
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 12px;
}

/* Responsive : écrans plus larges */
@media (min-width: 768px) {
	.category-challenges-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		padding: 12px;
	}
}

@media (min-width: 1024px) {
	.category-challenges-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Spinner */
.spinner-container {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
}

.spinner {
	width: 40px;
	height: 40px;
	border: 3px solid var(--dark-border);
	border-top-color: var(--primary-cyan);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Contrôles de recherche */
.challenges-controls {
	margin-bottom: 1.5rem;
}

.search-bar {
	position: relative;
	margin-bottom: 1rem;
}

.search-icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #666;
}

.search-input {
	width: 100%;
	padding: 12px 12px 12px 40px;
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	color: var(--text-primary);
	font-size: 16px;
	min-height: 44px;
}

.search-input:focus {
	outline: none;
	border-color: var(--primary-cyan);
}

.search-input::placeholder {
	color: #666;
}

/* Message vide */
.no-challenges-msg {
	text-align: center;
	padding: 2rem;
	color: #666;
}

/* Story 2.2: Statuts visuels défis */
.status-icon {
	font-size: 14px;
	margin-right: 6px;
	flex-shrink: 0;
}

.status-icon.resolved {
	color: var(--success);
}

.status-icon.available {
	color: var(--text-primary);
}

.status-icon.locked {
	color: var(--text-secondary);
}

/* Défis bloqués - disabled state */
.challenge-item.locked {
	opacity: 0.6;
	cursor: not-allowed;
	border-color: #222;
	pointer-events: none;
}

.challenge-item.locked:hover {
	border-color: #222;
	background: var(--dark-surface);
}

.challenge-item.locked .challenge-item-name {
	color: var(--text-secondary);
}

.challenge-item.locked .challenge-item-points {
	color: #666;
}

/* Nom du défi avec icône */
.challenge-item-name-wrapper {
	display: flex;
	align-items: center;
}

/* ================================================
   CHALLENGE MODAL - Modal défi individuel
   ================================================ */

/* Modal container - Story 3.2: Modal mobile-first (bottom sheet mobile, centered desktop) */
#challenge-modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 1050;
	overflow: hidden;
	pointer-events: auto;
	margin: 0;
	padding: 0;
	background: transparent;
}

#modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.75);
	pointer-events: auto;
	z-index: 0;
}

/* Modal content - Mobile first (375px) - positioned at bottom */
#challenge-modal > .modal-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: auto;
	width: 100%;
	max-width: 100%;
	max-height: 90vh;
	background: var(--dark-surface);
	border-radius: 12px 12px 0 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	z-index: 1;
	border: 1px solid var(--dark-border);
	border-bottom: none;
	pointer-events: auto;
	overflow: visible;
}

/* Modal header compact */
#challenge-modal .modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 16px;
	border-bottom: 1px solid var(--dark-border);
	flex-shrink: 0;
}

#challenge-modal .modal-title {
	font-size: 18px;
	font-weight: 600;
	color: var(--text-primary);
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: calc(100% - 50px);
}

#challenge-modal .modal-close {
	background: none;
	border: none;
	color: var(--text-secondary);
	font-size: 20px;
	padding: 8px;
	min-width: 44px;
	min-height: 44px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--border-radius);
	transition: color var(--transition-fast), background-color var(--transition-fast);
}

#challenge-modal .modal-close:hover {
	color: var(--text-primary);
	background: var(--dark-border);
}

#challenge-modal .modal-close:focus {
	outline: 3px solid var(--primary-cyan);
	outline-offset: 2px;
}

/* Modal body scrollable */
#challenge-modal .modal-body {
	padding: 0;
	overflow-y: auto;
	flex: 1;
	-webkit-overflow-scrolling: touch;
}

/* Modal footer for form */
#challenge-modal .modal-footer {
	padding: 16px;
	border-top: 1px solid var(--dark-border);
	background: var(--dark-surface);
	flex-shrink: 0;
}

/* Tablet+ : centered modal */
@media (min-width: 768px) {
	#challenge-modal > .modal-content {
		position: absolute;
		top: 50%;
		left: 50%;
		bottom: auto;
		right: auto;
		transform: translate(-50%, -50%);
		max-width: 600px;
		max-height: 85vh;
		border-radius: var(--border-radius);
		border-bottom: 1px solid var(--dark-border);
		width: auto;
	}
}

/* Desktop : slightly larger */
@media (min-width: 1024px) {
	#challenge-modal > .modal-content {
		max-width: 700px;
	}
}

/* ================================================
   CHALLENGE TEMPLATE STYLES (inside modal)
   ================================================ */

/* Override Bootstrap modal-dialog styles */
#modal-body .modal-dialog {
	margin: 0;
	max-width: 100%;
}

#modal-body .modal-content {
	background: transparent;
	border: none;
	border-radius: 0;
}

#modal-body .modal-body {
	padding: 16px;
}

/* Close button in template - hide it (we use our own) */
#modal-body .close {
	display: none;
}

/* Tabs navigation */
#modal-body .nav-tabs {
	display: flex;
	border-bottom: 1px solid var(--dark-border);
	margin: 0 -16px;
	padding: 0 16px;
}

#modal-body .nav-tabs .nav-item {
	list-style: none;
}

#modal-body .nav-tabs .nav-link {
	color: var(--text-secondary);
	padding: 12px 16px;
	border: none;
	background: transparent;
	font-size: 14px;
	min-height: 44px;
	display: flex;
	align-items: center;
	transition: color var(--transition-fast);
}

#modal-body .nav-tabs .nav-link:hover {
	color: var(--text-primary);
}

/* Code Review Fix: Élimination !important via spécificité augmentée */
body #modal-body .modal-dialog .modal-content .nav-tabs .nav-link.active {
	color: var(--primary-cyan);
	border-bottom: 2px solid var(--primary-cyan);
}

#modal-body .nav-tabs .nav-link:focus {
	outline: 3px solid var(--primary-cyan);
	outline-offset: -3px;
}

/* Challenge name */
#modal-body .challenge-name {
	font-size: 20px;
	color: var(--text-primary);
	margin: 16px 0 8px;
	text-align: center;
	word-wrap: break-word;
}

/* Challenge value (points) */
#modal-body .challenge-value {
	font-size: 24px;
	color: var(--primary-cyan);
	font-weight: 700;
	text-align: center;
	margin: 0 0 12px;
}

/* Tags */
#modal-body .challenge-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: 16px;
}

#modal-body .challenge-tag {
	background: var(--dark-border);
	color: var(--text-primary);
	padding: 4px 10px;
	border-radius: var(--border-radius);
	font-size: 12px;
}

/* Description */
#modal-body .challenge-desc {
	display: block;
	color: #ccc;
	line-height: 1.6;
	margin-bottom: 16px;
}

#modal-body .challenge-desc p {
	margin-bottom: 12px;
}

#modal-body .challenge-desc code {
	background: #252525;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: 14px;
}

#modal-body .challenge-desc pre {
	background: #131313;
	padding: 12px;
	border-radius: var(--border-radius);
	overflow-x: auto;
	margin: 12px 0;
}

/* Connection info */
#modal-body .challenge-connection-info {
	display: block;
	margin-bottom: 16px;
}

#modal-body .challenge-connection-info code {
	background: #252525;
	padding: 8px 12px;
	border-radius: var(--border-radius);
	display: block;
	word-break: break-all;
}

/* Notification result */
#modal-body #result-notification {
	margin: 0 0 16px;
	padding: 12px;
	border-radius: var(--border-radius);
	text-align: center;
}

#modal-body .alert-success {
	background: rgba(0, 255, 136, 0.15);
	border: 1px solid var(--success);
	color: var(--success);
}

#modal-body .alert-error {
	background: rgba(255, 51, 102, 0.15);
	border: 1px solid var(--error);
	color: var(--error);
}

#modal-body .alert-info {
	background: rgba(77, 166, 255, 0.15);
	border: 1px solid #4da6ff;
	color: #4da6ff;
}

#modal-body .alert-warning {
	background: rgba(255, 208, 10, 0.15);
	border: 1px solid var(--warning);
	color: var(--warning);
}

/* Submit row - Mobile first: stacked */
#modal-body .submit-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 0;
	margin: 0;
}

#modal-body .submit-row .col-md-9,
#modal-body .submit-row .col-md-3 {
	width: 100%;
	padding: 0;
	flex: none;
}

#modal-body .challenge-input {
	width: 100%;
	min-height: 44px;
	padding: 12px 16px;
	background: #131313;
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	color: var(--text-primary);
	font-size: 16px;
}

#modal-body .challenge-input:focus {
	outline: none;
	border-color: var(--primary-cyan);
}

#modal-body .challenge-input::placeholder {
	color: #666;
}

#modal-body .challenge-input.correct {
	border-color: var(--success);
	background: rgba(0, 255, 136, 0.1);
}

#modal-body .challenge-input.wrong {
	border-color: var(--error);
}

#modal-body .challenge-submit {
	width: 100%;
	min-height: 44px;
	padding: 12px 24px;
	background: var(--primary-cyan);
	border: none;
	border-radius: var(--border-radius);
	color: var(--dark-bg);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--transition-fast), opacity var(--transition-fast);
}

#modal-body .challenge-submit:hover {
	background: #00d4e0;
}

#modal-body .challenge-submit:focus {
	outline: 3px solid var(--text-primary);
	outline-offset: 2px;
}

#modal-body .challenge-submit:disabled,
#modal-body .challenge-submit.disabled-button {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Bouton résolu - style succès vert */
#modal-body .challenge-submit.solved {
	background: var(--success);
	opacity: 1;
	cursor: default;
}

#modal-body .challenge-submit.solved:hover {
	background: var(--success);
}

/* Tablet+ : inline form */
@media (min-width: 768px) {
	#modal-body .submit-row {
		flex-direction: row;
		align-items: stretch;
	}

	#modal-body .submit-row .col-md-9 {
		flex: 1;
	}

	#modal-body .submit-row .col-md-3 {
		width: auto;
		flex: none;
	}

	#modal-body .challenge-submit {
		width: auto;
		min-width: 120px;
	}
}

/* Max attempts */
#modal-body .text-center p {
	color: var(--text-secondary);
	font-size: 14px;
	margin: 8px 0;
}

/* Solves tab table */
#modal-body #solves .table {
	width: 100%;
	border-collapse: collapse;
}

#modal-body #solves .table thead td {
	padding: 12px 8px;
	border-bottom: 1px solid var(--dark-border);
	color: var(--text-secondary);
	font-size: 14px;
}

#modal-body #solves .table tbody tr {
	border-bottom: 1px solid #252525;
}

#modal-body #solves .table tbody td {
	padding: 12px 8px;
	color: var(--text-primary);
	font-size: 14px;
}

#modal-body #solves .table a {
	color: var(--primary-cyan);
	text-decoration: none;
}

#modal-body #solves .table a:hover {
	text-decoration: underline;
}

/* ================================================
   FILES DOWNLOAD - Mobile-First
   ================================================ */

#modal-body .challenge-files {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 16px 0;
	padding: 0;
}

#modal-body .challenge-files .row {
	display: contents;
}

#modal-body .file-button-wrapper {
	width: 100%;
	padding: 0;
}

#modal-body .btn-file {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	min-height: 44px;
	padding: 12px 16px;
	background: #252525;
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	color: var(--primary-cyan);
	text-decoration: none;
	font-size: 14px;
	transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

#modal-body .btn-file:hover {
	border-color: var(--primary-cyan);
	background: var(--dark-border);
	color: var(--primary-cyan);
}

#modal-body .btn-file:focus {
	outline: 3px solid var(--primary-cyan);
	outline-offset: 2px;
}

#modal-body .btn-file i {
	flex-shrink: 0;
	font-size: 16px;
}

#modal-body .btn-file small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Tablet+ : grid layout for files */
@media (min-width: 768px) {
	#modal-body .challenge-files {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
}

@media (min-width: 1024px) {
	#modal-body .challenge-files {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ================================================
   HINTS SECTION - Système d'indices refonte
   ================================================ */

.hints-container {
	margin: 16px 0;
}

.hints-section {
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: var(--border-radius);
	overflow: hidden;
}

.hints-header {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	background: #252525;
	border-bottom: 1px solid var(--dark-border);
}

/* Story 3.2: Header collapsible */
.hints-header-collapsible {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 12px 16px;
	background: #252525;
	border: none;
	border-bottom: 1px solid var(--dark-border);
	cursor: pointer;
	transition: background-color var(--transition-fast);
}

.hints-header-collapsible:hover {
	background: #2a2a2a;
}

.hints-header-collapsible:focus {
	outline: 2px solid var(--primary-cyan);
	outline-offset: -2px;
}

.hints-header-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.hints-chevron {
	color: var(--text-secondary);
	font-size: 12px;
	transition: transform var(--transition-fast);
}

.hints-chevron-open {
	transform: rotate(180deg);
}

/* Collapsed state - no border when closed */
.hints-header-collapsible[aria-expanded="false"] {
	border-bottom: none;
}

.hints-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--primary-cyan);
}

.hints-count {
	font-size: 12px;
	color: var(--text-secondary);
}

.hint-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.hint-item {
	border-bottom: 1px solid var(--dark-border);
}

.hint-item:last-child {
	border-bottom: none;
}

.hint-unlock-btn {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 12px 16px;
	background: transparent;
	border: none;
	color: var(--text-primary);
	font-size: 14px;
	cursor: pointer;
	transition: background-color var(--transition-fast);
	min-height: 44px;
	text-align: left;
}

.hint-unlock-btn:hover {
	background: rgba(77, 166, 255, 0.1);
}

.hint-unlock-btn:focus {
	outline: 3px solid #4da6ff;
	outline-offset: -3px;
}

.hint-unlock-btn .hint-icon {
	font-size: 16px;
	margin-right: 12px;
}

.hint-unlock-btn .hint-label {
	flex: 1;
	font-weight: 500;
}

.hint-unlock-btn .hint-cost {
	background: #4da6ff;
	color: #000;
	padding: 4px 10px;
	border-radius: 12px;
	font-size: 12px;
	font-weight: 600;
}

.hint-unlocked,
.hint-content-container {
	padding: 12px 16px;
	background: rgba(77, 166, 255, 0.05);
}

.hint-header-unlocked {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

.hint-header-unlocked .hint-icon {
	font-size: 16px;
	margin-right: 12px;
}

.hint-header-unlocked .hint-label {
	font-weight: 500;
	color: #4da6ff;
}

.hint-content-text {
	color: #ccc;
	font-size: 14px;
	line-height: 1.5;
	padding-left: 28px;
}

/* Animation de révélation du contenu */
@keyframes hint-expand {
	from {
		max-height: 0;
		opacity: 0;
		padding-top: 0;
		padding-bottom: 0;
	}
	to {
		max-height: 300px;
		opacity: 1;
		padding-top: 12px;
		padding-bottom: 12px;
	}
}

.hint-content-reveal {
	animation: hint-expand var(--transition-normal) ease-out forwards;
	overflow: hidden;
	will-change: max-height, opacity;
}

/* Code Review Fix: Classes pour icônes Font Awesome (au lieu de inline styles) */
.hint-icon.unlocked {
	color: var(--primary-cyan);
}

.hint-icon.locked {
	color: var(--text-secondary);
}

.hints-title i {
	color: var(--primary-cyan);
}

/* Modal de confirmation hints */
.hint-modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000;
	opacity: 0;
	transition: opacity var(--transition-fast);
}

.hint-modal-backdrop.active {
	opacity: 1;
}

.hint-modal {
	background: var(--dark-surface);
	border: 1px solid #4da6ff;
	border-radius: var(--border-radius);
	max-width: 400px;
	width: 90%;
	margin: 20px;
	transform: scale(0.9);
	transition: transform var(--transition-fast);
}

.hint-modal-backdrop.active .hint-modal {
	transform: scale(1);
}

.hint-modal-content {
	padding: 24px;
}

.hint-modal-title {
	font-size: 18px;
	font-weight: 600;
	color: #4da6ff;
	margin: 0 0 16px 0;
	text-align: center;
}

.hint-modal-message {
	font-size: 14px;
	color: #ccc;
	text-align: center;
	margin: 0 0 24px 0;
	line-height: 1.5;
}

.hint-modal-message strong {
	color: #4da6ff;
}

.hint-modal-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
}

.hint-modal-btn {
	padding: 10px 24px;
	border-radius: var(--border-radius);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	min-height: 44px;
	min-width: 100px;
	transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.hint-modal-cancel {
	background: transparent;
	border: 1px solid #666;
	color: #ccc;
}

.hint-modal-cancel:hover {
	border-color: #888;
	background: rgba(255, 255, 255, 0.05);
}

.hint-modal-cancel:focus {
	outline: 3px solid #666;
	outline-offset: 2px;
}

.hint-modal-confirm {
	background: #4da6ff;
	border: 1px solid #4da6ff;
	color: #000;
}

.hint-modal-confirm:hover {
	background: #6bb8ff;
	border-color: #6bb8ff;
}

.hint-modal-confirm:focus {
	outline: 3px solid #4da6ff;
	outline-offset: 2px;
}

/* ================================================
   VALIDATION ANIMATIONS - Story 2.4
   ================================================ */

/* Animation points flottants (+Xpts) */
@keyframes points-float {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(-40px);
		opacity: 0;
	}
}

.points-animation {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 24px;
	font-weight: bold;
	color: var(--success);
	text-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
	animation: points-float 1.5s ease-out forwards;
	pointer-events: none;
	will-change: transform, opacity;
	z-index: 1000;
}

/* Animation célébration (pulse) */
@keyframes celebrate-pulse {
	0%, 100% {
		transform: scale(1);
		box-shadow: 0 0 0 rgba(0, 255, 136, 0);
	}
	50% {
		transform: scale(1.02);
		box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
	}
}

.celebrate {
	animation: celebrate-pulse 0.4s ease-in-out 2;
}

/* Animation confettis (particules) */
@keyframes confetti-fall {
	0% {
		transform: translateY(-10px) rotate(0deg);
		opacity: 1;
	}
	100% {
		transform: translateY(100px) rotate(720deg);
		opacity: 0;
	}
}

.confetti-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: hidden;
	z-index: 999;
}

.confetti {
	position: absolute;
	width: 10px;
	height: 10px;
	animation: confetti-fall 1.5s ease-out forwards;
	will-change: transform, opacity;
}

.confetti:nth-child(1) { left: 10%; background: var(--success); animation-delay: 0s; }
.confetti:nth-child(2) { left: 20%; background: var(--primary-cyan); animation-delay: 0.1s; }
.confetti:nth-child(3) { left: 30%; background: var(--primary-magenta); animation-delay: 0.05s; }
.confetti:nth-child(4) { left: 40%; background: var(--success); animation-delay: 0.15s; }
.confetti:nth-child(5) { left: 50%; background: var(--primary-violet); animation-delay: 0.08s; }
.confetti:nth-child(6) { left: 60%; background: var(--primary-cyan); animation-delay: 0.12s; }
.confetti:nth-child(7) { left: 70%; background: var(--primary-magenta); animation-delay: 0.03s; }
.confetti:nth-child(8) { left: 80%; background: var(--success); animation-delay: 0.18s; }
.confetti:nth-child(9) { left: 90%; background: var(--primary-violet); animation-delay: 0.07s; }

/* Compteur progression subflags */
.subflag-progress {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	background: var(--dark-surface);
	border: 1px solid var(--dark-border);
	border-radius: 16px;
	color: var(--success);
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 12px;
}

.subflag-progress-bar {
	width: 60px;
	height: 6px;
	background: var(--dark-border);
	border-radius: 3px;
	overflow: hidden;
}

.subflag-progress-fill {
	height: 100%;
	background: var(--success);
	transition: width var(--transition-normal);
}

/* ====================================================================
   === UTILITIES - Classes Utilitaires Custom ===
   ==================================================================== */

/* Glow effects */
.glow-cyan {
  box-shadow: var(--shadow-glow-cyan);
}

.glow-magenta {
  box-shadow: var(--shadow-glow-magenta);
}

.glow-violet {
  box-shadow: var(--shadow-glow-violet);
}

/* Text utilities */
.text-cyan { color: var(--primary-cyan); }
.text-magenta { color: var(--primary-magenta); }
.text-violet { color: var(--primary-violet); }
.text-success { color: var(--success); }
.text-error { color: var(--error); }
.text-warning { color: var(--warning); }

/* Background utilities */
.bg-dark-surface { background-color: var(--dark-surface); }
.bg-dark-bg { background-color: var(--dark-bg); }

/* Glassmorphism (utiliser avec parcimonie - performance mobile) */
.glass {
  background: rgba(26, 31, 46, 0.7);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Animations */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 10px rgba(0, 240, 255, 0.2); }
  50% { box-shadow: 0 0 25px rgba(0, 240, 255, 0.4); }
}

@keyframes float-up {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-80px);
  }
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
  20%, 40%, 60%, 80% { transform: translateX(5px); }
}

@keyframes slide-in {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Animation classes */
.pulse-glow {
  animation: pulse-glow 2s ease-in-out infinite;
}

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

.slide-in {
  animation: slide-in var(--transition-normal) ease-out;
}

/* ====================================================================
   === OVERRIDE HACKER THEME - Suppression traces vertes #b5e853 ===
   ==================================================================== */

/* Override hacker.css - tous les h1-h6 en cyan L4z-R-u$ */
header h1,
#main_content h1,
#main_content h2,
#main_content h3,
#main_content h4,
#main_content h5,
#main_content h6,
.jumbotron h1,
.jumbotron h2,
.jumbotron h3 {
  color: var(--primary-cyan);
  text-shadow: 0 0 10px rgba(0, 240, 255, 0.3), 0 0 20px rgba(0, 240, 255, 0.1);
}

/* Override border-bottom vert hacker */
header {
  border-bottom-color: var(--primary-cyan);
}

hr {
  border-bottom-color: var(--dark-border);
  color: var(--dark-border);
}

pre {
  color: var(--primary-cyan);
  background: var(--dark-surface);
  border-color: var(--dark-border);
}

/* ====================================================================
   === PAGE ÉQUIPE - Trophées Compacts ===
   ==================================================================== */

/* Section Trophées refaite - tableau compact déroulant */
.awards-section {
  margin: 24px 0;
}

.awards-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: var(--dark-surface);
  border: 1px solid var(--dark-border);
  border-radius: var(--border-radius) var(--border-radius) 0 0;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.awards-header:hover {
  background: #252525;
}

.awards-header h3 {
  margin: 0;
  font-size: 16px;
  color: var(--primary-cyan);
}

.awards-header .awards-count {
  background: var(--primary-cyan);
  color: var(--dark-bg);
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.awards-table-container {
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--dark-border);
  border-top: none;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.awards-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.awards-table thead {
  background: var(--dark-surface);
  position: sticky;
  top: 0;
}

.awards-table th {
  padding: 10px 12px;
  text-align: left;
  color: var(--text-secondary);
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--dark-border);
}

.awards-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

.awards-table tr:last-child td {
  border-bottom: none;
}

.awards-table tr:hover {
  background: rgba(0, 240, 255, 0.03);
}

.award-icon-cell {
  width: 40px;
}

.award-icon-cell i {
  color: var(--primary-cyan);
  font-size: 18px;
}

.award-name {
  font-weight: 500;
  color: var(--text-primary);
}

.award-category {
  color: var(--text-secondary);
  font-size: 12px;
}

.award-value {
  color: var(--primary-cyan);
  font-weight: 600;
  text-align: right;
}

/* Style legacy trophées (fallback) */
.col-md-3.col-sm-6 p.text-center {
  color: var(--text-primary);
}

.col-md-3.col-sm-6 .award-icon {
  color: var(--primary-cyan);
}

.col-md-3.col-sm-6 strong {
  color: var(--primary-cyan);
}

/* Story 3.2: Bouton toggle trophées L4z-R-u$ avec Alpine.js */
.awards-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px 18px;
  background: rgba(26, 31, 46, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--text-primary);
}

.awards-toggle:hover {
  background: rgba(26, 31, 46, 0.9);
  border-color: var(--primary-cyan);
  box-shadow: 0 0 15px rgba(0, 240, 255, 0.15);
}

.awards-toggle-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.awards-toggle .awards-icon {
  color: var(--primary-cyan);
  font-size: 18px;
}

.awards-toggle .awards-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--primary-cyan);
}

.awards-toggle .awards-count {
  background: var(--primary-magenta);
  color: var(--dark-bg);
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
}

.awards-toggle .awards-chevron {
  color: var(--text-secondary);
  font-size: 14px;
  transition: transform 0.3s ease;
}

.awards-toggle .awards-chevron.rotated {
  transform: rotate(180deg);
}

/* Table wrapper avec max-height pour scroll */
.awards-table-wrapper {
  margin-top: 8px;
  max-height: 300px;
  overflow-y: auto;
  background: rgba(26, 31, 46, 0.5);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Scrollbar L4z-R-u$ */
.awards-table-wrapper::-webkit-scrollbar {
  width: 6px;
}

.awards-table-wrapper::-webkit-scrollbar-track {
  background: var(--dark-surface);
  border-radius: 3px;
}

.awards-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--primary-cyan);
  border-radius: 3px;
}

.awards-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--primary-magenta);
}

/* Amélioration du style de la table trophées */
.awards-table .award-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.awards-table .award-cell .award-icon {
  color: var(--primary-cyan);
  font-size: 16px;
}

.awards-table .award-desc {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 4px;
  padding-left: 26px;
}

/* ====================================================================
   === HEADER LOGO CHALLENGES PAGE ===
   ==================================================================== */

.challenges-header-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 24px;
  margin-bottom: 16px;
}

.challenges-header-logo svg {
  height: 48px;
  width: auto;
}

/* Colorer le SVG en magenta L4z-R-u$ */
.challenges-header-logo svg .cls-1,
.challenges-header-logo svg path,
.challenges-header-logo svg rect,
.challenges-header-logo svg polygon {
  fill: var(--primary-magenta);
  transition: all var(--transition-normal);
}

/* Animation glow pulse sur le logo */
.challenges-header-logo svg {
  filter: drop-shadow(0 0 8px rgba(255, 0, 110, 0.4));
  animation: logo-glow 3s ease-in-out infinite;
}

@keyframes logo-glow {
  0%, 100% {
    filter: drop-shadow(0 0 8px rgba(255, 0, 110, 0.4));
  }
  50% {
    filter: drop-shadow(0 0 15px rgba(255, 0, 110, 0.6)) drop-shadow(0 0 30px rgba(255, 0, 110, 0.3));
  }
}

/* Hover effect */
.challenges-header-logo:hover svg {
  transform: scale(1.02);
}

.challenges-header-logo:hover svg .cls-1,
.challenges-header-logo:hover svg path,
.challenges-header-logo:hover svg rect,
.challenges-header-logo:hover svg polygon {
  fill: var(--primary-cyan);
}

/* ====================================================================
   === BOUTONS L4z-R-u$ - Refonte globale ===
   ==================================================================== */

/* Bouton primaire L4z-R-u$ - Glassmorphism + Glow */
.btn-primary,
.btn-outlined,
.btn-primary.btn-outlined {
  background: transparent;
  border: 2px solid var(--primary-cyan);
  color: var(--primary-cyan);
  padding: 12px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all var(--transition-normal);
  box-shadow: 0 0 15px rgba(0, 240, 255, 0.2), inset 0 0 0 rgba(0, 240, 255, 0);
  position: relative;
  overflow: hidden;
}

.btn-primary:hover,
.btn-outlined:hover,
.btn-primary.btn-outlined:hover {
  background: rgba(0, 240, 255, 0.1);
  border-color: var(--primary-cyan);
  color: var(--text-primary);
  box-shadow: 0 0 25px rgba(0, 240, 255, 0.4), inset 0 0 20px rgba(0, 240, 255, 0.1);
  transform: translateY(-2px);
}

.btn-primary:active,
.btn-primary.btn-outlined:active {
  transform: translateY(0);
}

/* Bouton secondaire/outline */
.btn-secondary,
.btn-outline-secondary {
  background: transparent;
  border: 1px solid var(--dark-border);
  color: var(--text-secondary);
  padding: 10px 20px;
  border-radius: 8px;
  transition: all var(--transition-fast);
}

.btn-secondary:hover,
.btn-outline-secondary:hover {
  border-color: var(--primary-cyan);
  color: var(--primary-cyan);
  background: rgba(0, 240, 255, 0.05);
}

/* Boutons onboarding spécifiques */
.onboarding-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 320px;
  margin: 8px auto;
  padding: 16px 24px;
  background: var(--dark-surface);
  border: 2px solid var(--dark-border);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--transition-normal);
  cursor: pointer;
}

.onboarding-btn:hover {
  border-color: var(--primary-cyan);
  background: rgba(0, 240, 255, 0.05);
  box-shadow: 0 0 20px rgba(0, 240, 255, 0.2);
  transform: translateY(-2px);
  color: var(--primary-cyan);
  text-decoration: none;
}

.onboarding-btn i {
  font-size: 20px;
  color: var(--primary-cyan);
}

/* Bouton "Créer équipe" - accent magenta */
.onboarding-btn.btn-create {
  border-color: var(--primary-magenta);
}

.onboarding-btn.btn-create:hover {
  border-color: var(--primary-magenta);
  background: rgba(255, 0, 110, 0.08);
  box-shadow: 0 0 20px rgba(255, 0, 110, 0.3);
  color: var(--primary-magenta);
}

.onboarding-btn.btn-create i {
  color: var(--primary-magenta);
}

/* Bouton "Rejoindre équipe" - accent cyan */
.onboarding-btn.btn-join {
  border-color: var(--primary-cyan);
}

/* Lien reconnexion mis en valeur */
.reconnect-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 10px 20px;
  background: rgba(123, 44, 191, 0.1);
  border: 1px solid var(--primary-violet);
  border-radius: 8px;
  color: var(--primary-violet);
  font-size: 14px;
  text-decoration: none;
  transition: all var(--transition-fast);
}

.reconnect-link:hover {
  background: rgba(123, 44, 191, 0.2);
  border-color: var(--primary-violet);
  box-shadow: 0 0 15px rgba(123, 44, 191, 0.3);
  color: var(--text-primary);
  text-decoration: none;
}

/* Bouton retour */
.btn-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: transparent;
  border: 1px solid var(--dark-border);
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 14px;
  text-decoration: none;
  transition: all var(--transition-fast);
  margin-bottom: 16px;
}

.btn-back:hover {
  border-color: var(--text-secondary);
  color: var(--text-primary);
  text-decoration: none;
}

.btn-back i {
  font-size: 12px;
}

/* ====================================================================
   === MESSAGE CAPTURE D'ÉCRAN RECONNEXION ===
   ==================================================================== */

.screenshot-reminder {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  margin: 16px 0;
  background: rgba(255, 214, 10, 0.08);
  border: 1px solid rgba(255, 214, 10, 0.3);
  border-radius: 8px;
}

.screenshot-reminder i {
  color: var(--warning);
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}

.screenshot-reminder-text {
  font-size: 14px;
  color: var(--text-secondary);
  line-height: 1.5;
}

.screenshot-reminder-text strong {
  color: var(--warning);
}

/* Message sur page reconnexion */
.forgot-agent-hint {
  text-align: center;
  margin-top: 16px;
  padding: 12px;
  background: rgba(0, 240, 255, 0.05);
  border-radius: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

.forgot-agent-hint i {
  color: var(--primary-cyan);
  margin-right: 6px;
}

/* ====================================================================
   === ONBOARDING SUCCESS PAGE ===
   ==================================================================== */

.success-container {
	min-height: calc(100vh - 200px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.success-content {
	max-width: 600px;
	width: 100%;
	text-align: center;
}

.success-title {
	font-size: 2rem;
	margin-bottom: 1rem;
	font-weight: bold;
	color: var(--success);
}

.success-icon {
	font-size: 4rem;
	margin-bottom: 1rem;
	color: var(--success);
}

.success-icon i {
	font-size: 4rem;
}

.agent-box {
	background: var(--dark-surface);
	border: 2px solid var(--success);
	border-radius: 8px;
	padding: 24px;
	margin: 2rem 0;
}

.agent-label {
	font-size: 1rem;
	margin-bottom: 0.5rem;
	color: var(--success);
	font-weight: 500;
}

.agent-name {
	font-size: 2rem;
	font-weight: bold;
	color: var(--text-primary);
	margin: 0.5rem 0;
}

.instructions {
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 1.5rem 0;
	color: var(--text-primary);
}

.team-info {
	background: var(--dark-surface);
	color: var(--text-primary);
	padding: 16px;
	border-radius: 8px;
	margin: 1rem 0;
	border: 1px solid var(--dark-border);
	text-align: left;
}

.team-info-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid var(--dark-border);
}

.team-info-row:last-child {
	border-bottom: none;
}

.team-info-label {
	color: var(--text-secondary);
	font-size: 0.9rem;
}

.team-info-value {
	color: var(--primary-cyan);
	font-weight: 600;
}

.invite-box {
	background: linear-gradient(135deg, rgba(0, 240, 255, 0.15) 0%, rgba(0, 255, 135, 0.1) 100%);
	border: 1px solid var(--success);
	border-radius: 8px;
	padding: 16px;
	margin: 1.5rem 0;
	text-align: center;
}

.invite-box p {
	color: var(--text-primary);
	margin: 0;
	font-size: 0.95rem;
}

.invite-box .highlight {
	color: var(--success);
	font-weight: 700;
}

.tip-box {
	background: linear-gradient(135deg, rgba(0, 240, 255, 0.1) 0%, rgba(123, 44, 191, 0.1) 100%);
	border: 1px solid var(--primary-cyan);
	border-radius: 8px;
	padding: 12px 16px;
	margin: 1rem 0;
	text-align: center;
}

.tip-box p {
	color: var(--text-primary);
	margin: 0;
	font-size: 0.9rem;
}

.tip-box i {
	color: var(--primary-cyan);
	margin-right: 8px;
}

.btn-continue {
	display: inline-block;
	padding: 14px 32px;
	font-size: 1.125rem;
	font-weight: bold;
	text-decoration: none;
	border-radius: 4px;
	transition: all 0.3s ease;
	margin-top: 2rem;
}

.btn-continue:focus {
	outline: 3px solid #0066cc;
	outline-offset: 2px;
}

/* Responsive pour petits écrans */
@media (max-width: 375px) {
	.success-title {
		font-size: 1.75rem;
	}

	.agent-name {
		font-size: 1.5rem;
	}

	.instructions {
		font-size: 1rem;
	}
