/* Eureka SCORM Manager - lecteur (design Shark) */
.escorm-player {
	--escorm-height: 720px;
	--escorm-navy: #0b1220;
	--escorm-steel: #18223a;
	--escorm-accent: #9066ff;
	--escorm-accent-2: #5ad0ff;
	--escorm-radius: 18px;
	margin: 16px 0 28px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	border-radius: var(--escorm-radius);
	background: var(--escorm-navy);
	box-shadow: 0 20px 50px rgba(11, 18, 32, .22), 0 0 0 1px rgba(255, 255, 255, .04) inset;
	overflow: hidden;
	color: #e9edf7;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.escorm-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 18px;
	background: linear-gradient(90deg, rgba(144, 102, 255, .18), rgba(90, 208, 255, .06) 60%, transparent);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	font-size: 14px;
}
.escorm-title { font-weight: 600; display: inline-flex; align-items: center; gap: 10px; letter-spacing: .01em; }
.escorm-title small { font-weight: 500; opacity: .55; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.escorm-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--escorm-accent-2); box-shadow: 0 0 0 4px rgba(90, 208, 255, .18); }
.escorm-player.is-completed .escorm-dot { background: #3ddc84; box-shadow: 0 0 0 4px rgba(61, 220, 132, .2); }
.escorm-btn {
	appearance: none;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .06);
	color: #fff;
	border-radius: 10px;
	padding: 7px 14px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background .15s, border-color .15s, transform .1s;
}
.escorm-btn:hover { background: rgba(255, 255, 255, .12); border-color: var(--escorm-accent-2); }
.escorm-btn:active { transform: scale(.98); }
.escorm-frame-wrap { position: relative; background: #fff; border-radius: var(--escorm-radius) var(--escorm-radius) 0 0; overflow: hidden; }
.escorm-toolbar + .escorm-frame-wrap { border-radius: 0; }
.escorm-frame { display: block; width: 100%; height: var(--escorm-height); border: 0; background: #fff; }
.escorm-frame-wrap.is-fullscreen { width: 100vw; height: 100vh; }
.escorm-frame-wrap.is-fullscreen .escorm-frame { height: 100vh; }
.escorm-loader {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	background: var(--escorm-steel); color: #c9d2ea; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; z-index: 1;
}
.escorm-loader[hidden] { display: none; }
.escorm-error { position: absolute; inset: 0; z-index: 2; padding: 28px; background: #fff6f6; color: #7a1f1f; font-size: 14px; line-height: 1.6; overflow: auto; }
.escorm-error[hidden] { display: none; }
.escorm-error code { display: inline-block; margin: 6px 0; padding: 4px 8px; background: #fff; border: 1px solid #f3c2c2; border-radius: 6px; font-size: 12px; word-break: break-all; }
.escorm-error a { color: #9066ff; font-weight: 600; }
.escorm-actions { display: inline-flex; gap: 6px; }
.escorm-loader span { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .12); border-top-color: var(--escorm-accent); animation: escorm-spin .8s linear infinite; }
@keyframes escorm-spin { to { transform: rotate(360deg); } }
.escorm-summary {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 12px 18px;
	border-top: 1px solid rgba(255, 255, 255, .06); background: rgba(255, 255, 255, .02);
}
.escorm-summary .escorm-actions { margin-left: auto; }
.escorm-chip {
	display: inline-flex; flex-direction: column; min-width: 110px; padding: 8px 12px; border-radius: 12px;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .06);
}
.escorm-chip strong { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; opacity: .55; font-weight: 600; }
.escorm-chip em { font-style: normal; font-weight: 700; font-size: 15px; margin-top: 2px; }
.escorm-player.is-completed .escorm-chip[data-field="status"] em { color: #3ddc84; }
.escorm-notice {
	padding: 14px 16px; border-radius: 12px; background: #fff6e5; border: 1px solid #ffd79a; margin-bottom: 20px; color: #5f3d00;
}
@media (max-width: 782px) {
	.escorm-frame { height: min(var(--escorm-height), 75vh); }
	.escorm-toolbar { font-size: 13px; padding: 10px 14px; }
	.escorm-chip { min-width: calc(50% - 10px); }
}

/* cmi5 */
.escorm-ownwindow, .escorm-returned {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 320px; padding: 30px;
	background: var(--escorm-steel); color: #e9edf7; text-align: center;
}
.escorm-returned { position: absolute; inset: 0; z-index: 3; }
.escorm-returned[hidden] { display: none; }
.escorm-returned strong { font-size: 18px; }
.escorm-ownwindow p { margin: 0; opacity: .85; }
.escorm-btn-open, .escorm-btn-restart { background: linear-gradient(135deg, var(--escorm-accent), #6d4de6); border-color: transparent; padding: 10px 22px; font-weight: 600; }
