.m1p-player {
	--m1p-bg: #f6f8f6;
	--m1p-surface: #ffffff;
	--m1p-text: #23372e;
	--m1p-muted: #6b7b73;
	--m1p-border: #e1e9e3;
	--m1p-accent: #34745b;
	--m1p-accent-soft: #e7f1eb;
	--m1p-shadow: 0 12px 34px rgba(27, 62, 45, .08);
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 1.25rem 0;
	padding: clamp(14px, 2.3vw, 22px);
	border: 1px solid var(--m1p-border);
	border-radius: 20px;
	background: var(--m1p-bg);
	color: var(--m1p-text);
	box-shadow: var(--m1p-shadow);
	font-family: inherit;
	text-align: start;
	isolation: isolate;
	color-scheme: light;
}
.m1p-player *, .m1p-player *::before, .m1p-player *::after { box-sizing: border-box; }
.m1p-theme-brand { --m1p-bg: #f7f4eb; --m1p-surface: #fffefa; --m1p-text: #253c31; --m1p-muted: #708075; --m1p-border: #e6e2d6; --m1p-accent: #34745b; --m1p-accent-soft: #e8f0e7; --m1p-shadow: 0 12px 32px rgba(48, 73, 56, .08); }
.m1p-theme-light { --m1p-bg: #f7f9f8; --m1p-surface: #ffffff; --m1p-text: #263a32; --m1p-muted: #738078; --m1p-border: #e3e9e5; --m1p-accent: #28775c; --m1p-accent-soft: #e7f2eb; --m1p-shadow: 0 10px 28px rgba(27, 54, 39, .07); }
.m1p-theme-dark { --m1p-bg: #18221e; --m1p-surface: #202c26; --m1p-text: #edf5ef; --m1p-muted: #b2c2b8; --m1p-border: #35443b; --m1p-accent: #9bd3b4; --m1p-accent-soft: #2a3c32; --m1p-shadow: 0 14px 34px rgba(0, 0, 0, .25); color-scheme: dark; }
.m1p-theme-minimal { --m1p-bg: transparent; --m1p-surface: transparent; --m1p-text: #253a30; --m1p-muted: #78847d; --m1p-border: #e2e9e4; --m1p-accent: #2d785d; --m1p-accent-soft: #edf4ef; --m1p-shadow: none; padding: 12px; border-radius: 10px; }
.m1p-heading { display: flex; align-items: center; gap: 14px; min-width: 0; margin: 0 0 16px; }
.m1p-cover { display: block; width: 68px; height: 68px; flex: 0 0 68px; object-fit: cover; border-radius: 14px; background: var(--m1p-accent-soft); }
.m1p-heading-copy { min-width: 0; }
.m1p-title { margin: 0; color: var(--m1p-text); font: inherit; font-size: 1.05rem; line-height: 1.55; font-weight: 750; overflow-wrap: anywhere; }
.m1p-eyebrow { display: inline-block; margin-bottom: 3px; color: var(--m1p-accent); font-size: .72rem; font-weight: 700; }
.m1p-description { margin: 3px 0 0; color: var(--m1p-muted); font-size: .86rem; line-height: 1.65; }
.m1p-engine { width: 100%; min-width: 0; }
.m1p-engine > video-player, .m1p-engine > audio-player { display: block; width: 100%; max-width: 100%; }
.m1p-vjs-skin { display: block; width: 100%; --media-accent-color: var(--m1p-accent); --media-accent-text-color: #ffffff; --media-border-radius: 16px; --media-font-family: inherit; --media-scale-unit: 1rem; }
.m1p-theme-dark .m1p-vjs-skin { --media-accent-text-color: #10241b; }
.m1p-engine video { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 14px; background: #101512; object-fit: contain; }
.m1p-engine audio { display: block; width: 100%; max-width: 100%; }
.m1p-engine .m1p-native-fallback { width: 100%; }
.m1p-extra-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 11px; }
.m1p-skip, .m1p-retry { display: inline-flex; min-width: 48px; min-height: 42px; align-items: center; justify-content: center; gap: 4px; padding: 6px 10px; border: 1px solid var(--m1p-border); border-radius: 12px; background: var(--m1p-surface); color: var(--m1p-text); font: inherit; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.m1p-skip span { font-size: .9rem; font-weight: 750; direction: ltr; }
.m1p-skip small { color: var(--m1p-muted); font-size: .68rem; }
.m1p-skip:hover, .m1p-retry:hover { border-color: var(--m1p-accent); background: var(--m1p-accent-soft); }
.m1p-skip:active, .m1p-retry:active { transform: translateY(1px); }
.m1p-skip:focus-visible, .m1p-retry:focus-visible, .m1p-playlist-item:focus-visible { outline: 3px solid color-mix(in srgb, var(--m1p-accent) 48%, transparent); outline-offset: 2px; }
.m1p-retry { background: var(--m1p-accent); color: #fff; border-color: var(--m1p-accent); }
.m1p-status { min-height: 0; margin: 6px 0 0; color: var(--m1p-muted); font-size: .8rem; line-height: 1.5; }
.m1p-status:empty { display: none; }
.m1p-status.is-error { padding: 8px 11px; border-radius: 10px; background: #fff0ef; color: #a22f2b; }
.m1p-playlist { margin-top: 16px; border-top: 1px solid var(--m1p-border); padding-top: 13px; }
.m1p-playlist-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 7px; color: var(--m1p-text); font-size: .84rem; }
.m1p-playlist-heading span { color: var(--m1p-muted); font-size: .76rem; }
.m1p-playlist ol { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.m1p-playlist-item { display: flex; width: 100%; min-height: 44px; align-items: center; gap: 10px; padding: 7px 9px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--m1p-text); text-align: start; font: inherit; cursor: pointer; }
.m1p-playlist-item:hover { background: var(--m1p-surface); border-color: var(--m1p-border); }
.m1p-playlist-item.is-current { background: var(--m1p-accent-soft); border-color: color-mix(in srgb, var(--m1p-accent) 22%, var(--m1p-border)); }
.m1p-track-number { display: inline-flex; width: 25px; height: 25px; flex: 0 0 25px; align-items: center; justify-content: center; border-radius: 8px; background: var(--m1p-surface); color: var(--m1p-muted); font-size: .72rem; font-variant-numeric: tabular-nums; }
.m1p-track-title { flex: 1; min-width: 0; overflow: hidden; font-size: .84rem; text-overflow: ellipsis; white-space: nowrap; }
.m1p-track-kind { color: var(--m1p-muted); font-size: .72rem; white-space: nowrap; }
.m1p-layout-compact { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 14px; padding: 13px; }
.m1p-layout-compact .m1p-heading { grid-column: 1 / -1; margin: 0; }
.m1p-layout-compact .m1p-cover { width: 50px; height: 50px; flex-basis: 50px; border-radius: 10px; }
.m1p-layout-compact .m1p-engine { grid-column: 1 / -1; }
.m1p-layout-compact .m1p-extra-controls { margin: 0; }
.m1p-layout-compact .m1p-playlist { grid-column: 1 / -1; }
.m1p-layout-minimal { padding: 8px 0; border: 0; background: transparent; box-shadow: none; }
.m1p-layout-minimal .m1p-engine { padding: 0; }
.m1p-layout-minimal .m1p-extra-controls { margin-top: 7px; }
.m1p-layout-minimal .m1p-skip { min-height: 36px; border-radius: 8px; }
.m1p-layout-floating { position: fixed; z-index: 99990; inset-inline-end: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: min(390px, calc(100vw - 28px)); max-height: min(70vh, 520px); overflow: auto; margin: 0; padding: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.22); }
.m1p-layout-floating .m1p-cover { width: 48px; height: 48px; flex-basis: 48px; }
.m1p-layout-floating .m1p-heading { margin-bottom: 10px; }
.m1p-layout-floating .m1p-title { font-size: .92rem; }
.m1p-layout-floating .m1p-description { display: none; }
.m1p-layout-floating .m1p-playlist { max-height: 180px; overflow: auto; }
.m1p-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }
.m1p-admin-hint { padding: 10px 14px; border-inline-start: 3px solid #be8a35; background: #fff8e9; color: #634b24; }
@media (max-width: 600px) {
	.m1p-player { padding: 12px; border-radius: 15px; }
	.m1p-heading { gap: 10px; }
	.m1p-cover { width: 54px; height: 54px; flex-basis: 54px; }
	.m1p-title { font-size: .96rem; }
	.m1p-extra-controls { justify-content: flex-start; }
	.m1p-skip { min-height: 44px; }
	.m1p-layout-compact { grid-template-columns: 1fr; }
	.m1p-layout-compact .m1p-extra-controls { justify-content: flex-end; }
	.m1p-layout-floating { inset-inline: 10px; bottom: max(10px, env(safe-area-inset-bottom)); width: auto; max-height: 60vh; }
}
@media (prefers-reduced-motion: reduce) {
	.m1p-player *, .m1p-player *::before, .m1p-player *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* Responsive third-party iframe embed: provider controls remain provider-owned. */
.m1p-embed-frame { position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:12px; background:#111; }
.m1p-embed-frame iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
.m1p-skip[hidden] { display:none !important; }
