:root{
	--ao-blue:#0069e2;
	--ao-text:#0b0b0b;
	--ao-muted:rgba(11,11,11,0.68);
	--ao-border:rgba(11,11,11,0.14);
	--ao-border-strong:rgba(11,11,11,0.20);
	--ao-surface:#ffffff;
	--ao-soft:#f5f7fb;
	--ao-soft-2:#eef3ff;
	--ao-fill:rgba(0,105,226,0.18);
}

.ao-poll{
	color:var(--ao-text) !important;
	background:var(--ao-surface) !important;
	border:1px solid var(--ao-border);
	border-radius:18px;
	padding:20px 20px 18px;
	margin-top:100px;
	margin-bottom:100px;
	box-shadow:0 1px 2px rgba(0,0,0,0.06);
}

.ao-poll *{ box-sizing:border-box; }

.ao-poll-question{
	color:var(--ao-text) !important;
	font-weight:700;
	font-size:20px;
	line-height:1.45;
	letter-spacing:0.1px;
	margin-top:20px;
	margin-bottom:30px;
	text-align:center;
}

.ao-poll-answers{ display:grid; gap:10px; }

.ao-poll-btn{
	position:relative;
	overflow:hidden;
	appearance:none;
	width:100%;
	min-height:52px;
	border:1px solid var(--ao-border-strong);
	background:var(--ao-soft) !important;
	color:var(--ao-text) !important;
	border-radius:16px;
	padding:14px 14px;
	text-align:left;
	cursor:pointer;
	transition:transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.ao-poll-btn:hover{
	background:var(--ao-soft-2) !important;
	border-color:rgba(0,105,226,0.45);
}

.ao-poll-btn:active{ transform:scale(0.992); }

.ao-poll-btn:focus-visible{
	outline:none;
	box-shadow:0 0 0 3px rgba(0,105,226,0.22);
	border-color:rgba(0,105,226,0.60);
}

.ao-poll-btn[disabled]{ cursor:default; opacity:0.96; }

.ao-poll-btn.is-selected{
	border-color:rgba(0,105,226,0.75);
	box-shadow:0 0 0 3px rgba(0,105,226,0.14);
}

.ao-poll-btn-fill{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:0%;
	background:var(--ao-fill);
	transition:width 1.3s ease;
}

.ao-poll-btn-inner{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	width:100%;
}

.ao-poll-btn-label{
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap !important;
	font-size:14px;
	line-height:1.35;
	color:var(--ao-text) !important;
}

.ao-poll-btn-meta{
	flex:0 0 auto;
	display:flex;
	align-items:center;
	gap:10px;
}

.ao-poll-btn-percent{
	flex:0 0 4.2em;
	width:4.2em;
	text-align:right;
	font-size:14px;
	line-height:1.35;
	color:var(--ao-muted) !important;
	opacity:0;
	transform:translateY(1px);
	transition:opacity .15s ease, color .15s ease;
}

.ao-poll-btn-status{
	display:none;
	font-size:13px;
	line-height:1.35;
	color:var(--ao-muted) !important;
	white-space:nowrap;
}

.ao-poll-btn-spinner{
	display:none;
	width:14px;
	height:14px;
	border-radius:999px;
	border:2px solid rgba(0,0,0,0.18);
	border-top-color:rgba(0,105,226,0.85);
	animation:aoPollSpin .7s linear infinite;
}

@keyframes aoPollSpin{
	0%{ transform:rotate(0deg); }
	100%{ transform:rotate(360deg); }
}

.ao-poll-btn.is-loading .ao-poll-btn-status{ display:inline-block; }
.ao-poll-btn.is-loading .ao-poll-btn-spinner{ display:inline-block; }
.ao-poll-btn.is-loading .ao-poll-btn-percent{ display:none !important; }

.ao-poll[data-mode="results"] .ao-poll-btn-percent{
	opacity:1;
	color:var(--ao-blue) !important;
}

.ao-poll-total{
	margin-top:12px;
	font-size:12px;
	color:var(--ao-muted) !important;
	min-height:1.35em;
	line-height:1.35;
	text-align:center;
}

.ao-poll-error{
	margin-top:12px;
	font-size:12px;
	color:#b00020 !important;
}
