.challenge-page{background:radial-gradient(circle,#000 1px,#0000 1px) 0 0/20px 20px;min-height:100vh;padding:2rem}.challenge-container{max-width:1400px;margin:0 auto}.challenge-hero{background:linear-gradient(135deg,#000 0%,#1a1a1a 30%,#2d2d2d 70%,#000 100%);border:3px solid #000;border-radius:20px;grid-template-columns:1fr 400px;gap:2rem;margin-bottom:2rem;padding:4rem 3rem;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.challenge-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 20%,#ffd7001a 0%,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0d 0%,#0000 40%),radial-gradient(circle at 40% 80%,#ffd70014 0%,#0000 45%);position:absolute;inset:0}.challenge-hero:after{content:"";pointer-events:none;background-image:linear-gradient(45deg,#0000 25%,#ffffff08 25% 50%,#0000 50% 75%,#ffffff08 75%,#ffffff08),linear-gradient(45deg,#0000 25%,#ffffff08 25% 50%,#0000 50% 75%,#ffffff08 75%,#ffffff08);background-position:0 0,30px 30px;background-size:60px 60px;position:absolute;inset:0}.hero-content{z-index:1;flex-direction:column;gap:1.5rem;display:flex}.hero-badge{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;align-items:center;gap:.5rem;width:fit-content;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.hero-title{color:#fff;text-shadow:0 4px 20px #00000080;background:linear-gradient(135deg,#fff 0%,gold 50%,#fff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:4rem;font-weight:900;line-height:1.1}.hero-subtitle{color:#ffffffe6;text-shadow:0 2px 10px #0000004d;margin:0;font-size:1.5rem;font-weight:500}.hero-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.hero-stat{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;display:flex}.hero-stat svg{flex-shrink:0}.stat-value{color:gold;text-shadow:0 2px 10px #ffd70080;margin:0;font-size:2rem;font-weight:900}.stat-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem}.hero-cta{color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:linear-gradient(135deg,gold 0%,#fa0 100%);border:none;border-radius:15px;justify-content:center;align-items:center;gap:.75rem;width:fit-content;padding:1.25rem 2.5rem;font-size:1.125rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 8px 30px #ffd70066}.hero-cta:hover{background:linear-gradient(135deg,#fa0 0%,gold 100%);transform:translateY(-2px);box-shadow:0 12px 40px #ffd70099}.hero-dates{gap:1rem;display:flex}.hero-date{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.hero-pattern{background-image:radial-gradient(circle,#ffffff1a 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.hero-icon-large{color:gold;z-index:1;background:linear-gradient(135deg,#ffd7004d 0%,#ffd7001a 100%);border:4px solid #ffd70080;border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;animation:3s ease-in-out infinite pulse;display:flex;box-shadow:0 0 60px #ffd7004d}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 60px #ffd7004d}50%{transform:scale(1.05);box-shadow:0 0 80px #ffd70080}}.hero-floating-icons{z-index:2;position:absolute;inset:0}.floating-icon{color:#ffd70099;filter:drop-shadow(0 0 10px #ffd7004d);position:absolute}.floating-icon:first-child{top:10%;left:10%}.floating-icon:nth-child(2){top:20%;right:15%}.floating-icon:nth-child(3){bottom:15%;left:20%}.user-ranking-section{margin-bottom:2rem}.user-ranking-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #000;border-radius:20px;padding:2rem;box-shadow:0 8px 30px #0000001f}.ranking-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.ranking-badge{color:#000;background:linear-gradient(135deg,gold 0%,#fa0 100%);border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1.25rem;font-weight:600;display:flex}.ranking-header h3{color:#000;margin:0;font-size:1.5rem;font-weight:700}.ranking-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.ranking-stat{background:linear-gradient(135deg,#fff 0%,#f8f8f8 100%);border:2px solid #000;border-radius:12px;align-items:center;gap:.75rem;padding:1rem;display:flex}.ranking-stat svg{color:#000}.ranking-value{color:#000;margin:0;font-size:1.25rem;font-weight:700}.ranking-label{color:#666;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.75rem}.login-prompt-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#fffffff2;border:2px solid #000;border-radius:20px;padding:3rem;box-shadow:0 8px 30px #0000001f}.login-prompt-card svg{color:#000;margin-bottom:1rem}.login-prompt-card h3{color:#000;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-prompt-card p{color:#666;margin:0 0 1.5rem;font-size:1rem}.login-btn{color:#fff;cursor:pointer;background:#000;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin:0 auto;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .3s;display:flex}.login-btn:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 4px 15px #0003}.section-header{margin-bottom:2rem}.section-title{color:#000;margin:0 0 .5rem;font-size:2rem;font-weight:700}.section-description{color:#666;margin:0;font-size:1rem}.leaderboard-section{margin-bottom:2rem}.leaderboard-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #000;border-radius:20px;padding:2rem;box-shadow:0 8px 30px #0000001f}.leaderboard-table{flex-direction:column;gap:.5rem;display:flex}.leaderboard-header{color:#fff;background:linear-gradient(135deg,#000 0%,#1a1a1a 100%);border-radius:12px;grid-template-columns:60px 1fr 100px 80px 80px 80px 100px 80px 80px 80px;gap:.75rem;padding:1rem;font-size:.75rem;font-weight:600;display:grid}.leaderboard-row{background:linear-gradient(135deg,#fff 0%,#f8f8f8 100%);border:2px solid #e5e5e5;border-radius:12px;grid-template-columns:60px 1fr 100px 80px 80px 80px 100px 80px 80px 80px;align-items:center;gap:.75rem;padding:1rem;transition:all .3s;display:grid;position:relative}.leaderboard-row:hover{border-color:#000;transform:translate(5px)}.leaderboard-row:before{content:"";opacity:0;background:linear-gradient(#0000,#000,#0000);width:4px;transition:opacity .3s;position:absolute;top:0;bottom:0;left:0}.leaderboard-row:hover:before{opacity:1}.leaderboard-row.top-three{background:linear-gradient(135deg,#fff9c4 0%,#fff59d 100%);border-color:gold}.rank-cell{color:#000;align-items:center;font-weight:600;display:flex}.rank-badge{border-radius:20px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:700;display:flex}.rank-badge.rank-1{color:#000;background:linear-gradient(135deg,gold 0%,#fa0 100%)}.rank-badge.rank-2{color:#000;background:linear-gradient(135deg,silver 0%,#a0a0a0 100%)}.rank-badge.rank-3{color:#000;background:linear-gradient(135deg,#cd7f32 0%,#b87332 100%)}.participant-cell{align-items:center;gap:.75rem;display:flex}.participant-avatar{color:#fff;background:linear-gradient(135deg,#000 0%,#1a1a1a 100%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:.875rem;font-weight:700;display:flex}.points-cell{color:#000;font-weight:600}.streak-cell,.accuracy-cell{color:#666;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.wins-cell{color:#666;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.won-cell{color:#22c55e;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.solved-cell,.contests-cell{color:#666;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.best-rank-cell{color:#666;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.rewards-section{margin-bottom:2rem}.rewards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.reward-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#fffffff2;border:2px solid #000;border-radius:20px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;transition:all .3s;display:flex;box-shadow:0 8px 30px #0000001f}.reward-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #00000026}.reward-card:before{content:"";opacity:0;background:linear-gradient(45deg,#0000,#0000001a,#0000);border-radius:22px;transition:opacity .3s;position:absolute;inset:-2px}.reward-card:hover:before{opacity:1;animation:2s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.reward-icon{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2rem;display:flex}.reward-tier{color:#000;margin:0;font-size:1.25rem;font-weight:700}.reward-value{color:#000;margin:0;font-size:1rem;font-weight:600}.reward-description{color:#666;margin:0;font-size:.875rem;line-height:1.5}.reward-requirements{color:#999;background:#f8f8f8;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;display:flex}.contests-section{margin-bottom:2rem}.contests-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.contest-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #000;border-radius:20px;flex-direction:column;gap:1rem;padding:2rem;transition:all .3s;display:flex;position:relative;box-shadow:0 8px 30px #0000001f}.contest-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #00000026}.contest-header{color:#666;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.contest-date{font-weight:500}.contest-name{color:#000;margin:0;font-size:1.25rem;font-weight:700}.contest-details{flex-wrap:wrap;gap:1rem;display:flex}.contest-detail{color:#666;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.contest-footer{border-top:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.contest-join{color:#fff;cursor:pointer;background:#000;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .3s;display:flex}.contest-join:hover{background:#1a1a1a}.rules-section{margin-bottom:2rem}.rules-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #000;border-radius:20px;padding:2rem;box-shadow:0 8px 30px #0000001f}.rule-item{color:#333;border-bottom:1px solid #e5e5e5;align-items:center;gap:1rem;padding:1rem;font-size:1rem;display:flex}.rule-item:last-child{border-bottom:none}.rule-item svg{color:#22c55e;flex-shrink:0}.faq-section{margin-bottom:2rem}.faq-container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #000;border-radius:20px;padding:2rem;box-shadow:0 8px 30px #0000001f}.faq-item{border-bottom:1px solid #e5e5e5;padding:1.5rem}.faq-item:last-child{border-bottom:none}.faq-question{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.faq-question svg{color:#000;flex-shrink:0}.faq-question h4{color:#000;margin:0;font-size:1rem;font-weight:600}.faq-answer{color:#666;margin:0;padding-left:2rem;font-size:.875rem;line-height:1.6}@media (max-width:1024px){.challenge-hero{grid-template-columns:1fr}.hero-visual{display:none}.hero-stats,.ranking-stats{grid-template-columns:repeat(2,1fr)}.leaderboard-header,.leaderboard-row{grid-template-columns:40px 1fr 60px 50px 50px 50px 70px 50px 50px 50px;gap:.5rem;padding:.5rem;font-size:.5rem}.rewards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.challenge-page{padding:1rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-stats,.ranking-stats{grid-template-columns:1fr}.section-title{font-size:1.5rem}.leaderboard-header,.leaderboard-row{grid-template-columns:50px 1fr 80px 60px 60px;padding:.75rem;font-size:.625rem}.rewards-grid,.contests-grid{grid-template-columns:1fr}.leaderboard-header,.leaderboard-row{grid-template-columns:35px 1fr 50px 40px 40px 40px 60px 40px 40px 40px;gap:.4rem;padding:.5rem;font-size:.4375rem}.contest-details{flex-direction:column;gap:.5rem}}
