:root{--app-bg:#f8faf5;--app-surface:#fff;--app-accent:#63f28c;--app-text:#102018;--app-text-dim:#526158}body{background:var(--app-bg);color:var(--app-text)}.challenges-hero{background:radial-gradient(circle at 82% 20%,#63f28c57,transparent 28%),var(--app-bg);padding:clamp(64px,9vw,118px) 24px 58px}.challenges-hero-grid{grid-template-columns:1fr .86fr;align-items:center;gap:clamp(42px,8vw,90px);max-width:1180px;margin:0 auto;display:grid}.eyebrow{color:#168a43;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:900;display:inline-flex}.eyebrow:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #63f28c2e}.challenges-hero h1{color:#102018;letter-spacing:-.065em;margin:20px 0 24px;font-size:clamp(3.2rem,7vw,6.4rem);line-height:.9}.challenges-hero h1 em{color:#168a43;font-family:DM Serif Display,serif;font-weight:400}.challenges-hero p{color:var(--app-text-dim);max-width:620px;margin:0;font-size:1.08rem;line-height:1.7}.arena-principles{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.arena-principles span{color:#526158;background:#ffffffa6;border:1px solid #1020181f;border-radius:999px;padding:8px 11px;font-size:.72rem;font-weight:750}.challenges-hero-img{border:1px solid #1020181a;border-radius:28px;width:100%;height:auto;display:block;transform:rotate(1.5deg);box-shadow:0 24px 70px #19302226}.challenge-results{background:#edf2eb;min-height:320px;padding:54px 24px 100px}.challenges-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:26px;max-width:1160px;margin:0 auto;display:grid}.challenge-card{background:var(--app-surface);color:inherit;border:1px solid #d8e1d9;border-radius:24px;flex-direction:column;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex;overflow:hidden}.challenge-card:hover,.challenge-card:focus-visible{border-color:#63f28c99;outline:none;transform:translateY(-6px);box-shadow:0 20px 50px #00000038}.card-banner{object-fit:cover;background:#222;width:100%;height:190px}.card-content{flex-direction:column;flex-grow:1;padding:22px;display:flex}.card-tag{color:#168a43;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;font-size:.7rem;font-weight:900}.card-title{color:#102018;margin:0 0 10px;font-size:1.3rem;font-weight:800;line-height:1.25}.card-excerpt{color:var(--app-text-dim);margin:0 0 22px;font-size:.92rem;line-height:1.55}.card-footer{color:var(--app-text-dim);border-top:1px solid #e6ece7;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:16px;font-size:.82rem;display:flex}.status-badge{background:#ffffff1a;border-radius:999px;padding:5px 10px;font-size:.7rem;font-weight:800}.status-active{color:#4ade80;background:#22c55e2e}.status-upcoming{color:#93c5fd;background:#3b82f62e}.state-card{text-align:center;background:#fff;border:1px solid #d8e1d9;border-radius:22px;max-width:620px;margin:18px auto;padding:52px 28px}.state-card[hidden],.challenges-grid[hidden]{display:none}.state-card h2{color:#102018;margin:12px 0 8px}.state-card p{color:var(--app-text-dim);max-width:480px;margin:0 auto 22px;line-height:1.65}.state-icon{color:#168a43;background:#e1f8e7;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.3rem;font-weight:900;display:inline-grid}.primary-action{background:var(--app-accent);color:#07120a;font:inherit;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:12px 20px;font-weight:800;text-decoration:none;display:inline-flex}.primary-action:hover,.primary-action:focus-visible{outline-offset:3px;background:#4ade80;outline:3px solid #4ade8047}.spinner{border:4px solid #1020181a;border-top-color:#168a43;border-radius:50%;width:38px;height:38px;margin:0 auto 18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.challenge-card{transition:none}}@media (width<=850px){.challenges-hero-grid{grid-template-columns:1fr}.challenges-hero-img{max-width:650px;transform:none}}@media (width<=600px){.challenges-hero{padding:58px 18px}.challenge-results{padding-inline:16px}.state-card{padding:40px 20px}.challenges-hero h1{font-size:clamp(3rem,15vw,4.4rem)}}
