.msjack-stream-game {
	background: #101114;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 6px;
	color: #f5f7fb;
	font-family: Arial, sans-serif;
	padding: 16px;
	--msjack-inventory-header-column-height: calc(var(--msjack-avatar-preview-size, 300px) + 92px);
}

.msjack-stream-game__header {
	align-items: stretch;
	display: grid;
	gap: 16px;
	grid-template-columns: auto minmax(0, 1fr) minmax(180px, auto);
	margin-bottom: 16px;
	min-height: var(--msjack-inventory-header-column-height);
	overflow: visible;
}

.msjack-stream-game__avatar-column,
.msjack-stream-game__training-column,
.msjack-stream-game__identity-column {
	display: grid;
	gap: 10px;
}

.msjack-stream-game__avatar-column {
	align-content: start;
	justify-items: center;
}

.msjack-stream-game__identity-column {
	align-content: start;
	justify-items: stretch;
}

.msjack-stream-game__training-column {
	align-self: start;
	height: 100%;
	max-height: var(--msjack-inventory-header-column-height);
	min-height: 0;
	overflow: hidden;
}

.msjack-stream-game__header h2 {
	color: inherit;
	margin: 0 0 4px;
}

.msjack-stream-game__damage {
	background: #222733;
	border-radius: 6px;
	padding: 10px 14px;
	text-align: left;
}

.msjack-stream-game__damage span,
.msjack-stream-game small {
	color: #b8c0cc;
	display: block;
}

.msjack-stream-game-rolls {
	color: #f6c453;
	margin: 2px 0 6px;
}

.msjack-stream-game-item__stats {
	display: grid;
	gap: 2px;
	margin: 6px 0;
}

.msjack-stream-game-item__stats div {
	align-items: center;
	display: flex;
	justify-content: space-between;
	line-height: 1.15;
}

.msjack-stream-game-item__stats dt,
.msjack-stream-game-item__stats dd {
	margin: 0;
}

.msjack-stream-game-item__stats dt {
	color: #b8c0cc;
	font-size: 0.78rem;
}

.msjack-stream-game-item__stats dd {
	color: #f5f7fb;
	font-size: 0.78rem;
	font-weight: 700;
}

.msjack-stream-game__damage strong {
	display: block;
	font-size: 1.45rem;
}

.msjack-stream-game-avatar-preview {
	background: #191d25;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	flex: 0 0 var(--msjack-avatar-preview-size, 300px);
	height: var(--msjack-avatar-preview-size, 300px);
	overflow: hidden;
	position: relative;
	width: var(--msjack-avatar-preview-size, 300px);
}

.msjack-stream-game-avatar-preview__base {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.msjack-stream-game-avatar-preview__overlay {
	height: auto;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transform-origin: center;
	width: auto;
}

.msjack-stream-game-customize-button {
	margin: 0;
	width: 100%;
}

.msjack-stream-game-character-customizer {
	align-items: center;
	background: rgba(0, 0, 0, 0.72);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 18px;
	position: fixed;
	z-index: 99999;
}

.msjack-stream-game-character-customizer[hidden] {
	display: none;
}

.msjack-stream-game-character-customizer__panel {
	background: #141820;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	box-shadow: 0 18px 70px rgba(0, 0, 0, 0.45);
	color: #f5f7fb;
	display: grid;
	gap: 10px;
	max-width: min(860px, calc(100vw - 36px));
	padding: 18px;
	width: min(860px, 100%);
}

.msjack-stream-game-character-customizer__panel .msjack-stream-game-avatar-preview {
	justify-self: center;
}

.msjack-stream-game-character-customizer label {
	display: grid;
	font-size: 0.82rem;
	gap: 4px;
}

.msjack-stream-game-character-customizer label[hidden] {
	display: none !important;
}

.msjack-stream-game-character-customizer select {
	max-width: 100%;
	width: 100%;
}

.msjack-stream-game-character-customizer__status {
	color: #ffd166;
	display: block;
	font-size: 0.78rem;
	line-height: 1.25;
	min-height: 1em;
	overflow-wrap: anywhere;
}

.msjack-stream-game__layout {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(240px, 0.85fr) minmax(260px, 1.15fr);
}

.msjack-stream-game__layout > section:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.msjack-stream-game__layout > section:nth-child(2) {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.msjack-stream-game__layout > section:nth-child(3) {
	grid-column: 1;
	grid-row: 2;
}

.msjack-stream-game h3 {
	color: inherit;
	margin: 0 0 10px;
}

.msjack-stream-game-training {
	box-sizing: border-box;
	background: var(--msjack-training-panel-bg, rgba(13, 16, 24, 0.86));
	border: 1px solid var(--msjack-training-panel-border, rgba(255, 255, 255, 0.16));
	border-radius: 6px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(220px, 0.8fr) minmax(260px, 1.2fr);
	height: 100%;
	margin: 0;
	max-height: inherit;
	min-height: 0;
	overflow: hidden;
	padding: 10px;
	position: relative;
}

.msjack-stream-game-training__main {
	display: grid;
	gap: 8px;
	grid-template-rows: auto minmax(86px, 1fr) auto auto auto;
	min-height: 0;
	position: relative;
}

.msjack-stream-game-training__heading {
	align-items: center;
	display: grid;
	gap: 10px;
	grid-template-columns: auto minmax(120px, 1fr);
}

.msjack-stream-game-training__heading h3 {
	margin: 0;
}

.msjack-stream-game-training label {
	display: grid;
	gap: 5px;
}

.msjack-stream-game-training select {
	max-width: 100%;
	width: 100%;
}

.msjack-stream-game-training__hint {
	background: var(--msjack-training-hint-bg, rgba(20, 22, 30, 0.92));
	border-radius: 5px;
	color: var(--msjack-training-hint-color, #fff);
	font-size: 0.75rem;
	line-height: 1.25;
	margin: 8px 0 0;
	padding: 7px 8px;
}

.msjack-stream-game-training__action {
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	display: flex;
	height: 100%;
	justify-content: center;
	min-height: 86px;
	overflow: hidden;
	width: 100%;
}

.msjack-stream-game-training__action[hidden] {
	display: none;
}

.msjack-stream-game-training__action img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.msjack-stream-game-training-progress {
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	display: grid;
	gap: 6px;
	margin-top: 8px;
	padding: 8px;
}

.msjack-stream-game-training.is-training .msjack-stream-game-training-progress {
	border-color: rgba(255, 209, 102, 0.5);
	box-shadow: 0 0 18px rgba(255, 209, 102, 0.18);
}

.msjack-stream-game-training-progress__meta {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1.1;
}

.msjack-stream-game-training-progress__meta strong {
	color: #fff;
	font-size: 0.76rem;
}

.msjack-stream-game-training.is-training .msjack-stream-game-training-progress__meta strong {
	color: var(--msjack-training-xp-color, #ffd166);
}

.msjack-stream-game-training-progress__meta span {
	color: #b8c0cc;
	font-size: 0.72rem;
	text-align: right;
}

.msjack-stream-game-training-progress__track {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
	position: relative;
}

.msjack-stream-game-training-progress__track span {
	background: linear-gradient(90deg, #e7b84b, #ffd166, #fff1a8);
	border-radius: inherit;
	box-shadow: 0 0 12px rgba(255, 209, 102, 0.7);
	display: block;
	height: 100%;
	width: 0%;
}

.msjack-stream-game-training__status {
	color: #b8c0cc;
	display: block;
	font-size: 0.72rem;
	min-height: 1em;
}

.msjack-stream-game-event-log {
	height: 100%;
	max-height: 100%;
	min-height: 0;
	overflow: auto;
}

.msjack-stream-game-event-log ul {
	display: grid;
	gap: 5px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.msjack-stream-game-event-log li {
	align-items: baseline;
	display: grid;
	gap: 7px;
	grid-template-columns: auto minmax(0, 1fr);
}

.msjack-stream-game-event-log time {
	color: #8892a0;
	font-size: 0.68rem;
	white-space: nowrap;
}

.msjack-stream-game-event-log span {
	color: #d8dee8;
	font-size: 0.74rem;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.msjack-stream-game-training-xp-float {
	animation: msjack-training-xp-float 2.4s ease-out forwards;
	color: var(--msjack-training-xp-color, #ffd166);
	font-family: var(--msjack-training-xp-font, inherit);
	font-size: var(--msjack-training-xp-size, 18px);
	font-weight: 800;
	left: 50%;
	pointer-events: none;
	position: absolute;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
	top: 35%;
	transform: translate(-50%, 0);
	z-index: 5;
}

.msjack-stream-game__slots,
.msjack-stream-game__stats,
.msjack-stream-game__skills {
	display: grid;
	gap: 8px;
}

.msjack-stream-game__character-details {
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.msjack-stream-game__inventory {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(auto-fill, minmax(var(--msjack-game-image-size, 52px), var(--msjack-game-image-size, 52px)));
}

.msjack-stream-game__currency {
	align-items: center;
	background: #191d25;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1;
	margin: 0 0 8px;
	padding: 7px 8px;
}

.msjack-stream-game__currency-label {
	color: rgba(255, 255, 255, 0.72);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.msjack-stream-game__currency .msjack-point-currency {
	align-items: center;
	display: inline-flex;
	gap: 0.35em;
	white-space: nowrap;
}

.msjack-stream-game__currency .msjack-point-currency__icon {
	height: 1.15em;
	object-fit: contain;
	width: 1.15em;
}

.msjack-stream-game__slots {
	display: grid;
	gap: var(--msjack-equipment-slot-gap, 6px);
	grid-template-columns: repeat(5, var(--msjack-equipment-slot-size, var(--msjack-game-image-size, 52px)));
	grid-template-rows: repeat(7, var(--msjack-equipment-slot-size, var(--msjack-game-image-size, 52px)));
}

.msjack-stream-game__slots .msjack-stream-game-slot {
	grid-column: var(--msjack-slot-column, auto);
	grid-row: var(--msjack-slot-row, auto);
}

.msjack-stream-game__slots .msjack-stream-game-item__image {
	height: var(--msjack-equipment-slot-size, var(--msjack-game-image-size, 52px));
	width: var(--msjack-equipment-slot-size, var(--msjack-game-image-size, 52px));
}

.msjack-stream-game__stats > div,
.msjack-stream-game-skill {
	align-items: center;
	background: #191d25;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	line-height: 1.15;
	padding: 6px 8px;
}

.msjack-stream-game__stats > div {
	display: flex;
	justify-content: space-between;
}

.msjack-stream-game-attributes {
	display: grid;
	gap: 8px;
}

.msjack-stream-game-attributes h3 {
	margin-bottom: 0;
}

.msjack-stream-game-attributes__points,
.msjack-stream-game-attribute-row {
	align-items: center;
	display: grid;
	gap: 6px;
}

.msjack-stream-game-attributes__points {
	grid-template-columns: minmax(0, 1fr) auto;
	line-height: 1.1;
}

.msjack-stream-game-attributes__points span {
	color: #b8c0cc;
	font-size: 0.76rem;
}

.msjack-stream-game-attributes__points strong {
	color: #ffd166;
	font-size: 1rem;
}

.msjack-stream-game-attributes__rows {
	display: grid;
	gap: 5px;
}

.msjack-stream-game-attribute-row {
	background: #191d25;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	grid-template-columns: minmax(0, 1fr) 16px 32px 16px;
	line-height: 1.15;
	padding: 6px 8px;
}

.msjack-stream-game-attribute-row__name {
	align-items: center;
	display: flex;
	gap: 5px;
	min-width: 0;
}

.msjack-stream-game-attribute-row__name span {
	color: #b8c0cc;
	font-size: 0.78rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msjack-stream-game-attribute-row button,
.msjack-stream-game-attribute-row input {
	box-sizing: border-box;
	font-size: 0.82rem;
	font-weight: 700;
	line-height: 1;
	min-height: 0;
	text-align: center;
}

.msjack-stream-game-attribute-row__stepper {
	align-self: center;
	background: #f4bf4f;
	border: 0;
	border-radius: 3px;
	color: #111318;
	cursor: pointer;
	display: inline-flex;
	font-size: 0.95rem;
	height: 14px !important;
	justify-content: center;
	line-height: 0.7;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	width: 16px !important;
}

.msjack-stream-game-attribute-row__stepper:hover {
	background: #ffd166;
	color: #050608;
}

.msjack-stream-game-attribute-row input {
	background: rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 4px;
	color: inherit;
	height: 18px;
	padding: 0 2px;
	width: 32px;
}

.msjack-stream-game-attributes__apply {
	width: 100%;
}

.msjack-stream-game-attributes__status {
	color: #ffd166;
	font-size: 0.72rem;
	line-height: 1.2;
	min-height: 1em;
}

.msjack-stream-game-attributes.is-overspent .msjack-stream-game-attributes__points strong,
.msjack-stream-game-attributes.is-overspent .msjack-stream-game-attributes__status {
	color: #ff8a8a;
}

.msjack-stream-game-skill {
	display: grid;
	gap: 6px;
	position: relative;
}

.msjack-stream-game-skill.is-level-up {
	animation: msjack-skill-level-glow 1.5s ease-in-out infinite alternate;
	border-color: rgba(255, 211, 80, 0.95);
	box-shadow: 0 0 18px rgba(255, 198, 41, 0.95), inset 0 0 12px rgba(255, 216, 92, 0.22);
}

.msjack-stream-game-skill__button {
	align-items: center;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	font: inherit;
	justify-content: space-between;
	margin: 0;
	min-height: 0;
	padding: 0;
	text-align: left;
	width: 100%;
}

.msjack-stream-game-skill-milestones {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
}

.msjack-stream-game-skill-detail[hidden] {
	display: none;
}

.msjack-stream-game-skill-detail h4 {
	color: #fff;
	font-size: 1.05rem;
	margin: 0 0 3px;
	text-align: center;
}

.msjack-stream-game-skill-detail > small {
	color: #b8c0cc;
	margin: 0 0 10px;
	text-align: center;
}

.msjack-stream-game-skill-milestone {
	align-items: center;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 5px;
	display: grid;
	gap: 3px;
	justify-items: center;
	min-height: 74px;
	padding: 6px;
	text-align: center;
}

.msjack-stream-game-skill-milestone img,
.msjack-stream-game-skill-milestone > span {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 4px;
	display: block;
	height: 24px;
	object-fit: contain;
	width: 24px;
}

.msjack-stream-game-skill-milestone strong,
.msjack-stream-game-skill-milestone small {
	font-size: 0.68rem;
	line-height: 1.1;
}

.msjack-stream-game-skill-milestone__points {
	align-items: center;
	color: #ffd166;
	display: inline-flex;
	gap: 3px;
	justify-content: center;
}

.msjack-stream-game-skill-milestone__points img {
	border-radius: 3px;
	display: block;
	height: 14px;
	object-fit: contain;
	width: 14px;
}

.msjack-stream-game-skill-milestone.is-locked {
	filter: grayscale(1);
	opacity: 0.42;
}

.msjack-stream-game-skill-milestone.is-active {
	border-color: rgba(104, 220, 159, 0.5);
	box-shadow: inset 0 0 8px rgba(104, 220, 159, 0.12);
}

.msjack-stream-game__stats dt,
.msjack-stream-game__skills dt {
	align-items: center;
	display: flex;
	gap: 5px;
	min-width: 0;
}

.msjack-stream-game__skills dt span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msjack-stream-game__skills dd {
	flex: 0 0 auto;
	white-space: nowrap;
}

.msjack-stream-game-stat-icon,
.msjack-stream-game-skill-icon {
	border-radius: 3px;
	display: block;
	flex: 0 0 auto;
	height: 16px;
	object-fit: contain;
	width: 16px;
}

.msjack-stream-game-slot,
.msjack-stream-game-item {
	margin: 0;
}

.msjack-stream-game-item__image {
	background: var(--msjack-game-image-bg, #222733);
	background-image: var(--msjack-game-image-bg-art, none);
	background-position: center;
	background-size: cover;
	border: var(--msjack-game-image-border, 1px) solid var(--msjack-game-image-border-color, rgba(255, 255, 255, 0.14));
	border-radius: var(--msjack-game-image-radius, 6px);
	box-shadow:
		0 0 calc(var(--msjack-game-item-glow, 0) * 22px) rgba(251, 146, 60, calc(var(--msjack-game-item-glow, 0) * 0.95)),
		0 0 calc(var(--msjack-game-item-glow, 0) * 8px) rgba(245, 158, 11, calc(var(--msjack-game-item-glow, 0) * 0.9)),
		inset 0 0 calc(var(--msjack-game-item-glow, 0) * 14px) rgba(254, 240, 138, calc(var(--msjack-game-item-glow, 0) * 0.6));
	display: block;
	height: var(--msjack-game-image-size, 52px);
	line-height: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
	width: var(--msjack-game-image-size, 52px);
}

.msjack-stream-game-item__image[style*="--msjack-game-item-glow"] {
	border-color: rgba(245, 158, 11, calc(var(--msjack-game-item-glow, 0) * 0.9)) !important;
}

.msjack-stream-game-item__image img {
	display: block;
	height: 100%;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 1;
}

.msjack-stream-game-item__image::after {
	background-image: var(--msjack-game-image-frame, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.msjack-stream-game-item__image--empty {
	display: block;
}

.msjack-stream-game-icon-button {
	background: transparent;
	border: 0;
	cursor: pointer;
	display: block;
	min-height: 0;
	padding: 0;
}

.msjack-stream-game-icon-button .msjack-stream-game-item__image {
	display: block;
}

.msjack-stream-game-slot.is-empty .msjack-stream-game-icon-button {
	cursor: default;
}

.msjack-stream-game-overlay {
	align-items: center;
	background: rgba(0, 0, 0, 0.72);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 18px;
	position: fixed;
	z-index: 99999;
}

.msjack-stream-game-overlay__card {
	background: #141820;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: 0 18px 70px rgba(0, 0, 0, 0.45);
	color: #f5f7fb;
	max-height: calc(100vh - 36px);
	max-width: 460px;
	overflow: auto;
	padding: 18px;
	position: relative;
	width: min(460px, 100%);
}

.msjack-stream-game-overlay__card--report {
	max-width: 560px;
	width: min(560px, 100%);
}

.msjack-stream-game-overlay__close {
	align-items: center;
	background: rgba(0, 0, 0, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 18px;
	font-weight: 800;
	height: 28px;
	justify-content: center;
	line-height: 1;
	min-height: 0;
	padding: 0;
	position: absolute;
	right: 8px;
	top: 8px;
	width: 28px;
	z-index: 2;
}

.msjack-stream-game-overlay-item {
	text-align: center;
}

.msjack-stream-game-overlay-item .msjack-stream-game-item__image {
	height: 150px;
	margin: 0 auto 10px;
	width: 150px;
}

.msjack-stream-game-overlay-item h4 {
	color: #fff;
	font-size: 1.1rem;
	margin: 0 0 4px;
	text-align: center;
}

.msjack-stream-game-item__description {
	color: #b8c0cc;
	font-size: 0.82rem;
	line-height: 1.35;
	margin: 0 0 8px;
	text-align: left;
}

.msjack-stream-game-overlay-item .msjack-stream-game-item__stats {
	text-align: left;
}

.msjack-stream-game-item-compare {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	display: grid;
	gap: 8px;
	margin: 8px 0;
	padding: 8px;
	text-align: left;
}

.msjack-stream-game-item-compare > strong {
	font-size: 0.78rem;
}

.msjack-stream-game-item-compare__slot {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	display: grid;
	gap: 3px;
	padding-top: 7px;
}

.msjack-stream-game-item-compare__slot > span {
	color: #8f9aaa;
	font-size: 0.68rem;
}

.msjack-stream-game-item-compare__slot > b {
	color: #f5f7fb;
	font-size: 0.78rem;
}

.msjack-stream-game-item-compare__stats {
	display: grid;
	gap: 2px;
	margin: 4px 0 0;
}

.msjack-stream-game-item-compare__stats div {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1.15;
}

.msjack-stream-game-item-compare__stats dt,
.msjack-stream-game-item-compare__stats dd {
	font-size: 0.72rem;
	margin: 0;
}

.msjack-stream-game-item-compare__stats dt {
	color: #b8c0cc;
}

.msjack-stream-game-item-compare__stats dd {
	color: #f5f7fb;
	font-weight: 700;
	text-align: right;
}

.msjack-stream-game-item-compare__stats .is-positive dd {
	color: #68dc9f;
}

.msjack-stream-game-item-compare__stats .is-negative dd {
	color: #fb7185;
}

.msjack-stream-game-slot span,
.msjack-stream-game__stats dt span,
.msjack-stream-game__skills dt span {
	color: #b8c0cc;
	font-size: 0.78rem;
}

.msjack-stream-game-slot strong,
.msjack-stream-game-item strong,
.msjack-stream-game__stats dd,
.msjack-stream-game__skills dd {
	color: #fff;
	display: block;
	font-size: 0.82rem;
	margin: 0;
}

.msjack-stream-game button,
.msjack-stream-game select {
	border-radius: 4px;
	min-height: 32px;
}

.msjack-stream-game button {
	background: #e7b84b;
	border: 0;
	color: #141414;
	cursor: pointer;
	font-weight: 700;
	padding: 6px 10px;
}

.msjack-stream-game .msjack-stream-game-skill__button {
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-weight: inherit;
	min-height: 0;
	padding: 0;
}

.msjack-stream-game .msjack-stream-game-stat-button,
.msjack-stream-game .msjack-stream-game-mechanic-button {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: inherit;
	cursor: pointer;
	font-weight: inherit;
	margin: 0;
	min-height: 0;
	padding: 0;
	text-align: left;
}

.msjack-stream-game-stat-button,
.msjack-stream-game-mechanic-button {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	width: 100%;
}

.msjack-stream-game-stat-button:hover .msjack-stream-game-stat-button__label span,
.msjack-stream-game-stat-button:hover .msjack-stream-game-stat-button__value,
.msjack-stream-game-mechanic-button:hover .msjack-stream-game-mechanic-button__label span,
.msjack-stream-game-mechanic-button:hover .msjack-stream-game-mechanic-button__value {
	color: #ffd166;
}

.msjack-stream-game-stat-button__label,
.msjack-stream-game-mechanic-button__label {
	align-items: center;
	display: flex;
	gap: 5px;
	min-width: 0;
}

.msjack-stream-game-stat-button__label span,
.msjack-stream-game-mechanic-button__label span {
	color: #b8c0cc;
	font-size: 0.78rem;
}

.msjack-stream-game-stat-button__value,
.msjack-stream-game-mechanic-button__value {
	color: #fff;
	font-size: 0.82rem;
	font-weight: 700;
	margin: 0;
}

.msjack-stream-game-stat-detail[hidden],
.msjack-stream-game-mechanic-detail[hidden],
.msjack-stream-game-ability-detail[hidden] {
	display: none;
}

.msjack-stream-game-abilities-grid {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(auto-fill, minmax(var(--msjack-game-image-size, 52px), var(--msjack-game-image-size, 52px)));
}

.msjack-stream-game-ability-slot {
	margin: 0;
}

.msjack-stream-game-ability-slot .msjack-stream-game-icon-button {
	display: block;
}

.msjack-stream-game-ability-slot.is-equipped .msjack-stream-game-item__image {
	border-color: #38bdf8;
	box-shadow: 0 0 12px rgba(56, 189, 248, 0.6);
}

.msjack-stream-game-ability-slot .msjack-stream-game-item__image::after {
	background-image: var(--msjack-game-ability-frame, none);
}

.msjack-stream-game-ability-slot__fallback {
	align-items: center;
	color: #38bdf8;
	display: flex;
	font-size: 28px;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
	z-index: 1;
}

.msjack-stream-game-ability-overlay__meta {
	display: grid;
	gap: 3px;
	margin: 10px 0 0;
	text-align: left;
}

.msjack-stream-game-ability-overlay__meta div {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1.2;
}

.msjack-stream-game-ability-overlay__meta dt {
	color: #8f9aaa;
	font-size: 0.72rem;
}

.msjack-stream-game-ability-overlay__meta dd {
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	margin: 0;
	text-align: right;
}

.msjack-stream-game-ability-overlay__meta dd code {
	background: rgba(0, 0, 0, 0.45);
	border-radius: 4px;
	color: #ffd166;
	font-family: Consolas, Monaco, "Courier New", monospace;
	font-size: 0.72rem;
	padding: 2px 5px;
}

.msjack-stream-game .msjack-stream-game-icon-button {
	background: transparent;
	border: 0;
	min-height: 0;
	padding: 0;
}

.msjack-stream-game button.msjack-stream-game-button--unequip {
	background: #c2410c;
	color: #fff;
}

.msjack-stream-game-test-attack {
	align-items: center;
	display: flex;
	gap: 10px;
}

.msjack-stream-game-test-attack__button {
	background: #e7b84b;
	border: 0;
	border-radius: 4px;
	color: #141414;
	cursor: pointer;
	font-weight: 700;
	min-height: 32px;
	padding: 6px 10px;
}

.msjack-stream-game-test-attack__status {
	color: #b8c0cc;
	font-size: 0.9rem;
}

.msjack-stream-game-raid-simulator,
.msjack-stream-game-raid-join-test,
.msjack-stream-game-raid-reset-test {
	align-items: center;
	background: #151922;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	display: flex;
	gap: 10px;
	padding: 10px;
}

.msjack-stream-game-raid-simulator__button,
.msjack-stream-game-raid-join-test__button,
.msjack-stream-game-raid-reset-test__button {
	background: #6ee7b7;
	border: 0;
	border-radius: 4px;
	color: #102018;
	cursor: pointer;
	font-weight: 700;
	min-height: 32px;
	padding: 6px 10px;
}

.msjack-stream-game-raid-simulator__button:disabled,
.msjack-stream-game-raid-join-test__button:disabled,
.msjack-stream-game-raid-reset-test__button:disabled {
	cursor: progress;
	opacity: 0.7;
}

.msjack-stream-game-raid-simulator__status,
.msjack-stream-game-raid-join-test__status,
.msjack-stream-game-raid-reset-test__status {
	color: #d8dee9;
	font-size: 0.9rem;
}

.msjack-stream-game-raid-reset-test__button {
	background: #ff7a7a;
	color: #2a0f0f;
}

.msjack-stream-game select {
	margin-right: 6px;
	max-width: 140px;
}

.msjack-stream-game-overlay select {
	max-width: 100%;
	width: 100%;
}

.msjack-stream-game-overlay button {
	background: #e7b84b;
	border: 0;
	border-radius: 4px;
	color: #141414;
	cursor: pointer;
	font-weight: 700;
	margin-top: 8px;
	min-height: 32px;
	padding: 6px 10px;
	width: 100%;
}

.msjack-stream-game-overlay button.msjack-stream-game-overlay__close {
	background: rgba(0, 0, 0, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	color: #fff;
	font-size: 18px;
	height: 28px;
	line-height: 1;
	margin-top: 0;
	min-height: 0;
	padding: 0;
	width: 28px;
}

.msjack-stream-game-overlay button.msjack-stream-game-button--unequip {
	background: #c2410c;
	color: #fff;
}

.msjack-stream-game-overlay button.msjack-stream-game-button--sell {
	background: #7f1d1d;
	color: #fff;
}

.msjack-stream-game-source-overlay__total {
	color: #b8c0cc;
	font-size: 0.82rem;
	margin: 4px 0 10px;
}

.msjack-stream-game-source-overlay__total strong {
	color: #ffd166;
}

.msjack-stream-game-source-overlay__empty {
	color: #8f9aaa;
	font-size: 0.78rem;
	margin: 4px 0 10px;
}

.msjack-stream-game-source-block {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	display: grid;
	gap: 4px;
	margin: 8px 0;
	padding: 8px;
	text-align: left;
}

.msjack-stream-game-source-block h5 {
	color: #8f9aaa;
	font-size: 0.68rem;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.msjack-stream-game-source-row {
	align-items: center;
	display: flex;
	gap: 8px;
	line-height: 1.15;
}

.msjack-stream-game-source-row img,
.msjack-stream-game-source-row__icon {
	border-radius: 3px;
	flex: 0 0 auto;
	height: 18px;
	object-fit: contain;
	width: 18px;
}

.msjack-stream-game-source-row__icon {
	background: rgba(255, 255, 255, 0.08);
	display: inline-block;
}

.msjack-stream-game-source-row__name {
	color: #d8dee9;
	flex: 1;
	font-size: 0.78rem;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msjack-stream-game-source-row__amount {
	color: #fff;
	flex: 0 0 auto;
	font-size: 0.78rem;
	font-weight: 700;
	text-align: right;
}

.msjack-stream-game-source-row__amount small {
	color: #8f9aaa;
	font-weight: 400;
}

.msjack-stream-game-formula {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	margin: 8px 0;
	padding: 10px;
	text-align: left;
}

.msjack-stream-game-formula h5 {
	color: #8f9aaa;
	font-size: 0.68rem;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.msjack-stream-game-formula code {
	background: rgba(0, 0, 0, 0.45);
	border-radius: 4px;
	color: #ffd166;
	display: block;
	font-family: Consolas, Monaco, "Courier New", monospace;
	font-size: 0.78rem;
	line-height: 1.4;
	padding: 8px;
	white-space: pre-wrap;
	word-break: break-word;
}

.msjack-stream-game-formula__vars {
	display: grid;
	gap: 3px;
	margin: 8px 0 0;
}

.msjack-stream-game-formula__vars div {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1.2;
}

.msjack-stream-game-formula__vars dt {
	color: #8f9aaa;
	font-size: 0.72rem;
}

.msjack-stream-game-formula__vars dd {
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	margin: 0;
}

.msjack-stream-game-formula__result {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #b8c0cc;
	font-size: 0.78rem;
	margin: 8px 0 0;
	padding-top: 8px;
	text-align: right;
}

.msjack-stream-game-formula__result strong {
	color: #ffd166;
}

.msjack-stream-game-ability-overlay__icon {
	background: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	height: 64px;
	line-height: 0;
	margin: 0 auto 10px;
	overflow: hidden;
	width: 64px;
}

.msjack-stream-game-ability-overlay__icon img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.msjack-stream-game-ability-overlay__note {
	color: #38bdf8;
	font-size: 0.78rem;
	margin: 8px 0;
}

.msjack-stream-game-skill-xp-progress {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	margin: 10px 0;
	padding: 10px;
	text-align: left;
}

.msjack-stream-game-skill-xp-progress__max {
	color: #ffd166;
	font-size: 0.78rem;
	margin: 0;
	text-align: center;
}

.msjack-stream-game-skill-xp-progress__stats {
	display: grid;
	gap: 3px;
	margin: 0 0 8px;
}

.msjack-stream-game-skill-xp-progress__stats div {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	line-height: 1.2;
}

.msjack-stream-game-skill-xp-progress__stats dt {
	color: #8f9aaa;
	font-size: 0.72rem;
}

.msjack-stream-game-skill-xp-progress__stats dd {
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	margin: 0;
}

.msjack-stream-game-skill-xp-progress__track {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	height: 8px;
	overflow: hidden;
}

.msjack-stream-game-skill-xp-progress__track span {
	background: linear-gradient(90deg, #e7b84b, #ffd166);
	border-radius: 999px;
	display: block;
	height: 100%;
	transition: width 0.3s ease;
}

.msjack-stream-game-skill-xp-progress__pct {
	color: #8f9aaa;
	display: block;
	font-size: 0.68rem;
	margin-top: 5px;
	text-align: right;
}

.msjack-stream-game-item__price {
	color: #d5dbea;
	display: block;
	margin-top: 8px;
}

@keyframes msjack-training-xp-float {
	0% {
		opacity: 0;
		transform: translate(-50%, 12px) scale(0.92);
	}
	15% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -56px) scale(1.08);
	}
}

@keyframes msjack-skill-level-glow {
	from {
		box-shadow: 0 0 14px rgba(255, 198, 41, 0.65), inset 0 0 8px rgba(255, 216, 92, 0.16);
	}
	to {
		box-shadow: 0 0 28px rgba(255, 198, 41, 1), inset 0 0 18px rgba(255, 216, 92, 0.3);
	}
}

@media (max-width: 1180px) {
	.msjack-stream-game-event-log {
		height: auto;
		max-height: 240px;
		overflow-y: auto;
	}

	.msjack-stream-game__header,
	.msjack-stream-game__layout {
		display: grid;
		grid-template-columns: 1fr;
	}

	.msjack-stream-game__header,
	.msjack-stream-game__training-column,
	.msjack-stream-game-training {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.msjack-stream-game-training {
		grid-template-columns: 1fr;
	}

	.msjack-stream-game-event-log li {
		gap: 2px;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 800px) {
	.msjack-stream-game-event-log {
		max-height: 240px;
		overflow-y: auto;
	}

	.msjack-stream-game__header,
	.msjack-stream-game__layout {
		display: grid;
		grid-template-columns: 1fr;
	}

	.msjack-stream-game__header,
	.msjack-stream-game__training-column,
	.msjack-stream-game-training {
		height: auto;
		max-height: none;
		overflow: visible;
	}

	.msjack-stream-game-training {
		grid-template-columns: 1fr;
	}

	.msjack-stream-game__slots {
		--msjack-equipment-slot-gap: 0px;
		--msjack-equipment-slot-size: min(var(--msjack-game-image-size, 52px), calc((100vw - 32px) / 5));
	}

	.msjack-stream-game__layout > section:nth-child(1),
	.msjack-stream-game__layout > section:nth-child(2),
	.msjack-stream-game__layout > section:nth-child(3) {
		grid-column: 1;
		grid-row: auto;
	}

	.msjack-stream-game__damage {
		text-align: left;
	}

	.msjack-stream-game__character-details {
		grid-template-columns: 1fr;
	}
}

.msjack-world-boss {
	border: 0;
	box-shadow: none;
	font-family: Arial, sans-serif;
	outline: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 420ms ease;
}

.msjack-world-boss.is-visible {
	opacity: 1;
}

.msjack-world-boss__stage {
	background-color: var(--msjack-boss-stage-bg, transparent);
	border: 0;
	box-shadow: none;
	height: var(--msjack-boss-stage-height, 260px);
	outline: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.msjack-world-boss__stage::before {
	background-image: var(--msjack-boss-bg, none);
	background-position: var(--msjack-boss-bg-position, center);
	background-repeat: no-repeat;
	background-size: var(--msjack-boss-bg-size, cover);
	content: "";
	height: var(--msjack-boss-bg-height, 100%);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) scale(var(--msjack-boss-bg-zoom, 1));
	transform-origin: center;
	width: var(--msjack-boss-bg-width, 100%);
}

.msjack-world-boss__boss {
	background: var(--msjack-boss-panel-bg, rgba(12, 12, 16, 0.82));
	border: var(--msjack-boss-panel-border-width, 1px) solid var(--msjack-boss-panel-border-color, rgba(255, 255, 255, 0.18));
	border-radius: var(--msjack-boss-panel-border-radius, 8px);
	box-sizing: border-box;
	color: #fff;
	height: var(--msjack-boss-panel-height, auto);
	left: 50%;
	padding: 18px;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(var(--msjack-boss-panel-translate-x, 0), var(--msjack-boss-panel-translate-y, 0)) translate(-50%, -50%);
	width: var(--msjack-boss-panel-width, 360px);
	z-index: var(--msjack-boss-ui-z, 2);
}

.msjack-world-boss__art-frame {
	height: var(--msjack-boss-art-height, 112px);
	left: 50%;
	overflow: var(--msjack-boss-art-overflow, visible);
	position: absolute;
	top: 50%;
	transform: translate(var(--msjack-boss-art-translate-x, 0), var(--msjack-boss-art-translate-y, 0)) translate(-50%, -50%) scale(var(--msjack-boss-art-zoom, 1));
	transform-origin: center;
	width: var(--msjack-boss-art-size, 180px);
	z-index: 1;
}

.msjack-world-boss__art {
	display: block;
	height: 100%;
	object-fit: var(--msjack-boss-art-fit, contain);
	object-position: var(--msjack-boss-art-position, center);
	width: 100%;
}

.msjack-world-boss__name {
	font-size: 32px;
	font-weight: 800;
	position: relative;
	z-index: var(--msjack-boss-ui-z, 1);
}

.msjack-world-boss__name span,
.msjack-world-boss__hp {
	color: #d8dce6;
	font-size: 15px;
}

.msjack-world-boss__bar {
	background: rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	height: 22px;
	margin: 12px 0 8px;
	overflow: hidden;
	position: relative;
	z-index: var(--msjack-boss-ui-z, 1);
}

.msjack-world-boss__hp {
	position: relative;
	z-index: var(--msjack-boss-ui-z, 1);
}

.msjack-world-boss__bar span {
	background: linear-gradient(90deg, var(--msjack-boss-accent, #d92d20), #f6c453);
	display: block;
	height: 100%;
	transition: width 300ms ease;
}

.msjack-world-boss__attack-layer {
	inset: 0;
	position: absolute;
	z-index: var(--msjack-boss-attack-z, 2);
}

.msjack-world-boss-attack {
	align-items: center;
	animation: msjack-world-boss-attack var(--msjack-boss-attack-duration, 2800ms) ease forwards;
	display: flex;
	gap: 8px;
	left: -160px;
	position: absolute;
}

.msjack-world-boss-attack__profile,
.msjack-world-boss-attack > span:not(.msjack-world-boss-attack__avatar) {
	background: transparent;
	border: 0;
	border-radius: 0;
	height: calc(72px * var(--msjack-boss-character-scale, 1.6));
	object-fit: cover;
	width: calc(72px * var(--msjack-boss-character-scale, 1.6));
}

.msjack-world-boss-attack__avatar {
	background: transparent;
	border: 0;
	border-radius: 0;
	display: block;
	height: calc(72px * var(--msjack-boss-character-scale, 1.6));
	overflow: visible;
	position: relative;
	width: calc(72px * var(--msjack-boss-character-scale, 1.6));
}

.msjack-world-boss-attack__avatar-base {
	display: block;
	height: 100%;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 0;
}

.msjack-world-boss-attack__avatar-overlay {
	height: auto;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transform-origin: center;
	width: auto;
}

.msjack-world-boss-attack strong {
	color: var(--msjack-boss-damage-color, #fff);
	font-family: var(--msjack-boss-damage-font-family, Arial, sans-serif);
	font-size: var(--msjack-boss-damage-font-size, 28px);
	font-weight: 900;
	text-shadow: var(--msjack-boss-damage-shadow, 0 2px 8px #000);
}

.msjack-world-boss-attack.is-crit strong {
	color: var(--msjack-boss-crit-color, #f6c453);
	font-size: var(--msjack-boss-crit-font-size, 40px);
	text-shadow: var(--msjack-boss-crit-shadow, 0 0 14px rgba(246, 196, 83, 0.9));
}

.msjack-world-boss-level-up {
	align-items: center;
	background: var(--msjack-boss-level-bg, rgba(0, 0, 0, 0.55));
	color: var(--msjack-boss-level-color, #fff);
	display: flex;
	font-size: var(--msjack-boss-level-font-size, 40px);
	font-weight: 900;
	inset: 0;
	justify-content: center;
	letter-spacing: 0;
	pointer-events: none;
	position: absolute;
	text-align: center;
	text-shadow: 0 4px 18px #000;
	text-transform: uppercase;
	z-index: calc(var(--msjack-boss-attack-z, 2) + 1);
}

.msjack-world-boss-level-up.is-pulse {
	animation: msjack-world-boss-level-pulse 1200ms ease-in-out infinite alternate;
}

.msjack-world-boss-level-up.is-slam {
	animation: msjack-world-boss-level-slam 700ms cubic-bezier(.2, 1.35, .3, 1) both;
}

.msjack-world-boss-level-up.is-fade {
	animation: msjack-world-boss-level-fade 1200ms ease both;
}

@keyframes msjack-world-boss-attack {
	0% {
		opacity: 0;
		transform: translateX(0) scale(0.85);
	}
	20% {
		opacity: 1;
	}
	58% {
		transform: translateX(calc(50vw - 10px)) scale(1.18);
	}
	100% {
		opacity: 0;
		transform: translateX(calc(100vw + 140px)) scale(0.9);
	}
}

@keyframes msjack-world-boss-level-pulse {
	from {
		transform: scale(0.96);
	}
	to {
		transform: scale(1.04);
	}
}

@keyframes msjack-world-boss-level-slam {
	0% {
		opacity: 0;
		transform: scale(1.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes msjack-world-boss-level-fade {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.msjack-boss-raid {
	align-items: stretch;
	background: var(--msjack-raid-background, transparent);
	color: #f5f7fb;
	display: grid;
	font-family: Arial, sans-serif;
	gap: var(--msjack-raid-section-gap, 12px);
	grid-template-columns: minmax(0, 1fr) minmax(260px, var(--msjack-raid-boss-column-width, 34vw));
	min-height: var(--msjack-raid-min-height, 360px);
	padding: var(--msjack-raid-padding, 20px);
	position: relative;
}

.msjack-boss-raid__sections {
	display: grid;
	gap: var(--msjack-raid-section-gap, 12px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.msjack-boss-raid__section {
	background: rgba(10, 12, 18, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	min-width: 0;
	overflow: hidden;
	padding: 10px;
}

.msjack-boss-raid__section-title {
	color: var(--msjack-raid-section-title-color, #d8dce6);
	font-family: var(--msjack-raid-section-title-font-family, inherit);
	font-size: var(--msjack-raid-section-title-font-size, 13px);
	font-weight: 800;
	text-transform: uppercase;
}

.msjack-boss-raid__players {
	display: block;
	min-height: var(--msjack-raid-section-height, 220px);
	overflow: hidden;
	position: relative;
}

.msjack-boss-raid-player {
	align-items: center;
	box-sizing: border-box;
	display: grid;
	gap: 0;
	justify-items: center;
	min-width: 0;
	position: absolute;
	text-align: center;
	transform: translate(-50%, -50%);
	transform-origin: center bottom;
	transition: left 450ms ease, top 450ms ease;
	width: max(var(--msjack-raid-player-size, 92px), 86px);
}

.msjack-boss-raid-player__avatar,
.msjack-boss-raid-player__fallback {
	display: block;
	height: var(--msjack-raid-player-size, 92px);
	position: relative;
	width: var(--msjack-raid-player-size, 92px);
}

.msjack-boss-raid-player__fallback {
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
}

.msjack-boss-raid-player__base {
	display: block;
	height: 100%;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 0;
}

.msjack-boss-raid-player__overlay {
	height: auto;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transform-origin: center;
	width: auto;
}

.msjack-boss-raid-player strong {
	color: var(--msjack-raid-player-name-color, #ffffff);
	font-family: var(--msjack-raid-player-font-family, inherit);
	font-size: var(--msjack-raid-player-font-size, 13px);
	overflow: hidden;
	text-overflow: ellipsis;
	transform: translateY(var(--msjack-combat-name-offset-y, 0px));
	white-space: nowrap;
	width: 100%;
}

.msjack-combat-name {
	order: var(--msjack-combat-name-order, 2);
}

.msjack-combat-avatar {
	order: var(--msjack-combat-avatar-order, 1);
}

.msjack-boss-raid-player.is-dead {
	filter: grayscale(1);
	opacity: 0.62;
}

.msjack-boss-raid-player.is-hit,
.msjack-boss-raid__boss.is-hit {
	animation: msjack-boss-raid-hit 450ms ease;
}

.msjack-boss-raid__boss.is-attacking {
	animation: msjack-boss-raid-boss-attack 520ms ease;
}

.msjack-boss-raid__boss.is-healed {
	animation: msjack-boss-raid-healed 500ms ease;
}

.msjack-boss-raid-player.is-dodged {
	animation: msjack-boss-raid-dodge 450ms ease;
}

.msjack-boss-raid-player.is-melee-attacking {
	animation: msjack-boss-raid-melee 520ms ease;
}

.msjack-boss-raid-player.is-joining {
	animation: msjack-boss-raid-walk-in 1100ms cubic-bezier(.2, .8, .2, 1);
}

.msjack-boss-raid-player.is-loading {
	opacity: 0;
}

.msjack-boss-raid-player.is-hit {
	animation: msjack-boss-raid-player-hit 450ms ease;
}

.msjack-boss-raid-player.is-attacking {
	animation: msjack-boss-raid-player-attack 550ms cubic-bezier(.25, .46, .45, .94);
	z-index: 1000 !important;
}

@keyframes msjack-boss-raid-player-attack {
	0% {
		filter: drop-shadow(0 0 0px rgba(246, 196, 83, 0));
		transform: translate(-50%, -50%) scale(1) rotate(0deg);
	}
	22% {
		filter: drop-shadow(0 0 16px rgba(246, 196, 83, 0.95)) brightness(1.2);
		transform: translate(calc(-50% - 10px), calc(-50% - 6px)) scale(1.18) rotate(-7deg);
	}
	45% {
		filter: drop-shadow(0 0 20px rgba(246, 196, 83, 0.8)) brightness(1.15);
		transform: translate(calc(-50% + 6px), calc(-50% - 2px)) scale(1.14) rotate(7deg);
	}
	70% {
		filter: drop-shadow(0 0 10px rgba(246, 196, 83, 0.5));
		transform: translate(calc(-50% - 2px), -50%) scale(1.06) rotate(-2deg);
	}
	100% {
		filter: drop-shadow(0 0 0px rgba(246, 196, 83, 0));
		transform: translate(-50%, -50%) scale(1) rotate(0deg);
	}
}

.msjack-boss-raid-player--runner {
	pointer-events: none;
	transition: none;
}

.msjack-boss-raid-player.is-loading {
	opacity: 0 !important;
	visibility: hidden !important;
}

.msjack-boss-raid-player__skull {
	align-items: center;
	display: flex;
	font-size: 28px;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	left: 50%;
	object-fit: contain;
	position: absolute;
	top: 38px;
	transform: translate(-50%, -50%);
	width: 34px;
	z-index: 20;
}

.msjack-combat-bars,
.msjack-boss-raid-player__bars {
	display: grid;
	gap: 0;
	order: var(--msjack-combat-bars-order, 3);
	transform: translateY(var(--msjack-combat-bars-offset-y, 0px));
	width: var(--msjack-raid-player-bar-width, 70px);
}

.msjack-combat-bar,
.msjack-boss-raid-player__hp,
.msjack-boss-raid-player__mp,
.msjack-boss-raid-player__shield {
	background: rgba(10, 12, 18, 0.7);
	border-radius: 999px;
	display: block;
	height: var(--msjack-raid-player-bar-size, 6px);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.msjack-combat-bar em {
	color: #fff;
	display: var(--msjack-raid-player-bar-value-display, none);
	font-size: var(--msjack-raid-player-bar-value-font-size, 9px);
	font-style: normal;
	font-weight: 800;
	left: 50%;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	z-index: 2;
}

.msjack-combat-bar i,
.msjack-boss-raid-player__hp i,
.msjack-boss-raid-player__mp i,
.msjack-boss-raid-player__shield i {
	border-radius: 999px;
	display: block;
	height: 100%;
	transition: width 500ms ease;
	width: 0%;
}

.msjack-combat-bar.is-hp i,
.msjack-boss-raid-player__hp i {
	background: var(--msjack-raid-player-hp-bar-color, #22c55e);
}

.msjack-combat-bar.is-mp i,
.msjack-boss-raid-player__mp i {
	background: var(--msjack-raid-player-mp-bar-color, #3b82f6);
}

.msjack-combat-bar.is-shield i,
.msjack-boss-raid-player__shield i {
	background: var(--msjack-raid-player-shield-bar-color, #a855f7);
}

.msjack-boss-raid-player.is-healed {
	animation: msjack-boss-raid-healed 500ms ease;
}

.msjack-boss-raid-player.is-buffed {
	animation: msjack-boss-raid-buffed 620ms ease;
}

.msjack-boss-raid-player.is-provoking {
	animation: msjack-boss-raid-provoking 620ms ease;
}

@keyframes msjack-boss-raid-healed {
	0% {
		filter: brightness(1);
	}
	35% {
		filter: brightness(1.7) drop-shadow(0 0 14px rgba(74, 222, 128, 0.95));
	}
	100% {
		filter: brightness(1);
	}
}

@keyframes msjack-boss-raid-buffed {
	0% {
		filter: brightness(1);
	}
	30% {
		filter: brightness(1.55) drop-shadow(0 0 16px rgba(96, 165, 250, 0.95));
	}
	100% {
		filter: brightness(1);
	}
}

@keyframes msjack-boss-raid-provoking {
	0% {
		filter: brightness(1);
	}
	30% {
		filter: brightness(1.5) drop-shadow(0 0 16px rgba(246, 196, 83, 0.95));
		transform: translate(-50%, -50%) scale(1.12);
	}
	100% {
		filter: brightness(1);
		transform: translate(-50%, -50%) scale(1);
	}
}

.msjack-boss-raid-attack-fx.is-buff-art {
	animation: msjack-boss-raid-buff-pop 900ms ease;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	height: auto;
	max-height: none;
	max-width: none;
	object-fit: contain;
	transform: translate(calc(-50% + var(--msjack-raid-buff-offset-x, 0px)), calc(-50% + var(--msjack-raid-buff-offset-y, 0px))) scale(var(--msjack-raid-attack-scale, 1));
	width: auto;
	z-index: 2000;
}

.msjack-boss-raid-attack-fx.is-buff-art.is-underlay {
	z-index: 50;
}

@keyframes msjack-boss-raid-buff-pop {
	0% {
		opacity: 0;
	}
	8% {
		opacity: 1;
	}
	90% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

.msjack-boss-raid__section-stats {
	display: grid;
	gap: 2px;
	margin-top: 8px;
	position: relative;
	z-index: 0;
}

.msjack-boss-raid__section-stats span {
	align-items: center;
	color: var(--msjack-raid-section-stats-color, #d8dce6);
	display: flex;
	font-size: var(--msjack-raid-section-stats-font-size, 11px);
	justify-content: space-between;
	line-height: 1.1;
	text-transform: capitalize;
}

.msjack-boss-raid__boss {
	align-content: center;
	background: rgba(10, 12, 18, 0.58);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 8px;
	display: grid;
	gap: 10px;
	justify-items: center;
	padding: 16px;
	text-align: center;
}

.msjack-boss-raid__boss img {
	display: block;
	max-height: var(--msjack-raid-boss-max-height, 260px);
	max-width: 100%;
	object-fit: contain;
}

.msjack-boss-raid__boss-name {
	color: var(--msjack-raid-boss-name-color, #ffffff);
	font-family: var(--msjack-raid-boss-name-font-family, inherit);
	font-size: var(--msjack-raid-boss-name-font-size, 26px);
	font-weight: 900;
}

.msjack-boss-raid__bar {
	background: rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	height: 20px;
	overflow: hidden;
	width: 100%;
}

.msjack-boss-raid__bar span {
	background: linear-gradient(90deg, #d92d20, #f6c453);
	display: block;
	height: 100%;
	transition: width 250ms ease;
}

.msjack-boss-raid__hp {
	color: var(--msjack-raid-boss-hp-color, #d8dce6);
	font-size: var(--msjack-raid-boss-hp-font-size, 14px);
}

.msjack-boss-raid-attack-fx {
	background: rgba(246, 196, 83, 0.88);
	border-radius: 999px;
	box-shadow: 0 0 18px rgba(246, 196, 83, 0.9);
	display: block;
	height: var(--msjack-raid-effect-size, 46px);
	object-fit: contain;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%, -50%);
	width: var(--msjack-raid-effect-size, 46px);
	z-index: 50;
}

.msjack-boss-raid-attack-fx.is-image {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	height: auto;
	max-height: none;
	max-width: none;
	object-fit: contain;
	width: auto;
}

.msjack-boss-raid-attack-fx.is-slash {
	animation: msjack-boss-raid-slash 620ms ease forwards;
}

.msjack-boss-raid-attack-fx.is-instant {
	animation: msjack-boss-raid-instant 520ms ease forwards;
}

.msjack-boss-raid-attack-fx.is-projectile {
	animation: msjack-boss-raid-projectile 800ms cubic-bezier(.2, .8, .2, 1) forwards;
}

.msjack-boss-raid-damage-number {
	animation: msjack-boss-raid-damage-float 1800ms ease-out forwards;
	color: var(--msjack-raid-damage-player-color, #f6c453);
	font-family: var(--msjack-raid-damage-font-family, Arial, sans-serif);
	font-size: var(--msjack-raid-damage-font-size, 28px);
	font-weight: 900;
	left: 0;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	text-shadow: 0 2px 5px rgba(0, 0, 0, 0.86), 0 0 12px currentColor;
	top: 0;
	transform: translate(-50%, -50%) scale(var(--msjack-raid-damage-scale, 1));
	white-space: nowrap;
	z-index: 10000;
}

.msjack-boss-raid-damage-number.is-boss {
	color: var(--msjack-raid-damage-boss-color, #ff6b6b);
}

.msjack-boss-raid-damage-number.is-miss {
	color: var(--msjack-raid-damage-miss-color, #9bdcff);
}

.msjack-boss-raid-damage-number.is-crit {
	text-shadow: 0 2px 5px rgba(0, 0, 0, 0.86), 0 0 16px currentColor;
}

.msjack-boss-raid-notice-container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 8px;
	left: 50%;
	max-width: min(var(--msjack-raid-notice-max-width, 860px), calc(100% - 32px));
	pointer-events: none;
	position: absolute;
	top: var(--msjack-raid-notice-top, 10%);
	transform: translateX(-50%);
	width: max-content;
	z-index: 999999 !important;
}

.msjack-boss-raid-notice-container.pos-top-left { align-items: flex-start; left: 20px; transform: none; }
.msjack-boss-raid-notice-container.pos-top-center { align-items: center; left: 50%; transform: translateX(-50%); }
.msjack-boss-raid-notice-container.pos-top-right { align-items: flex-end; left: auto; right: 20px; transform: none; }
.msjack-boss-raid-notice-container.pos-center { align-items: center; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.msjack-boss-raid-notice-container.pos-bottom-left { align-items: flex-start; bottom: 10%; left: 20px; top: auto; transform: none; }
.msjack-boss-raid-notice-container.pos-bottom-center { align-items: center; bottom: 10%; left: 50%; top: auto; transform: translateX(-50%); }
.msjack-boss-raid-notice-container.pos-bottom-right { align-items: flex-end; bottom: 10%; left: auto; right: 20px; top: auto; transform: none; }

.msjack-boss-raid-notice {
	animation: msjackNoticeSlideIn 350ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
	background: var(--msjack-raid-notice-bg-color, rgba(10, 12, 18, 0.82));
	border: 1px solid var(--msjack-raid-notice-border-color, rgba(255, 255, 255, 0.18));
	border-radius: var(--msjack-raid-notice-border-radius, 6px);
	box-sizing: border-box;
	color: var(--msjack-raid-notice-text-color, #ffffff);
	font-family: var(--msjack-raid-notice-font-family, Arial, sans-serif);
	font-size: var(--msjack-raid-notice-font-size, 24px);
	font-weight: var(--msjack-raid-notice-font-weight, 900);
	line-height: 1.12;
	max-width: 100%;
	padding: var(--msjack-raid-notice-padding, 10px 16px);
	pointer-events: none;
	position: relative;
	text-align: center;
	transition: opacity 450ms ease, transform 450ms ease;
	width: max-content;
}

@keyframes msjackNoticeSlideIn {
	from {
		opacity: 0;
		transform: translateY(-12px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.msjack-boss-raid-notice.is-leaving {
	opacity: 0;
	transform: translateY(-10px) scale(0.92);
}

.msjack-boss-raid-notice__reward {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	justify-content: center;
	vertical-align: middle;
}

.msjack-boss-raid-notice__icon {
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	height: 32px;
	object-fit: contain;
	width: 32px;
}

.msjack-boss-raid-notice__player {
	color: #f6c453;
}

.msjack-boss-raid-notice__item {
	color: #ffffff;
}

.msjack-boss-raid-notice__text {
	display: inline-flex;
	flex-direction: column;
	gap: 3px;
	line-height: 1.15;
}

.msjack-boss-raid-notice__details {
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.78em;
	font-weight: 700;
	white-space: normal;
}

.msjack-boss-raid-notice__headline {
	display: inline;
	white-space: nowrap;
}

.msjack-boss-raid-notice__badge {
	background: rgba(255, 255, 255, 0.12);
	border-radius: 4px;
	font-size: 0.85em;
	font-style: normal;
	font-weight: 700;
	padding: 2px 6px;
}

.msjack-boss-raid-notice__reward.is-legendary .msjack-boss-raid-notice__badge {
	background: rgba(246, 196, 83, 0.25);
	border: 1px solid #f6c453;
	box-shadow: 0 0 10px rgba(246, 196, 83, 0.5);
	color: #f6c453;
}

.msjack-boss-raid-notice__reward.is-epic .msjack-boss-raid-notice__badge {
	background: rgba(168, 85, 247, 0.25);
	border: 1px solid #c084fc;
	color: #c084fc;
}

.msjack-boss-raid-notice__reward.is-rare .msjack-boss-raid-notice__badge {
	background: rgba(59, 130, 246, 0.25);
	border: 1px solid #60a5fa;
	color: #60a5fa;
}

.msjack-boss-raid-notice__reward.is-uncommon .msjack-boss-raid-notice__badge {
	background: rgba(34, 197, 94, 0.25);
	border: 1px solid #4ade80;
	color: #4ade80;
}

.msjack-boss-raid-notice__reward.is-common .msjack-boss-raid-notice__badge {
	background: rgba(156, 163, 175, 0.2);
	color: #d1d5db;
}

.msjack-dungeon-notice-container {
	display: flex;
	flex-direction: column;
	gap: var(--msjack-dungeon-notice-gap, 6px);
	max-width: min(var(--msjack-dungeon-notice-max-width, 860px), calc(100% - 16px));
	pointer-events: none;
	width: max-content;
}

.msjack-dungeon-notice-card {
	align-items: center;
	background: var(--msjack-dungeon-notice-bg, rgba(15, 23, 42, 0.92));
	border: 1px solid var(--msjack-dungeon-notice-border, rgba(255, 255, 255, 0.2));
	border-radius: var(--msjack-dungeon-notice-radius, 8px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
	box-sizing: border-box;
	color: var(--msjack-dungeon-notice-text, #ffffff);
	display: flex;
	font-size: var(--msjack-dungeon-notice-font-size, 15px);
	font-weight: 700;
	gap: 8px;
	line-height: 1.15;
	max-width: 100%;
	padding: var(--msjack-dungeon-notice-padding, 8px 16px);
	position: relative;
}

.msjack-dungeon-notice-card img {
	flex: 0 0 auto;
	height: 24px;
	object-fit: contain;
	width: 24px;
}

.msjack-boss-raid-countdown {
	background: var(--msjack-raid-timer-bg-color, rgba(10, 12, 18, 0.78));
	border: 1px solid var(--msjack-raid-timer-border-color, rgba(255, 255, 255, 0.16));
	border-radius: var(--msjack-raid-timer-border-radius, 6px);
	color: var(--msjack-raid-timer-text-color, #f6c453);
	font-family: var(--msjack-raid-timer-font-family, Arial, sans-serif);
	font-size: var(--msjack-raid-timer-font-size, 24px);
	font-weight: var(--msjack-raid-timer-font-weight, 900);
	left: 50%;
	padding: var(--msjack-raid-timer-padding, 8px 14px);
	pointer-events: none;
	position: absolute;
	top: var(--msjack-raid-timer-top, 18px);
	transform: translateX(-50%);
	z-index: 9999;
}

.msjack-boss-raid-countdown.pos-top-left { left: 20px; transform: none; }
.msjack-boss-raid-countdown.pos-top-center { left: 50%; transform: translateX(-50%); }
.msjack-boss-raid-countdown.pos-top-right { left: auto; right: 20px; transform: none; }
.msjack-boss-raid-countdown.pos-bottom-left { top: auto; bottom: 20px; left: 20px; transform: none; }
.msjack-boss-raid-countdown.pos-bottom-center { top: auto; bottom: 20px; left: 50%; transform: translateX(-50%); }
.msjack-boss-raid-countdown.pos-bottom-right { top: auto; bottom: 20px; left: auto; right: 20px; transform: none; }

.msjack-dungeon-player {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0;
	position: relative;
	text-align: center;
	transform-origin: center bottom;
	width: calc(var(--msjack-dungeon-player-size, 92px) * 0.82);
}

.msjack-dungeon-player__name {
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	max-width: calc(var(--msjack-dungeon-player-size, 92px) * 0.9);
	overflow: hidden;
	text-overflow: ellipsis;
	text-shadow: 0 1px 4px #000;
	transform: translateY(var(--msjack-dungeon-player-name-offset-y, 0px));
	white-space: nowrap;
}

.msjack-dungeon-player__bars,
.msjack-dungeon-encounter__bars {
	overflow: hidden;
}

.msjack-dungeon-player__bars {
	margin-top: 0;
	transform: translateY(var(--msjack-combat-bars-offset-y, var(--msjack-dungeon-player-bars-offset-y, 0px)));
}

.msjack-dungeon-encounter__bars {
	border: 1px solid var(--msjack-dungeon-encounter-hp-border, rgba(255, 255, 255, 0.2));
	border-radius: 4px;
	margin: 0 0 2px;
	width: 240px;
}

.msjack-dungeon-stat-bar {
	--msjack-raid-player-hp-bar-color: var(--msjack-dungeon-encounter-hp, #ef4444);
}

.msjack-dungeon-stat-bar > i {
	background: var(--msjack-dungeon-stat-bar-color, currentColor) !important;
	display: block;
	min-width: 0;
}

.msjack-dungeon-encounter__bars .msjack-dungeon-stat-bar {
	height: var(--msjack-raid-player-bar-size, 6px);
}

.msjack-dungeon-encounter__bars .msjack-dungeon-stat-bar.is-hp {
	background: var(--msjack-dungeon-encounter-hp-bg, rgba(0, 0, 0, 0.6));
}

.msjack-dungeon-encounter__bars [data-dungeon-encounter-hp-bar] {
	transition: width 1s ease-out;
}

.msjack-dungeon-player.is-dead {
	filter: grayscale(1);
	opacity: 0.62;
}

.msjack-dungeon-avatar,
.msjack-dungeon-avatar__single,
.msjack-dungeon-avatar__fallback {
	display: inline-block;
	height: var(--msjack-dungeon-player-size, 92px);
	position: relative;
	width: var(--msjack-dungeon-player-size, 92px);
}

.msjack-dungeon-avatar__base,
.msjack-dungeon-avatar__single {
	display: block;
	height: 100%;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 0;
}

.msjack-dungeon-avatar__overlay {
	height: auto;
	position: absolute;
	transform-origin: center;
	width: auto;
}

.msjack-dungeon-avatar__fallback {
	align-items: center;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	color: #fff;
	display: flex;
	font-weight: 800;
	justify-content: center;
}

.msjack-dungeon-player.is-hit,
.msjack-dungeon-encounter.is-hit {
	animation: msjack-dungeon-hit 450ms ease;
}

.msjack-dungeon-player.is-dodged,
.msjack-dungeon-encounter.is-dodged {
	animation: msjack-dungeon-dodge 450ms ease;
}

.msjack-dungeon-player.is-attacking,
.msjack-dungeon-encounter.is-attacking {
	animation: msjack-dungeon-attack 550ms cubic-bezier(.25, .46, .45, .94);
	z-index: 1000 !important;
}

.msjack-dungeon-encounter.is-dying {
	animation: msjack-dungeon-death-flash var(--msjack-dungeon-death-animation-ms, 1600ms) steps(1, end) forwards;
}

.msjack-dungeon-encounter.is-dying img {
	animation: msjack-dungeon-death-hop var(--msjack-dungeon-death-animation-ms, 1600ms) ease-out forwards;
}

.msjack-dungeon-player.is-melee-attacking {
	filter: drop-shadow(0 0 14px rgba(246, 196, 83, 0.75));
}

.msjack-dungeon-overlay__spectators {
	pointer-events: none;
}

.msjack-dungeon-overlay__stage-progress {
	background: rgba(255, 255, 255, 0.14);
	bottom: 0;
	height: 2px;
	left: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	right: 0;
	transition: opacity 180ms ease;
	z-index: 999998;
}

.msjack-dungeon-overlay__stage-progress.is-visible {
	opacity: 1;
}

.msjack-dungeon-overlay__stage-progress span {
	background: linear-gradient(90deg, rgba(96, 165, 250, 0.95), rgba(251, 191, 36, 0.95));
	box-shadow: 0 0 8px rgba(251, 191, 36, 0.7);
	display: block;
	height: 100%;
	transition: width 240ms linear;
	width: 0;
}

.msjack-dungeon-spectator {
	opacity: 0.78;
	transform: scale(0.62);
	transform-origin: center top;
	transition: opacity 350ms ease, transform 350ms ease;
	width: calc(var(--msjack-dungeon-player-size, 92px) * 0.58);
}

.msjack-dungeon-spectator .msjack-dungeon-player {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.65));
}

.msjack-dungeon-spectator .msjack-dungeon-player__bars {
	display: none;
}

.msjack-dungeon-spectator .msjack-dungeon-player__name {
	font-size: 10px !important;
	max-width: var(--msjack-dungeon-player-size, 92px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.msjack-dungeon-attack-fx,
.msjack-dungeon-ability-fx {
	max-height: none;
	max-width: none;
}

@keyframes msjack-dungeon-attack {
	0% {
		filter: drop-shadow(0 0 0 rgba(246, 196, 83, 0));
		transform: scale(1) rotate(0deg);
	}
	22% {
		filter: drop-shadow(0 0 16px rgba(246, 196, 83, 0.95)) brightness(1.2);
		transform: translate(-10px, -6px) scale(1.18) rotate(-7deg);
	}
	45% {
		filter: drop-shadow(0 0 20px rgba(246, 196, 83, 0.8)) brightness(1.15);
		transform: translate(6px, -2px) scale(1.14) rotate(7deg);
	}
	70% {
		filter: drop-shadow(0 0 10px rgba(246, 196, 83, 0.5));
		transform: translate(-2px, 0) scale(1.06) rotate(-2deg);
	}
	100% {
		filter: drop-shadow(0 0 0 rgba(246, 196, 83, 0));
		transform: scale(1) rotate(0deg);
	}
}

@keyframes msjack-dungeon-hit {
	0%,
	100% {
		opacity: 1;
		transform: translateX(0);
	}
	35% {
		opacity: 0.6;
		filter: sepia(1) saturate(7) hue-rotate(315deg) brightness(1.25);
		transform: translateX(-8px);
	}
	70% {
		transform: translateX(8px);
	}
}

@keyframes msjack-dungeon-dodge {
	0%,
	100% {
		opacity: 1;
		transform: translateX(0);
	}
	35% {
		opacity: 0.6;
		transform: translateX(-14px);
	}
	70% {
		transform: translateX(14px);
	}
}

@keyframes msjack-dungeon-death-flash {
	0% { filter: brightness(1); opacity: 1; }
	8% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	17% { filter: brightness(1); }
	25% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	34% { filter: brightness(1); }
	42% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	50% { filter: brightness(1); }
	58% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	66% { filter: brightness(1); }
	73% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	80% { filter: brightness(1); }
	86% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	91% { filter: brightness(1); }
	95% { filter: brightness(0) invert(1) grayscale(1) contrast(2); }
	98% { filter: brightness(1); opacity: 1; }
	100% { filter: brightness(0) invert(1) grayscale(1) contrast(2); opacity: 0; }
}

@keyframes msjack-dungeon-death-hop {
	0% { transform: translateY(0) scale(1); }
	55% { transform: translateY(-3px) scale(1.03); }
	100% { transform: translateY(2px) scale(0.96); }
}

@media (max-width: 760px) {
	.msjack-boss-raid {
		grid-template-columns: 1fr;
		padding: 10px;
	}

	.msjack-boss-raid__sections {
		grid-template-columns: 1fr;
	}
}

@keyframes msjack-boss-raid-hit {
	0%,
	100% {
		filter: none;
	}
	35% {
		filter: sepia(1) saturate(7) hue-rotate(315deg) brightness(1.25);
	}
}

@keyframes msjack-boss-raid-dodge {
	0%,
	100% {
		opacity: 1;
		transform: translateX(0);
	}
	35% {
		opacity: 0.6;
		transform: translateX(-8px);
	}
	70% {
		transform: translateX(8px);
	}
}

@keyframes msjack-boss-raid-walk-in {
	0% {
		opacity: 0;
		transform: translate(calc(-240% - 180px), -50%) scale(0.96);
	}
	18% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes msjack-boss-raid-player-hit {
	0%,
	100% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
	35% {
		opacity: 0.6;
		transform: translate(calc(-50% - 8px), -50%);
	}
	70% {
		transform: translate(calc(-50% + 8px), -50%);
	}
}

@keyframes msjack-boss-raid-player-dodge {
	0%,
	100% {
		transform: translate(-50%, -50%);
	}
	35% {
		transform: translate(calc(-50% - 14px), -50%);
	}
	70% {
		transform: translate(calc(-50% + 14px), -50%);
	}
}

@keyframes msjack-boss-raid-player-melee {
	0%,
	100% {
		transform: translate(-50%, -50%) scale(1);
	}
	45% {
		transform: translate(calc(-50% + 18px), -50%) scale(1.08);
	}
}

@keyframes msjack-boss-raid-melee {
	0%,
	100% {
		transform: translateX(0) scale(1);
	}
	45% {
		transform: translateX(18px) scale(1.08);
	}
}

@keyframes msjack-boss-raid-boss-attack {
	0%,
	100% {
		transform: translateX(0) scale(1);
	}
	45% {
		transform: translateX(-14px) scale(1.04);
	}
}

@keyframes msjack-boss-raid-slash {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(-35deg) scale(calc(var(--msjack-raid-attack-scale, 1) * 0.4));
	}
	35% {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(18deg) scale(calc(var(--msjack-raid-attack-scale, 1) * 1.35));
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(50deg) scale(calc(var(--msjack-raid-attack-scale, 1) * 0.8));
	}
}

@keyframes msjack-boss-raid-instant {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(calc(var(--msjack-raid-attack-scale, 1) * 0.3));
	}
	30% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(calc(var(--msjack-raid-attack-scale, 1) * 1.45));
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -150%) scale(calc(var(--msjack-raid-damage-scale, 1) * 0.92));
	}
}

.msjack-stream-game-skill-milestone {
	cursor: pointer;
}

.msjack-stream-game-ability-desc-box {
	background: rgba(0, 0, 0, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 6px;
	margin-top: 10px;
	padding: 10px;
}

.msjack-stream-game-ability-desc-box h5 {
	color: #ffd166;
	margin: 0 0 4px;
}

.msjack-stream-game-ability-desc-box p {
	color: #d8dee9;
	font-size: 0.82rem;
	line-height: 1.35;
	margin: 0;
}

/* Offline Quests UI */
.msjack-stream-game-quests {
	display: grid;
	gap: 10px;
	margin-top: 12px;
}

.msjack-stream-game-quest-card {
	background: #191d25;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	padding: 10px;
	position: relative;
}

.msjack-stream-game-quest-card.is-green {
	border-color: #34d399;
}

.msjack-stream-game-quest-card.is-yellow {
	border-color: #fbbf24;
}

.msjack-stream-game-quest-card.is-red {
	border-color: #f87171;
	opacity: 0.85;
}

.msjack-stream-game-quest-header {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: space-between;
}

.msjack-stream-game-quest-header h4 {
	color: #fff;
	font-size: 0.92rem;
	margin: 0;
}

.msjack-stream-game-quest-chance {
	border-radius: 4px;
	font-size: 0.74rem;
	font-weight: 700;
	padding: 2px 6px;
}

.is-green .msjack-stream-game-quest-chance {
	background: #065f46;
	color: #34d399;
}

.is-yellow .msjack-stream-game-quest-chance {
	background: #78350f;
	color: #fbbf24;
}

.is-red .msjack-stream-game-quest-chance {
	background: #7f1d1d;
	color: #f87171;
}

.msjack-stream-game-quest-desc {
	color: #b8c0cc;
	font-size: 0.8rem;
	margin: 6px 0;
}

.msjack-stream-game-quest-reqs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0;
}

.msjack-stream-game-quest-req-badge {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 4px;
	font-size: 0.72rem;
	padding: 2px 6px;
}

.msjack-stream-game-quest-progress {
	background: rgba(0, 0, 0, 0.3);
	border-radius: 4px;
	height: 10px;
	margin: 16px 0 12px;
	position: relative;
	overflow: visible;
}

.msjack-stream-game-quest-progress-bar {
	background: linear-gradient(90deg, #34d399, #6ee7b7);
	border-radius: 4px;
	height: 100%;
	transition: width 0.3s linear;
}

.msjack-stream-game-quest-progress-art {
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.6));
	height: 34px;
	max-width: 54px;
	object-fit: contain;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: left 0.3s linear;
	z-index: 2;
}

.msjack-stream-game-quest-cooldown-overlay {
	align-items: center;
	background: rgba(13, 16, 24, 0.88);
	border-radius: 6px;
	color: #fbbf24;
	display: flex;
	font-size: 0.82rem;
	font-weight: 700;
	gap: 6px;
	inset: 0;
	justify-content: center;
	position: absolute;
	z-index: 4;
	pointer-events: none;
}

@keyframes msjack-boss-raid-projectile {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) translate(0, 0) scale(calc(var(--msjack-raid-attack-scale, 1) * 0.75));
	}
	15% {
		opacity: 1;
	}
	55% {
		transform: translate(-50%, -50%) translate(calc(var(--raid-projectile-x, 0px) * .55), calc(var(--raid-projectile-y, 0px) * .55 - 80px)) scale(var(--msjack-raid-attack-scale, 1));
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -50%) translate(var(--raid-projectile-x, 0px), var(--raid-projectile-y, 0px)) scale(calc(var(--msjack-raid-attack-scale, 1) * 0.65));
	}
}

@keyframes msjack-boss-raid-damage-float {
	0% {
		opacity: 0;
		transform: translate(-50%, -30%) scale(calc(var(--msjack-raid-damage-scale, 1) * 0.82));
	}
	12% {
		opacity: 1;
	}
	72% {
		opacity: 1;
		transform: translate(-50%, -92%) scale(var(--msjack-raid-damage-scale, 1));
	}
	100% {
		opacity: 0;
		transform: translate(-50%, -150%) scale(calc(var(--msjack-raid-damage-scale, 1) * 0.92));
	}
}

.msjack-stream-game-quest-card {
	background: #131822;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	margin-bottom: 8px;
	position: relative;
	overflow: hidden;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

.msjack-stream-game-quest-card.is-in-progress {
	opacity: 0.55;
	filter: grayscale(0.5);
}

.msjack-stream-game-quest-card summary.msjack-stream-game-quest-header {
	align-items: center;
	background: rgba(255, 255, 255, 0.03);
	cursor: pointer;
	display: flex;
	list-style: none;
	padding: 10px 12px;
	user-select: none;
}

.msjack-stream-game-quest-card summary.msjack-stream-game-quest-header::-webkit-details-marker {
	display: none;
}

.msjack-stream-game-quest-card[open] summary.msjack-stream-game-quest-header {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background: rgba(255, 255, 255, 0.06);
}

.msjack-stream-game-quest-card-body {
	background: rgba(0, 0, 0, 0.18);
	padding: 12px;
}

.msjack-stream-game-quest-reqs-header {
	color: #b8c0cc;
	font-size: 11px;
	font-weight: 700;
	margin: 8px 0 4px;
	text-transform: uppercase;
}

.msjack-stream-game-quest-req-badge {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 4px;
	color: #d8dee8;
	display: inline-flex;
	font-size: 11px;
	padding: 3px 8px;
}

.msjack-stream-game-feedback-button {
	width: 100%;
	font-size: 12px;
	padding: 7px 10px;
	border-radius: 6px;
	border: 1px solid rgba(255,255,255,0.16);
	background: rgba(255,255,255,0.08);
	color: inherit;
	cursor: pointer;
}

.msjack-stream-game-report-form {
	box-sizing: border-box;
	display: grid;
	gap: 10px;
	width: 100%;
}

.msjack-stream-game-report-form label {
	display: grid;
	gap: 5px;
	font-size: 12px;
	font-weight: 700;
	text-align: left;
}

.msjack-stream-game-report-form input,
.msjack-stream-game-report-form select,
.msjack-stream-game-report-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(255,255,255,0.16);
	border-radius: 6px;
	background: rgba(0,0,0,0.22);
	color: inherit;
	padding: 8px 10px;
}

.msjack-stream-game-report-form textarea {
	min-height: 150px;
	resize: vertical;
}

.msjack-stream-game-report-form__actions {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: flex-start;
}
