.contest-wrap{
	max-width:1040px;
	margin:0 auto;
	text-align:left;
}

#rs-main .contest-hero,
#rs-main .contest-card,
#rs-main .contest-hist-card,
#rs-main .contest-votenow,
#rs-main .contest-back{
	text-decoration:none;
}

.contest-head{
	text-align:center;
	margin:8px 0 26px;
}
.contest-intro{
	max-width:620px;
	margin:8px auto 0;
	font-size:1.0625rem;
	line-height:1.5;
	color:#55606e;
}
.contest-empty{
	text-align:center;
	font-size:1.0625rem;
	color:#8a8a96;
	margin:48px 0;
}

.contest-hero{
	position:relative;
	overflow:hidden;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:30px;
	margin:6px 0 30px;
	padding:30px 34px;
	border-radius:26px;
	color:#fff;
	text-decoration:none;
	background:linear-gradient(115deg,#3a72b8 0%,#4791c2 46%,#52aaab 70%,#5fbd98 100%);
	box-shadow:0 14px 34px rgba(40,90,130,0.28);
	transition:box-shadow 0.15s;
}
.contest-hero:hover{
	box-shadow:0 18px 40px rgba(40,90,130,0.34);
	text-decoration:none;
}
.contest-hero::after{
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(120% 150% at 88% 6%,rgba(255,255,255,0.30),rgba(255,255,255,0) 55%);
	pointer-events:none;
}
.contest-hero>*{
	position:relative;
	z-index:1;
}
.contest-hero-main{
	flex:1 1 auto;
	min-width:0;
	max-width:60%;
}
.contest-hero-eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:6px 13px;
	border-radius:30px;
	background:rgba(255,255,255,0.18);
	font-size:0.72rem;
	font-weight:700;
	letter-spacing:0.10em;
	text-transform:uppercase;
}
.contest-hero-eyebrow::before{
	content:"";
	width:9px;
	height:9px;
	border-radius:50%;
	background:#ff6a45;
	box-shadow:0 0 0 4px rgba(255,106,69,0.28);
}
.contest-hero-title{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:var(--hero-title-fs, 2.9rem);
	line-height:1.04;
	letter-spacing:-0.01em;
	margin:16px 0 0;
	color:#fff;
	overflow-wrap:break-word;
	word-break:break-word;
	-webkit-hyphens:auto;
	hyphens:auto;
	-webkit-hyphenate-limit-before:3;
	-webkit-hyphenate-limit-after:3;
	hyphenate-limit-chars:6 3 3;
}
.contest-hero-title.is-len-m{ --hero-title-fs:2.45rem; }
.contest-hero-title.is-len-l{ --hero-title-fs:2.05rem; }
.contest-hero-title.is-len-xl{ --hero-title-fs:1.7rem; }
.contest-hero-title.is-len-xxl{ --hero-title-fs:1.45rem; }
.contest-hero-desc{
	max-width:46ch;
	margin:14px 0 0;
	font-size:1.0625rem;
	line-height:1.5;
	color:rgba(255,255,255,0.92);
}
.contest-hero-side{
	flex:0 0 auto;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:16px;
}
.contest-hero-stats{
	display:flex;
	gap:12px;
}
.contest-stat{
	min-width:104px;
	padding:13px 18px;
	border-radius:16px;
	text-align:center;
	background:rgba(255,255,255,0.18);
	border:1px solid rgba(255,255,255,0.26);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.18);
}
.contest-stat-value{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.5rem;
	line-height:1.1;
	white-space:nowrap;
	text-shadow:0 1px 2px rgba(0,0,0,0.12);
}
.contest-stat-label{
	margin-top:3px;
	font-size:0.68rem;
	font-weight:700;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.85);
}
.contest-hero-cta{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:15px 30px;
	border-radius:30px;
	background:linear-gradient(135deg,#ff8a4c 0%,#ff5e3a 100%);
	color:#fff !important;
	font-weight:800;
	font-size:1.12rem;
	text-decoration:none;
	box-shadow:0 10px 26px rgba(255,80,46,0.45),0 2px 6px rgba(0,0,0,0.12);
	transition:box-shadow 0.15s,filter 0.15s;
}
.contest-hero:hover .contest-hero-cta{
	box-shadow:0 12px 30px rgba(255,80,46,0.55),0 2px 6px rgba(0,0,0,0.14);
	filter:brightness(1.05);
}
.contest-hero-cta svg{
	width:18px;
	height:18px;
}
.contest-hero-chip{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:0.85rem;
	font-weight:700;
	color:#fff;
}
.contest-hero-chip svg{
	width:15px;
	height:15px;
}

.contest-votenow{
	display:flex;
	width:fit-content;
	max-width:100%;
	align-items:center;
	gap:11px;
	margin:6px auto 14px;
	padding:14px 22px;
	border-radius:18px;
	background:linear-gradient(135deg,#ff8a4c,#ff5e3a);
	color:#fff !important;
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.05rem;
	letter-spacing:0.08em;
	text-transform:uppercase;
	box-shadow:0 10px 26px rgba(255,80,46,0.40);
	transition:box-shadow 0.15s,filter 0.15s;
}
.contest-votenow:hover{
	box-shadow:0 12px 30px rgba(255,80,46,0.50);
	filter:brightness(1.05);
}
.contest-votenow-dot{
	width:10px;
	height:10px;
	border-radius:50%;
	background:#fff;
	animation:contest-votenow-pulse 1.8s ease-out infinite;
}
@keyframes contest-votenow-pulse{
	0%{ box-shadow:0 0 0 0 rgba(255,255,255,0.6); }
	70%{ box-shadow:0 0 0 9px rgba(255,255,255,0); }
	100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
}

.contest-section-title{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.5rem;
	color:#2a2a33;
	margin:4px 0 16px;
	text-align:center;
}

.contest-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:18px;
}
.contest-card{
	position:relative;
	display:flex;
	flex-direction:column;
	flex:1 1 300px;
	max-width:340px;
	padding:18px 18px 20px;
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:18px;
	text-decoration:none;
	color:#333;
	box-shadow:0 3px 12px rgba(40,60,90,0.07);
	transition:box-shadow 0.15s;
}
.contest-card:hover{
	box-shadow:0 10px 24px rgba(40,60,90,0.14);
	text-decoration:none;
}
.contest-card-theme{
	font-family:'Nunito', sans-serif;
	font-weight:700;
	font-size:1.2rem;
	color:#2a2a33;
	margin:12px 0 8px;
}
.contest-card-countdown{
	font-size:0.9rem;
	color:#5a6472;
}
.contest-card-meta{
	font-size:0.84rem;
	color:#9098a6;
	margin-top:7px;
}
.contest-card-submitted{
	display:inline-flex;
	align-items:center;
	gap:5px;
	margin-top:12px;
	font-size:0.8rem;
	font-weight:700;
	color:#1a8a3a;
}
.contest-card-submitted svg{
	width:14px;
	height:14px;
}

.contest-badge{
	align-self:flex-start;
	display:inline-block;
	padding:4px 11px;
	border-radius:30px;
	font-size:0.72rem;
	font-weight:700;
	letter-spacing:0.03em;
	text-transform:uppercase;
	color:#fff;
}
.badge-submission{ background-color:#1a9a4a; }
.badge-voting{ background-color:#e58a00; }
.badge-scheduled{ background-color:#4f86c6; }
.badge-finalizing{ background-color:#7a52b3; }
.badge-completed{ background-color:#8a8a96; }

.contest-detail{
	max-width:780px;
	margin:0 auto;
	text-align:left;
}
.contest-back{
	display:inline-flex;
	align-items:center;
	gap:6px;
	margin-bottom:16px;
	font-size:0.92rem;
	text-decoration:none;
	color:#4f86c6;
}
#rs-main .contest-back:hover{
	text-decoration:underline;
}
.contest-back svg{
	width:16px;
	height:16px;
}
.contest-detail-title{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:2.4rem;
	line-height:1.08;
	margin:10px 0 0;
	overflow-wrap:break-word;
	word-break:break-word;
	-webkit-hyphens:auto;
	hyphens:auto;
	-webkit-hyphenate-limit-before:3;
	-webkit-hyphenate-limit-after:3;
	hyphenate-limit-chars:6 3 3;
}
#rs-main .contest-detail-title{
	color:#2a2a33 !important;
	text-align:left;
}
#rs-main .contest-detail-hero.has-cover .contest-detail-title{
	color:#fff !important;
}
.contest-desc{
	font-size:1.0625rem;
	line-height:1.5;
	color:#444;
	margin:8px 0 0;
}
#rs-main .contest-detail-hero.has-cover .contest-desc{
	color:rgba(255,255,255,0.92);
}
.contest-steps{
	display:flex;
	align-items:flex-start;
	margin:0 0 20px;
	padding:22px 6px 8px;
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:16px;
	box-shadow:0 3px 12px rgba(40,60,90,0.06);
}
.contest-steps--below{
	margin-top:26px;
}
.contest-step{
	position:relative;
	flex:1 1 0;
	min-width:0;
	padding:0 6px;
	text-align:center;
}
.contest-step::before,
.contest-step::after{
	content:"";
	position:absolute;
	top:9px;
	left:50%;
	height:3px;
	border-radius:3px;
}
.contest-step::before{
	width:100%;
	background:#dfe3ea;
}
.contest-step::after{
	width:calc(var(--fill, 0) * 100%);
	background:#4f86c6;
}
.contest-step:last-child::before,
.contest-step:last-child::after{
	display:none;
}
.contest-step-dot{
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	margin:0 auto;
	border-radius:50%;
	background:#fff;
	border:2px solid #cfd6e0;
	box-sizing:border-box;
}
.contest-step-dot svg{
	width:11px;
	height:11px;
	color:#fff;
}
.contest-step-name{
	position:relative;
	z-index:1;
	display:block;
	margin-top:13px;
	font-family:'Nunito', sans-serif;
	font-size:0.82rem;
	font-weight:700;
	line-height:1.35;
	letter-spacing:0.03em;
	text-transform:uppercase;
	color:#9098a6;
}
.contest-step-time{
	position:relative;
	z-index:1;
	display:block;
	margin-top:3px;
	font-size:0.82rem;
	line-height:1.3;
	color:#9098a6;
}
.contest-step.is-done .contest-step-dot{
	background:#4f86c6;
	border-color:#4f86c6;
}
.contest-step.is-done .contest-step-name{
	color:#6b7480;
}
.contest-step.is-current .contest-step-dot{
	background:#4f86c6;
	border-color:#4f86c6;
	box-shadow:0 0 0 4px rgba(79,134,198,0.18);
}
.contest-step.is-current .contest-step-name{
	color:#2a2a33;
}
.contest-step.is-current .contest-step-time{
	color:#2a2a33;
	font-weight:800;
	font-size:0.95rem;
}
.contest-panel{
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:20px;
	padding:24px;
	box-shadow:0 4px 16px rgba(40,60,90,0.08);
}
.contest-panel h2,
.contest-submitted-box h2{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.4rem;
	color:#2a2a33;
	margin:0 0 14px;
	text-align:center;
}
.contest-preview{
	margin-bottom:18px;
	text-align:center;
}
.contest-preview img{
	max-width:100%;
	max-height:380px;
	border-radius:14px;
	box-shadow:0 4px 16px rgba(0,0,0,0.16);
}
.contest-myimage{
	display:inline-block;
	margin-bottom:16px;
	padding:8px;
	background:#fff;
	border:1px solid #ececf2;
	border-radius:16px;
	box-shadow:0 8px 26px rgba(40,60,90,0.12);
	line-height:0;
}
.contest-myimage img{
	display:block;
	max-width:100%;
	max-height:420px;
	border-radius:10px;
}
.contest-submit-intro{
	margin:0 auto 22px;
	text-align:center;
	font-size:1.0625rem;
	line-height:1.5;
	color:#55606e;
}
.contest-actions{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	align-items:center;
	justify-content:center;
}
.contest-actions .btn-norm{
	display:inline-flex;
	align-items:center;
	gap:8px;
	border-radius:30px;
	padding:0.6rem 1.4rem;
}
.contest-actions .btn-norm svg{
	width:18px;
	height:18px;
}
.contest-ai-btn{
	background:linear-gradient(135deg,#7c5cff,#b14bf4);
}
.contest-ai-btn:hover{
	background:linear-gradient(135deg,#6a49f2,#a235e8);
	text-decoration:none;
}
#contest-confirm{
	max-width:560px;
	margin:0 auto 18px;
	padding:15px 18px;
	border:1px solid #e6e8ee;
	border-radius:14px;
	background:#fafbfc;
	text-align:left;
}
#contest-confirm .contest-rules{
	margin:0 0 12px;
	padding:0;
	border-top:none;
	text-align:left;
}
.contest-confirm-check{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:0.95rem;
	line-height:1.45;
	color:#55606e;
}
.contest-actions .btn-norm:disabled{
	opacity:0.5;
	cursor:not-allowed;
}
.contest-msg{
	margin-top:14px;
	font-size:0.94rem;
	color:#c0392b;
	min-height:1.2em;
	text-align:center;
}
.contest-rules{
	margin:18px auto 0;
	padding-top:16px;
	border-top:1px solid #eceef3;
	font-size:0.88rem;
	line-height:1.5;
	color:#8a8a96;
	text-align:center;
}
.contest-rules b{
	color:#6a6f7a;
}
.contest-locked{
	font-size:0.92rem;
	color:#9098a6;
	margin-top:16px;
	text-align:center;
}
.contest-locked svg{
	width:14px;
	height:14px;
	vertical-align:-2px;
	margin-right:5px;
}
.contest-confirm{
	text-align:center;
}
.contest-confirm-mark{
	width:54px;
	height:54px;
	margin:0 auto 10px;
	border-radius:50%;
	background:#e7f6ed;
	display:flex;
	align-items:center;
	justify-content:center;
}
.contest-confirm-mark svg{
	width:30px;
	height:30px;
	color:#1a9a4a;
}
.contest-hint{
	font-size:1.0625rem;
	line-height:1.5;
	color:#55606e;
	margin:0;
}

.contest-prizes{
	margin-top:26px;
}
.contest-prizes-title{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.5rem;
	color:#2a2a33;
	text-align:center;
	margin:0 0 18px;
}
.contest-prize-list{
	display:flex;
	flex-direction:column;
	gap:12px;
}
.contest-prize{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:14px 18px;
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:16px;
	box-shadow:0 3px 12px rgba(40,60,90,0.06);
}
.contest-prize.is-gold{
	border-color:#f0d488;
	background:linear-gradient(180deg,#fffdf5,#fff);
}
.contest-prize-rank{
	display:flex;
	align-items:center;
	gap:14px;
	min-width:0;
}
.contest-prize-medal{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:42px;
	height:42px;
	border-radius:50%;
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.15rem;
	color:#fff;
	background:#b8c0cc;
	box-shadow:inset 0 -2px 4px rgba(0,0,0,0.18),0 2px 5px rgba(0,0,0,0.12);
}
.contest-prize.is-gold .contest-prize-medal{
	background:linear-gradient(145deg,#ffd86b,#e0a30f);
}
.contest-prize.is-silver .contest-prize-medal{
	background:linear-gradient(145deg,#eef1f5,#aab2bf);
	color:#5a6472;
}
.contest-prize.is-bronze .contest-prize-medal{
	background:linear-gradient(145deg,#e7a979,#bd7440);
}
.contest-prize.is-finalist .contest-prize-medal{
	background:linear-gradient(145deg,#eef0f4,#cfd5de);
	color:#7a828f;
}
.contest-prize-place{
	font-family:'Nunito', sans-serif;
	font-weight:800;
	font-size:1.05rem;
	color:#2a2a33;
}
.contest-prize-rewards{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	justify-content:flex-end;
}
.contest-prize-reward{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:6px 12px;
	border-radius:30px;
	background:#f4f5f8;
	font-size:0.92rem;
	font-weight:700;
	color:#3a4250;
	white-space:nowrap;
}
.contest-prize-icon{
	display:block;
	width:18px;
	height:18px;
}

@media screen and (max-width:560px){
	.contest-prize{
		flex-direction:column;
		align-items:stretch;
		gap:12px;
	}
	.contest-prize-rewards{
		justify-content:flex-start;
	}
}

@media screen and (max-width:760px){
	.contest-hero{
		flex-direction:column;
		padding:24px 22px;
		border-radius:22px;
	}
	.contest-hero-main{
		max-width:100%;
	}
	.contest-hero-title{
		--hero-title-fs:2.1rem;
	}
	.contest-hero-title.is-len-m{ --hero-title-fs:1.85rem; }
	.contest-hero-title.is-len-l{ --hero-title-fs:1.6rem; }
	.contest-hero-title.is-len-xl{ --hero-title-fs:1.4rem; }
	.contest-hero-title.is-len-xxl{ --hero-title-fs:1.25rem; }
	.contest-hero-side{
		align-items:stretch;
		width:100%;
	}
	.contest-hero-stats{
		width:100%;
	}
	.contest-stat{
		flex:1 1 0;
		min-width:0;
	}
	.contest-hero-cta{
		justify-content:center;
	}
}
@media screen and (max-width:600px){
	.contest-card{
		flex:1 1 100%;
		max-width:100%;
	}
}

.contest-vote{
	margin-top:4px;
}
.contest-vote-head{
	text-align:center;
	margin-bottom:18px;
	margin-top:35px;
}
.contest-vote-q{
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.5rem;
	color:#2a2a33;
	margin:0 0 6px;
}
.contest-vote-reward{
	margin:6px 0 0;
	font-size:0.9rem;
	color:#5a6472;
}
.contest-duel{
	display:flex;
	gap:18px;
	align-items:flex-start;
}
.contest-duel.is-busy{
	opacity:0.55;
	pointer-events:none;
}
.contest-duel-cell{
	position:relative;
	flex:1 1 0;
	min-width:0;
	display:block;
	padding:0;
	aspect-ratio:1 / 1;
	box-sizing:border-box;
	border:2px solid #e8e8ee;
	border-radius:18px;
	background:#f4f5f8;
	cursor:pointer;
	overflow:hidden;
	transition:border-color 0.15s,box-shadow 0.15s;
}
.contest-duel-cell:hover{
	border-color:#1a9a4a;
	box-shadow:0 10px 24px rgba(40,60,90,0.16);
}
.contest-duel-cell img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
}
.contest-duel-pick{
	position:absolute;
	left:50%;
	bottom:14px;
	transform:translateX(-50%);
	padding:8px 18px;
	border-radius:30px;
	background:rgba(26,154,74,0.96);
	color:#fff;
	font-weight:700;
	font-size:0.9rem;
	white-space:nowrap;
	opacity:0;
	pointer-events:none;
	transition:opacity 0.15s;
}
.contest-duel-cell:hover .contest-duel-pick{
	opacity:1;
}
.contest-vote-status{
	width:100%;
	text-align:center;
	padding:46px 0;
	color:#9098a6;
	font-size:1rem;
}
.contest-vote-msg{
	margin-top:10px;
	min-height:1.2em;
	text-align:center;
	font-size:0.92rem;
	color:#c0392b;
}
.contest-myentry{
	margin-top:26px;
}
.contest-myentry h2{
	font-size:1.1rem;
}
@media screen and (max-width:600px){
	.contest-duel{
		flex-direction:column;
		gap:14px;
	}
	.contest-duel-cell{
		flex:0 0 auto;
		width:100%;
	}
	.contest-duel-pick{
		opacity:1;
	}
}

.contest-hist-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:18px;
}
.contest-hist-card{
	display:flex;
	flex-direction:column;
	flex:1 1 220px;
	max-width:250px;
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:18px;
	overflow:hidden;
	color:#333;
	box-shadow:0 3px 12px rgba(40,60,90,0.07);
	transition:box-shadow 0.15s;
}
.contest-hist-card:hover{
	box-shadow:0 10px 24px rgba(40,60,90,0.14);
}
.contest-hist-img{
	position:relative;
	height:170px;
	background:#eef1f5;
}
.contest-hist-img img{
	display:block;
	width:100%;
	height:170px;
	object-fit:cover;
}
.contest-hist-img.is-empty{
	background:linear-gradient(135deg,#c9d6e5 0%,#aebfd4 100%);
}
.contest-hist-badge{
	position:absolute;
	top:12px;
	left:12px;
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:4px 10px;
	border-radius:30px;
	background:rgba(18,26,38,0.72);
	color:#fff;
	font-size:0.72rem;
	font-weight:700;
}
.contest-hist-badge svg{
	width:14px;
	height:14px;
}
.contest-hist-user{
	position:absolute;
	left:12px;
	bottom:12px;
	padding:3px 10px;
	border-radius:30px;
	background:rgba(20,28,40,0.66);
	color:#fff;
	font-size:0.78rem;
	font-weight:700;
}
.contest-hist-body{
	padding:14px 16px 16px;
}
.contest-hist-theme{
	font-family:'Nunito', sans-serif;
	font-weight:800;
	font-size:var(--hist-title-fs, 1.25rem);
	line-height:1.15;
	color:#2a2a33;
	margin:0;
	overflow-wrap:break-word;
	word-break:break-word;
	-webkit-hyphens:auto;
	hyphens:auto;
	-webkit-hyphenate-limit-before:3;
	-webkit-hyphenate-limit-after:3;
	hyphenate-limit-chars:6 3 3;
}
.contest-hist-theme.is-len-m{ --hist-title-fs:1.12rem; }
.contest-hist-theme.is-len-l{ --hist-title-fs:1.02rem; }
.contest-hist-theme.is-len-xl{ --hist-title-fs:0.92rem; }
.contest-hist-stats{
	font-size:0.84rem;
	color:#9098a6;
}
.contest-hist-more{
	display:inline-block;
	margin-top:10px;
	font-size:0.84rem;
	font-weight:700;
	color:#4f86c6;
}
.contest-hist-all{
	margin-top:24px;
	text-align:center;
}
.contest-hist-all-link{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:11px 22px;
	border:1px solid #dfe4ec;
	border-radius:30px;
	background:#fff;
	font-family:'Nunito', sans-serif;
	font-size:0.95rem;
	font-weight:800;
	color:#4f86c6;
	box-shadow:0 3px 12px rgba(40,60,90,0.07);
	transition:box-shadow 0.15s, border-color 0.15s;
}
#rs-main .contest-hist-all-link{
	text-decoration:none;
}
#rs-main .contest-hist-all-link:hover{
	border-color:#c4d3e6;
	box-shadow:0 8px 20px rgba(40,60,90,0.14);
}
.contest-hist-all-link svg{
	width:15px;
	height:15px;
}

.contest-result{
	text-align:center;
}
.contest-result-label{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:5px 13px;
	border-radius:30px;
	background:#fdeccd;
	color:#8a5a00;
	font-size:0.78rem;
	font-weight:700;
	margin-bottom:14px;
}
.contest-result-label svg{
	width:15px;
	height:15px;
}
.contest-result-user{
	margin-top:10px;
	font-family:'Nunito', sans-serif;
	font-weight:700;
	font-size:1.05rem;
	color:#2a2a33;
}
.contest-result-stats{
	margin-top:12px;
	font-size:0.9rem;
	color:#9098a6;
}
.contest-result-own{
	margin-top:8px;
	font-size:0.95rem;
	font-weight:700;
	color:#3a4250;
}

.contest-feed{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:22px;
	max-width:560px;
	margin:22px auto 0;
}
.contest-feed-item{
	width:100%;
	background:#fff;
	border:1px solid #e8e8ee;
	border-radius:18px;
	padding:16px;
	box-shadow:0 3px 12px rgba(40,60,90,0.06);
	text-align:center;
}
.contest-feed-rank{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-bottom:12px;
}
.contest-feed-medal{
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:38px;
	height:38px;
	border-radius:50%;
	font-family:'Nunito', sans-serif;
	font-weight:900;
	font-size:1.05rem;
	color:#fff;
	background:#b8c0cc;
	box-shadow:inset 0 -2px 4px rgba(0,0,0,0.18),0 2px 5px rgba(0,0,0,0.12);
}
.contest-feed-item.is-gold .contest-feed-medal{
	background:linear-gradient(145deg,#ffd86b,#e0a30f);
}
.contest-feed-item.is-silver .contest-feed-medal{
	background:linear-gradient(145deg,#eef1f5,#aab2bf);
	color:#5a6472;
}
.contest-feed-item.is-bronze .contest-feed-medal{
	background:linear-gradient(145deg,#e7a979,#bd7440);
}
.contest-feed-place{
	font-family:'Nunito', sans-serif;
	font-weight:800;
	font-size:1.05rem;
	color:#2a2a33;
}
.contest-feed-item.is-minor .contest-feed-rank{
	margin-bottom:10px;
}
.contest-feed-item.is-minor .contest-feed-place{
	font-size:0.88rem;
	font-weight:700;
	color:#8a8a95;
}
.contest-feed-img{
	display:block;
	font-size:0;
	border-radius:14px;
	overflow:hidden;
}
.contest-feed-img img{
	display:block;
	width:100%;
	height:auto;
	border-radius:14px;
}
.contest-feed-user{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	margin-bottom:12px;
}
.contest-feed-avatar{
	display:inline-flex;
	flex:0 0 auto;
}
.contest-feed-avatar img{
	display:block;
	width:40px;
	height:40px;
	border-radius:50%;
	box-shadow:0 0 3px 1px rgba(0,0,0,0.15);
}
.contest-feed-name{
	min-width:0;
	font-family:'Nunito', sans-serif;
	font-weight:700;
	font-size:1rem;
	color:#2a2a33;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.contest-feed-name a{
	color:inherit;
	text-decoration:none;
}
#contest-more-btn{
	display:block;
	width:fit-content;
	margin:22px auto 0;
}
.contest-feed-item.is-hidden{
	display:none;
}
.contest-feed-note{
	margin:18px auto 0;
	font-family:'Nunito', sans-serif;
	font-size:0.9rem;
	color:#8a8a95;
	text-align:center;
}

@media screen and (max-width:600px){
	.contest-hist-card{
		flex:1 1 100%;
		max-width:100%;
	}
	.contest-hist-img,
	.contest-hist-img img{
		height:200px;
	}
}

.contest-hero.has-cover{
	min-height:280px;
	max-width:650px;
	margin-left:auto;
	margin-right:auto;
}
#rs-main .contest-hero{
	color:#fff;
}
#rs-main .contest-hero-title{
	color:#fff !important;
	text-align:left;
}
#rs-main .contest-hero-cover{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 35%;
	z-index:0;
}
#rs-main .contest-hero-scrim{
	position:absolute;
	inset:0;
	z-index:0;
	background:linear-gradient(180deg,rgba(10,24,46,0.88) 0%,rgba(10,24,46,0.64) 45%,rgba(10,24,46,0.40) 100%);
}

.contest-card-cover{
	margin:-18px -18px 14px;
	height:150px;
	background:#eef1f5;
	border-radius:18px 18px 0 0;
	overflow:hidden;
}
.contest-card-cover img{
	display:block;
	width:100%;
	height:150px;
	object-fit:cover;
}

.contest-detail-hero{
	margin:0 0 18px;
}
.contest-detail-hero.has-cover{
	position:relative;
	display:flex;
	min-height:160px;
	border-radius:20px;
	overflow:hidden;
	box-shadow:0 6px 20px rgba(40,60,90,0.16);
}
.contest-detail-hero-img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 35%;
	z-index:0;
}
.contest-detail-hero-scrim{
	position:absolute;
	inset:0;
	z-index:0;
	background:linear-gradient(180deg,rgba(8,14,26,0) 0%,rgba(8,14,26,0.20) 42%,rgba(8,14,26,0.82) 100%);
}
.contest-detail-hero-body{
	padding:0;
}
.contest-detail-hero.has-cover .contest-detail-hero-body{
	position:relative;
	z-index:1;
	align-self:flex-end;
	width:100%;
	min-width:0;
	padding:22px 24px;
}
.contest-detail-date{
	display:inline-block;
	margin-left:10px;
	font-size:0.74rem;
	font-weight:700;
	letter-spacing:0.04em;
	text-transform:uppercase;
	color:#8a8a96;
}
.contest-detail-hero.has-cover .contest-detail-date{
	color:rgba(255,255,255,0.85);
}
@media screen and (max-width:600px){
	.contest-detail-hero.has-cover{
		min-height:180px;
	}
	.contest-detail-title{
		font-size:2rem;
	}
	.contest-step{
		padding:0 3px;
	}
	.contest-step-name{
		font-size:0.7rem;
	}
	.contest-step-time{
		font-size:0.75rem;
	}
}

.contest-pagination{
	margin-top:24px;
	text-align:center;
}

.contest-lead{
	max-width:860px;
	margin:8px auto 30px;
	padding:0 16px;
	text-align:center;
}
.contest-lead-title{
	margin:0 0 12px;
}
.contest-lead-text{
	font-size:1.0625rem;
	line-height:1.6;
	color:#55606e;
	margin:0 0 12px;
}
.contest-lead p{
	font-family:'Nunito', sans-serif;
}
.contest-lead h1{
	font-family:'Nunito', sans-serif;
	font-weight:900;
}
.contest-lead-text:last-child{
	margin-bottom:0;
}
