/* Ненавязчивое приглашение добавить свою песню в Drumix. */
html:not(.pb-song-requests-enabled) [data-song-request-entry] { display:none!important; }

.pbSongRequestWidget,
.pbSongRequestWidget * { box-sizing:border-box; }
.pbSongRequestWidget[hidden],
.pbSongRequestWidget [hidden] { display:none!important; }

.pbSongRequestWidget {
	--song-request-accent:var(--drumix-color-primary,#0066cc);
	--song-request-hover:var(--drumix-color-primary-hover,#0057ad);
	--song-request-soft:var(--drumix-color-primary-soft,rgba(0,102,204,.10));
	--song-request-bg:var(--drumix-color-surface,#fff);
	--song-request-muted:var(--drumix-color-muted,#626269);
	--song-request-text:var(--drumix-color-text,#1d1d1f);
	--song-request-border:var(--drumix-color-border,rgba(29,29,31,.14));
	font-family:var(--drumix-font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif);
	color:var(--song-request-text);
}

.pbSongRequestLaunchWrap {
	position:fixed;
	right:max(16px,env(safe-area-inset-right,0px));
	bottom:calc(76px + env(safe-area-inset-bottom,0px));
	z-index:5080;
	display:inline-flex;
	align-items:stretch;
	min-height:44px;
	border:1px solid color-mix(in srgb,var(--song-request-accent) 35%,var(--song-request-border));
	border-radius:999px;
	background:var(--song-request-bg);
	box-shadow:0 10px 30px rgba(24,35,52,.18);
	transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease;
}
.pbSongRequestLaunchWrap:hover { transform:translateY(-1px); box-shadow:0 13px 34px rgba(24,35,52,.22); }
.pbSongRequestLaunch {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-width:0;
	min-height:42px;
	padding:0 14px 0 16px;
	border:0;
	border-radius:999px 0 0 999px;
	background:transparent;
	color:var(--song-request-accent);
	font:750 13px/1 var(--drumix-font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif);
	cursor:pointer;
	transition:background 160ms ease;
}
.pbSongRequestLaunch:hover { background:var(--song-request-soft); }
.pbSongRequestLaunch svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.pbSongRequestLaunchShort { display:none; }
.pbSongRequestDismiss {
	display:grid;
	place-items:center;
	flex:0 0 38px;
	width:38px;
	min-height:42px;
	padding:0;
	border:0;
	border-left:1px solid var(--song-request-border);
	border-radius:0 999px 999px 0;
	background:transparent;
	color:var(--song-request-muted);
	font:500 20px/1 var(--drumix-font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif);
	cursor:pointer;
	transition:background 160ms ease,color 160ms ease;
}
.pbSongRequestDismiss:hover { background:var(--song-request-soft); color:var(--song-request-text); }

.pbSongRequestInvite {
	position:fixed;
	right:max(16px,env(safe-area-inset-right,0px));
	bottom:calc(76px + env(safe-area-inset-bottom,0px));
	z-index:5130;
	width:min(390px,calc(100vw - 32px));
	padding:17px;
	border:1px solid var(--song-request-border);
	border-radius:20px;
	background:var(--song-request-bg);
	box-shadow:0 20px 54px rgba(24,35,52,.24);
}
.pbSongRequestInviteClose {
	position:absolute;
	top:6px;
	right:6px;
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	padding:0;
	border:0;
	border-radius:999px;
	background:transparent;
	color:var(--song-request-muted);
	font-family:inherit;
	font-size:21px;
	font-weight:500;
	line-height:1;
	cursor:pointer;
}
.pbSongRequestInviteClose:hover { background:var(--song-request-soft); color:var(--song-request-text); }
.pbSongRequestInviteTop { display:flex; align-items:flex-start; gap:12px; padding-right:38px; }
.pbSongRequestInviteIcon {
	display:grid; place-items:center; flex:0 0 46px; height:46px; border-radius:14px;
	background:var(--song-request-soft); color:var(--song-request-accent); font-size:11px; font-weight:850; letter-spacing:.03em;
}
.pbSongRequestInviteText { min-width:0; flex:1; }
.pbSongRequestInviteText b { display:block; font-size:16px; line-height:1.3; }
.pbSongRequestInviteText span { display:block; margin-top:5px; color:var(--song-request-muted); font-size:13px; line-height:1.43; }
.pbSongRequestInviteActions { display:flex; gap:8px; margin-top:14px; }
.pbSongRequestInviteActions button {
	min-height:42px; border-radius:12px; padding:0 15px; font-family:inherit; font-size:13px; font-weight:750; line-height:1; cursor:pointer;
}
.pbSongRequestInviteStart { flex:1; border:0; background:var(--song-request-accent); color:var(--drumix-color-on-primary,#fff); }
.pbSongRequestInviteStart:hover { background:var(--song-request-hover); }
.pbSongRequestInviteLater { border:1px solid var(--song-request-border); background:var(--song-request-bg); color:var(--song-request-text); }
.pbSongRequestInviteLater:hover { background:var(--song-request-soft); }
.pbSongRequestInviteLater { white-space:nowrap; }

.pbSongRequestWidget button:focus-visible { outline:3px solid var(--drumix-color-focus,#0a84ff); outline-offset:3px; }

html.pb-student-dark .pbSongRequestWidget,
html.pb-public-dark .pbSongRequestWidget {
	--song-request-accent:#64a9ff;
	--song-request-hover:#82bbff;
	--song-request-soft:rgba(94,169,255,.16);
	--song-request-bg:#1c1c1e;
	--song-request-muted:#b3b3ba;
	--song-request-text:#f5f5f7;
	--song-request-border:rgba(255,255,255,.15);
}
html.pb-student-dark .pbSongRequestInviteStart,
html.pb-public-dark .pbSongRequestInviteStart { color:var(--drumix-color-on-primary,#07182d); }

body.pb-rehearsal-mode .pbSongRequestLaunchWrap,
body.pb-rehearsal-mode .pbSongRequestInvite,
body.pb-concert-mode .pbSongRequestLaunchWrap,
body.pb-concert-mode .pbSongRequestInvite,
body.pb-trainer-active .pbSongRequestLaunchWrap,
body.pb-trainer-active .pbSongRequestInvite,
body.pb-practice .pbSongRequestLaunchWrap,
body.pb-practice .pbSongRequestInvite,
body.pb-admin .pbSongRequestLaunchWrap,
body.pb-admin .pbSongRequestInvite,
html.pb-dialog-open .pbSongRequestLaunchWrap,
html.pb-dialog-open .pbSongRequestInvite { display:none!important; }

body.pb-song-mode .pbSongRequestLaunchWrap,
body.pb-song-mode .pbSongRequestInvite {
	left:max(12px,env(safe-area-inset-left,0px));
	right:auto;
	bottom:calc(136px + env(safe-area-inset-bottom,0px));
}

@media (max-width:640px) {
	.pbSongRequestLaunchWrap { right:12px; bottom:calc(78px + env(safe-area-inset-bottom,0px)); min-height:42px; }
	.pbSongRequestLaunch { min-height:40px; padding:0 11px 0 13px; }
	.pbSongRequestDismiss { flex-basis:36px; width:36px; min-height:40px; }
	.pbSongRequestLaunchFull { display:none; }
	.pbSongRequestLaunchShort { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.pbSongRequestInvite { right:12px; bottom:calc(78px + env(safe-area-inset-bottom,0px)); width:calc(100vw - 24px); padding:15px; border-radius:18px; }
	body.pb-song-mode .pbSongRequestLaunchWrap {
		left:max(12px,env(safe-area-inset-left,0px)); right:auto; bottom:calc(136px + env(safe-area-inset-bottom,0px));
		max-width:calc(100vw - 112px - env(safe-area-inset-left,0px));
	}
	body.pb-song-mode .pbSongRequestInvite {
		left:max(12px,env(safe-area-inset-left,0px)); right:auto; bottom:calc(146px + env(safe-area-inset-bottom,0px));
		width:calc(100vw - 24px);
	}
}

@media (max-height:560px) and (orientation:landscape) {
	.pbSongRequestInvite { bottom:10px; width:min(420px,calc(100vw - 24px)); }
	.pbSongRequestInviteText span { font-size:12px; }
}

@media (prefers-reduced-motion:reduce) {
	.pbSongRequestLaunchWrap,
	.pbSongRequestLaunch,
	.pbSongRequestDismiss { transition:none; }
}
