/* Короткий одноразовый опрос Drumix: приглашение, форма и мобильный bottom sheet. */
.pbQuickSurvey,
.pbQuickSurvey * { box-sizing:border-box; }
.pbQuickSurvey[hidden],
.pbQuickSurvey [hidden] { display:none!important; }

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

.pbQuickSurveyLaunchWrap {
	position:fixed;
	right:max(16px,env(safe-area-inset-right,0px));
	bottom:calc(18px + env(safe-area-inset-bottom,0px));
	z-index:5100;
	min-height:44px;
	padding:0;
	display:inline-flex;
	align-items:stretch;
	border:1px solid var(--survey-border);
	border:1px solid color-mix(in srgb,var(--survey-accent) 35%,var(--survey-border));
	border-radius:999px;
	background:var(--survey-bg);
	color:var(--survey-accent);
	box-shadow:0 10px 30px rgba(24,35,52,.18);
	font:750 13px/1 var(--drumix-font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif);
	cursor:pointer;
	transition:transform 160ms ease,box-shadow 160ms ease,background 160ms ease;
}
.pbQuickSurveyLaunchWrap:hover { transform:translateY(-1px); background:var(--survey-soft); box-shadow:0 13px 34px rgba(24,35,52,.22); }
.pbQuickSurveyLaunch {
	display:flex; align-items:center; justify-content:center; min-width:0;
	padding:8px 14px; border:0; border-radius:999px 0 0 999px;
	background:transparent; color:inherit; font:inherit; line-height:1.25; cursor:pointer;
}
.pbQuickSurveyLaunchShort { display:none; }
.pbQuickSurveyDismiss {
	display:grid; place-items:center; flex:0 0 36px; width:36px; min-height:42px;
	padding:0; border:0; border-left:1px solid var(--survey-border); border-radius:0 999px 999px 0;
	background:transparent; color:var(--survey-muted); font:500 20px/1 var(--drumix-font-sans,system-ui,sans-serif); cursor:pointer;
}
.pbQuickSurveyDismiss:hover { background:var(--survey-soft); color:var(--survey-text); }
.pbQuickSurveyLaunch:focus-visible,
.pbQuickSurvey button:focus-visible,
.pbQuickSurvey input:focus-visible + span,
.pbQuickSurvey textarea:focus-visible {
	outline:3px solid var(--drumix-color-focus,#0a84ff);
	outline-offset:3px;
}

.pbQuickSurveyInvite {
	position:fixed;
	right:max(16px,env(safe-area-inset-right,0px));
	bottom:calc(18px + env(safe-area-inset-bottom,0px));
	z-index:5150;
	width:min(370px,calc(100vw - 32px));
	padding:17px;
	border:1px solid var(--survey-border);
	border-radius:20px;
	background:var(--survey-bg);
	box-shadow:0 20px 54px rgba(24,35,52,.24);
}
.pbQuickSurveyInviteTop { display:flex; align-items:flex-start; gap:12px; }
.pbQuickSurveyInviteIcon {
	display:grid; place-items:center; flex:0 0 42px; height:42px; border-radius:13px;
	background:var(--survey-accent-soft); color:var(--survey-accent); font-size:22px;
}
.pbQuickSurveyInviteText { min-width:0; flex:1; }
.pbQuickSurveyInviteText b { display:block; font-size:16px; line-height:1.25; }
.pbQuickSurveyInviteText span { display:block; margin-top:4px; color:var(--survey-muted); font-size:13px; line-height:1.4; }
.pbQuickSurveyInviteActions { display:flex; gap:8px; margin-top:14px; }
.pbQuickSurveyInviteActions button {
	min-height:42px; border-radius:12px; padding:0 15px; font-family:inherit; font-size:13px; font-weight:750; line-height:1; cursor:pointer;
}
.pbQuickSurveyInviteStart { flex:1; border:0; background:var(--survey-accent); color:#fff; }
.pbQuickSurveyInviteStart:hover { background:var(--survey-accent-hover); }
.pbQuickSurveyInviteLater { border:1px solid var(--survey-border); background:var(--survey-bg); color:var(--survey-text); }
.pbQuickSurveyInviteLater:hover { background:var(--survey-soft); }

.pbQuickSurveyOverlay {
	position:fixed;
	inset:0;
	z-index:12000;
	display:none;
	align-items:center;
	justify-content:center;
	padding:24px max(18px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));
	background:var(--survey-overlay);
	-webkit-backdrop-filter:blur(5px);
	backdrop-filter:blur(5px);
}
.pbQuickSurveyOverlay.on { display:flex; }
.pbQuickSurveyBox {
	position:relative;
	width:min(620px,100%);
	max-height:min(760px,calc(100dvh - 48px));
	overflow:auto;
	overscroll-behavior:contain;
	padding:25px;
	border:1px solid var(--survey-border);
	border-radius:24px;
	background:var(--survey-bg);
	box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.pbQuickSurveyClose {
	position:absolute; top:16px; right:16px; display:grid; place-items:center;
	width:40px; height:40px; border:1px solid var(--survey-border); border-radius:50%;
	background:var(--survey-bg); color:var(--survey-muted); font-family:inherit; font-size:25px; font-weight:500; line-height:1; cursor:pointer;
}
.pbQuickSurveyClose:hover { background:var(--survey-soft); color:var(--survey-text); }
.pbQuickSurveyEyebrow { margin:0 48px 7px 0; color:var(--survey-accent); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pbQuickSurveyBox h2 { margin:0 48px 6px 0; color:var(--survey-text); font-size:25px; line-height:1.15; letter-spacing:-.02em; }
.pbQuickSurveyLead { margin:0 48px 22px 0; color:var(--survey-muted); font-size:14px; line-height:1.45; }
.pbQuickSurveyQuestion { margin:0 0 10px; color:var(--survey-text); font-size:15px; font-weight:800; line-height:1.35; }
.pbQuickSurveyOptional { color:var(--survey-muted); font-size:12px; font-weight:600; }

.pbQuickSurveyRatings { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:8px; }
.pbQuickSurveyRating { position:relative; min-width:0; }
.pbQuickSurveyRating input,
.pbQuickSurveyIssue input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pbQuickSurveyRating span {
	display:flex; min-height:66px; flex-direction:column; align-items:center; justify-content:center; gap:4px;
	border:1px solid var(--survey-border); border-radius:14px; background:var(--survey-bg);
	cursor:pointer; transition:border-color 140ms ease,background 140ms ease,transform 140ms ease;
}
.pbQuickSurveyRating span:hover { transform:translateY(-1px); border-color:var(--survey-accent); }
.pbQuickSurveyRating input:checked + span { border-color:var(--survey-accent); background:var(--survey-accent-soft); color:var(--survey-accent); }
.pbQuickSurveyRatingEmoji { font-size:23px; line-height:1; }
.pbQuickSurveyRatingNumber { font-size:12px; font-weight:800; }
.pbQuickSurveyScale { display:flex; justify-content:space-between; gap:12px; margin:0 2px 22px; color:var(--survey-muted); font-size:11px; }

.pbQuickSurveyIssues { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.pbQuickSurveyIssue { position:relative; }
.pbQuickSurveyIssue span {
	display:inline-flex; align-items:center; min-height:40px; padding:8px 12px;
	border:1px solid var(--survey-border); border-radius:999px; background:var(--survey-bg);
	color:var(--survey-text); font-size:13px; font-weight:650; line-height:1.25; cursor:pointer;
}
.pbQuickSurveyIssue span:hover { border-color:var(--survey-accent); }
.pbQuickSurveyIssue input:checked + span { border-color:var(--survey-accent); background:var(--survey-accent-soft); color:var(--survey-accent); }

.pbQuickSurvey textarea {
	display:block; width:100%; min-height:92px; resize:vertical; margin:0; padding:12px 14px;
	border:1px solid var(--survey-border); border-radius:14px; background:var(--survey-bg); color:var(--survey-text);
	font-family:inherit; font-size:14px; font-weight:400; line-height:1.45;
}
.pbQuickSurvey textarea::placeholder { color:var(--survey-muted); opacity:.9; }
.pbQuickSurvey textarea:focus { border-color:var(--survey-accent); }
.pbQuickSurveyMeta { margin:8px 0 0; color:var(--survey-muted); font-size:11px; line-height:1.4; }
.pbQuickSurveySubmit {
	width:100%; min-height:48px; margin-top:17px; border:0; border-radius:14px;
	background:var(--survey-accent); color:#fff; font-family:inherit; font-size:14px; font-weight:800; line-height:1; cursor:pointer;
}
.pbQuickSurveySubmit:hover { background:var(--survey-accent-hover); }
.pbQuickSurveySubmit:disabled { cursor:wait; opacity:.65; }
.pbQuickSurveyMessage { min-height:20px; margin-top:8px; color:var(--drumix-color-danger,#b42318); font-size:13px; line-height:1.4; text-align:center; }

.pbQuickSurveySuccess { padding:28px 12px 10px; text-align:center; }
.pbQuickSurveySuccessIcon { display:grid; place-items:center; width:62px; height:62px; margin:0 auto 16px; border-radius:50%; background:var(--drumix-color-success-soft,rgba(32,122,79,.11)); color:var(--drumix-color-success,#207a4f); font-size:30px; }
.pbQuickSurveySuccess h2 { margin:0; font-size:24px; }
.pbQuickSurveySuccess p { max-width:430px; margin:9px auto 20px; color:var(--survey-muted); font-size:14px; line-height:1.5; }
.pbQuickSurveySuccess button { min-height:44px; padding:0 24px; border:0; border-radius:12px; background:var(--survey-accent); color:#fff; font-family:inherit; font-size:14px; font-weight:800; line-height:1; cursor:pointer; }

html.pb-student-dark .pbQuickSurvey {
	--survey-accent:#64a9ff; --survey-accent-hover:#82bbff; --survey-accent-soft:rgba(94,169,255,.16);
	--survey-bg:#1c1c1e; --survey-soft:#2c2c2e; --survey-text:#f5f5f7; --survey-muted:#b3b3ba;
	--survey-border:rgba(255,255,255,.15); --survey-overlay:rgba(0,0,0,.74);
}
html.pb-public-dark .pbQuickSurveyInviteStart,
html.pb-public-dark .pbQuickSurveySubmit,
html.pb-public-dark .pbQuickSurveySuccess button,
html.pb-student-dark .pbQuickSurveyInviteStart,
html.pb-student-dark .pbQuickSurveySubmit,
html.pb-student-dark .pbQuickSurveySuccess button { color:var(--drumix-color-on-primary,#07182d); }

html.pbQuickSurveyOpen,
html.pbQuickSurveyOpen body { overflow:hidden!important; overscroll-behavior:none; }
body.pb-rehearsal-mode .pbQuickSurveyLaunchWrap,
body.pb-rehearsal-mode .pbQuickSurveyInvite,
body.pb-concert-mode .pbQuickSurveyLaunchWrap,
body.pb-concert-mode .pbQuickSurveyInvite,
body.pb-trainer-active .pbQuickSurveyLaunchWrap,
body.pb-trainer-active .pbQuickSurveyInvite,
body.pb-practice .pbQuickSurveyLaunchWrap,
body.pb-practice .pbQuickSurveyInvite,
body.pb-admin .pbQuickSurveyLaunchWrap,
body.pb-admin .pbQuickSurveyInvite,
html.pb-dialog-open .pbQuickSurveyLaunchWrap,
html.pb-dialog-open .pbQuickSurveyInvite { display:none!important; }

body.pb-song-mode .pbQuickSurveyLaunchWrap,
body.pb-song-mode .pbQuickSurveyInvite { bottom:calc(88px + env(safe-area-inset-bottom,0px)); }

@media (max-width:640px) {
	.pbQuickSurveyLaunchWrap { right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); min-height:42px; padding:0; }
	.pbQuickSurveyLaunch { padding:8px 10px; }
	.pbQuickSurveyLaunchFull { display:none; }
	.pbQuickSurveyLaunchShort { display:block; }
	.pbQuickSurveyInvite { right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); width:calc(100vw - 24px); padding:15px; border-radius:18px; }
	/* Запас справа под Restart, Play и настройки, включая Safe Area. */
	body.pb-song-mode .pbQuickSurveyLaunchWrap {
		left:max(12px,env(safe-area-inset-left,0px));
		right:auto;
		bottom:calc(82px + env(safe-area-inset-bottom,0px));
		max-width:calc(100vw - 174px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
	}
	body.pb-song-mode .pbQuickSurveyInvite {
		bottom:calc(152px + env(safe-area-inset-bottom,0px));
	}
	.pbQuickSurveyOverlay { align-items:flex-end; padding:0; }
	.pbQuickSurveyBox { width:100%; max-height:92dvh; padding:22px 17px calc(18px + env(safe-area-inset-bottom,0px)); border-width:1px 0 0; border-radius:22px 22px 0 0; }
	.pbQuickSurveyBox h2 { font-size:22px; }
	.pbQuickSurveyLead { margin-right:42px; }
	.pbQuickSurveyRatings { gap:6px; }
	.pbQuickSurveyRating span { min-height:61px; border-radius:12px; }
	.pbQuickSurveyRatingEmoji { font-size:21px; }
	.pbQuickSurveyIssues { gap:7px; }
	.pbQuickSurveyIssue span { min-height:38px; padding:7px 10px; font-size:12px; }
}

@media (min-width:641px) and (max-width:1023px) {
	body.pb-song-mode .pbQuickSurveyLaunchWrap {
		left:max(12px,env(safe-area-inset-left,0px));
		right:auto;
		bottom:calc(82px + env(safe-area-inset-bottom,0px));
		max-width:calc(100vw - 174px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
	}
	body.pb-song-mode .pbQuickSurveyInvite {
		left:max(12px,env(safe-area-inset-left,0px));
		right:auto;
		bottom:calc(152px + env(safe-area-inset-bottom,0px));
		width:min(360px,calc(100vw - 24px));
	}
}

@media (max-width:1023px) {
	/* Опрос располагается над нижним меню и приглашением предложить песню. */
	body.drumix-has-navigation:not(.pb-song-mode) .pbQuickSurveyLaunchWrap,
	body.drumix-has-navigation:not(.pb-song-mode) .pbQuickSurveyInvite {
		bottom:calc(var(--drumix-nav-mobile-height,62px) + 68px + env(safe-area-inset-bottom,0px));
	}
}

@media (max-height:560px) and (orientation:landscape) {
	.pbQuickSurveyOverlay { align-items:stretch; padding:8px max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px)); }
	.pbQuickSurveyBox { max-height:none; padding:18px; border-radius:18px; }
	.pbQuickSurveyLead { margin-bottom:14px; }
	.pbQuickSurveyRatings { margin-right:44%; }
	.pbQuickSurveyScale { margin-right:44%; margin-bottom:14px; }
}

@media (prefers-reduced-motion:reduce) {
	.pbQuickSurveyLaunchWrap,
	.pbQuickSurveyRating span { transition:none; }
}
