.contest-page-title { margin:0; padding:12px 18px; text-align:center; font-size:19px; font-weight:500; background:var(--green); color:white; }
.contest-tabs { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; text-align:center; }
.contest-tabs .tab { font-size:19px; padding:14px 4px; }
.contest-tabs .tab.active:after { width:28px; height:4px; bottom:5px; }
.contest-list { display:grid; gap:16px; padding:16px 14px 30px; background:#f5fbff; min-height:calc(100vh - 330px); align-content:start; }
.contest-card { background:white; border-radius:12px; padding:16px; box-shadow:0 5px 18px #5da3d31c; }
.contest-card-top { display:flex; gap:16px; min-height:154px; }
.contest-card-top img { width:154px; height:154px; flex-shrink:0; object-fit:cover; border-radius:10px; }
.contest-card h2 { font-size:21px; margin:0 0 14px; line-height:1.55; }
.contest-status { font-size:12px; border-radius:15px; padding:4px 10px; color:#84918a; background:#f0f5f2; }
.contest-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:32px 0 28px; padding:0; list-style:none; }
.contest-timeline li { position:relative; display:flex; flex-direction:column; align-items:center; gap:4px; font-size:14px; color:#39c782; text-align:center; }
.contest-timeline li:not(:last-child):after { content:''; height:1px; background:#fa6354; position:absolute; top:6px; left:calc(50% + 13px); right:calc(-50% + 13px); }
.contest-dot { width:13px; height:13px; background:#f65c4d; border-radius:50%; margin-bottom:7px; }
.contest-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.contest-card-bottom p { color:#999; font-size:12px; line-height:1.5; margin:0; }
.contest-card-bottom button { border:1px solid #ff6a59; color:#f65c4d; background:white; padding:10px 22px; border-radius:24px; font-size:16px; white-space:nowrap; }
.contest-card-bottom button:focus-visible { outline:3px solid #1b73e8; outline-offset:3px; }
@media(max-width:480px){.contest-card{padding:14px}.contest-card-top{gap:14px;min-height:130px}.contest-card-top img{width:130px;height:130px}.contest-card h2{font-size:18px}.contest-tabs .tab{font-size:17px}.contest-timeline li{font-size:12px}.contest-card-bottom button{padding:9px 18px}.contest-detail{margin:14px;padding:18px}}
