:root{
	--px-bg:#0b0f14;
	--px-panel:#0f1620;
	--px-panel2:#0c121a;
	--px-line:rgba(255,255,255,.10);
	--px-text:rgba(255,255,255,.92);
	--px-muted:rgba(255,255,255,.62);
	--px-accent:#ff6600;
	--px-accent2:rgba(255,102,0,.18);
	--px-shadow:0 14px 40px rgba(0,0,0,.35);
	--px-r:18px;
	--px-r2:14px;
}

html[data-theme="light"]{
	--px-bg:#f6f7f9;
	--px-panel:#ffffff;
	--px-panel2:#f1f3f6;
	--px-line:rgba(0,0,0,.10);
	--px-text:#0b0f14;
	--px-muted:rgba(0,0,0,.62);
	--px-accent:#ff6600;
	--px-accent2:rgba(255,102,0,.14);
	--px-shadow:0 16px 45px rgba(0,0,0,.08);
}

#polls-index{
	color:var(--px-text);
}

#polls-index .px-main{
	max-width:1120px;
	margin:0 auto;
	padding:34px 22px 56px;
}

#polls-index .px-hero{
	margin-bottom:18px;
}

#polls-index .px-heroCard{
	border:1px solid var(--px-line);
	background:linear-gradient(180deg,var(--px-panel),var(--px-panel2));
	border-radius:22px;
	box-shadow:var(--px-shadow);
	padding:22px 22px 20px;
}

#polls-index .px-kicker{
	display:inline-flex;
	align-items:center;
	font-size:12px;
	font-weight:800;
	letter-spacing:.2px;
	padding:6px 10px;
	border-radius:999px;
	border:1px solid var(--px-line);
	background:var(--px-accent2);
	color:var(--px-text);
}

#polls-index .px-title{
	margin:12px 0 8px;
	font-size:44px;
	line-height:1.06;
	letter-spacing:-.6px;
}

#polls-index .px-sub{
	margin:0;
	color:var(--px-muted);
	line-height:1.5;
	max-width:60ch;
}

#polls-index .px-grid{
	display:grid;
	grid-template-columns:1fr;
	gap:16px;
	margin-top:16px;
	align-items:stretch;
}

@media (min-width:720px){
	#polls-index .px-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media (min-width:1020px){
	#polls-index .px-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}
}

#polls-index .px-card{
	border:1px solid var(--px-line);
	background:var(--px-panel);
	border-radius:22px;
	box-shadow:var(--px-shadow);
	overflow:hidden;
	position:relative;
}

#polls-index .px-cardInner{
	display:flex;
	flex-direction:column;
	gap:14px;
	padding:18px;
	min-height:168px;
}

#polls-index .px-cardTitle{
	margin:0;
	font-size:16px;
	line-height:1.25;
	letter-spacing:-.2px;
}

#polls-index .px-desc{
	margin:10px 0 0;
	color:var(--px-muted);
	line-height:1.55;
}

#polls-index .px-descEmpty{
	opacity:.75;
}

#polls-index .px-cardActions{
	margin-top:auto;
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
}

#polls-index .px-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:40px;
	padding:0 14px;
	border-radius:12px;
	border:1px solid rgba(255,102,0,.45);
	background:rgba(255,102,0,.18);
	color:var(--px-text);
	text-decoration:none;
	font-weight:800;
	letter-spacing:.1px;
	transition:transform .08s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}

#polls-index .px-btn:hover{
	transform:translateY(-1px);
	border-color:rgba(255,102,0,.60);
	background:rgba(255,102,0,.24);
	box-shadow:0 0 0 4px rgba(255,102,0,.18);
}

#polls-index .px-btn:focus-visible{
	outline:none;
	box-shadow:0 0 0 4px rgba(255,102,0,.22);
}

#polls-index .px-card:only-child{
	grid-column:1 / -1;
}

#polls-index .px-card:only-child .px-cardInner{
	padding:22px;
	min-height:220px;
}

#polls-index .px-card:only-child .px-cardTitle{
	font-size:20px;
}

@media (min-width:720px){
	#polls-index .px-card:only-child .px-cardInner{
		flex-direction:row;
		align-items:stretch;
		gap:18px;
	}
	#polls-index .px-card:only-child .px-cardText{
		flex:1;
		padding-right:6px;
	}
	#polls-index .px-card:only-child .px-cardActions{
		align-items:center;
		justify-content:flex-end;
		min-width:160px;
	}
	#polls-index .px-card:only-child .px-btn{
		height:46px;
		padding:0 18px;
		border-radius:14px;
	}
}

#polls-index .px-card:only-child:before{
	content:"";
	position:absolute;
	inset:-1px;
	border-radius:22px;
	pointer-events:none;
	background:radial-gradient(720px 280px at 18% 0%, rgba(255,102,0,.18), transparent 60%);
}

html[data-theme="light"] #polls-index .px-card:only-child:before{
	background:radial-gradient(720px 280px at 18% 0%, rgba(255,102,0,.12), transparent 60%);
}

#polls-index .px-card--empty .px-cardInner{
	min-height:140px;
}

#polls-index .px-emptyTitle{
	margin:0;
	font-weight:900;
	letter-spacing:-.2px;
}

#polls-index .px-emptySub{
	margin:8px 0 0;
	color:var(--px-muted);
}
