:root{--bg:#050505;--surface:#0e100e;--surface2:#151714;--ink:#f6f6f2;--muted:#9da29a;--line:rgba(255,255,255,.12);--green:#b4f724;--gold:#f0a32a;--danger:#ff6b6b;--fd:"Archivo",system-ui,sans-serif;--fb:"Geist",system-ui,sans-serif}
.champions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:stretch;margin:0 0 clamp(3rem,7vw,6rem);padding:clamp(1.25rem,4vw,2.25rem);border:1px solid rgba(240,163,42,.32);border-radius:1.15rem;background:radial-gradient(75% 130% at 0 0,rgba(240,163,42,.12),transparent 68%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),var(--surface);box-shadow:0 25px 80px -58px rgba(240,163,42,.65)}.champions h2{font-size:clamp(2rem,5vw,3.6rem);line-height:.9;margin:.5rem 0 1rem}.champions-copy>p:not(.eyebrow):not(.previous-champion){max-width:530px;color:var(--muted)}.champions-prize{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.1rem 1rem;margin:1.35rem 0 1rem;padding:1rem;border:1px solid rgba(240,163,42,.38);border-radius:.8rem;background:rgba(240,163,42,.07)}.champions-prize small,.champions-prize span,.champions-clock small,.champions-clock span{font:700 .6rem var(--fd);letter-spacing:.1em;text-transform:uppercase}.champions-prize small{grid-column:1/-1;color:var(--gold)}.champions-prize strong{font:900 clamp(1.45rem,3vw,2.15rem) var(--fd);line-height:1;text-transform:uppercase;color:var(--ink)}.champions-prize span{color:var(--gold);white-space:nowrap}.champions-clock{margin-top:.8rem}.champions-clock small,.champions-clock span{display:block;color:var(--muted)}.champions-clock b{display:block;margin:.2rem 0;font:900 clamp(1.2rem,3vw,1.8rem) var(--fd);font-variant-numeric:tabular-nums;color:var(--green)}.previous-champion{margin-top:1rem;color:var(--muted);font-size:.76rem}.previous-champion span{display:block;color:var(--gold);font:700 .58rem var(--fd);letter-spacing:.1em}.previous-champion b{color:var(--ink);font-family:var(--fd)}.champions-table-wrap{display:flex;flex-direction:column;justify-content:center;min-width:0;border:1px solid var(--line);border-radius:.9rem;padding:.7rem;background:rgba(0,0,0,.22)}.champions-table-head,.champion-row{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;gap:.7rem;align-items:center}.champions-table-head{padding:.4rem .75rem .55rem;color:var(--muted);font:700 .58rem var(--fd);letter-spacing:.12em;text-transform:uppercase}.champions-table-head span:last-child{text-align:right}.champion-row{min-height:3.8rem;padding:.7rem .75rem;border-top:1px solid var(--line)}.champion-row.leader{border:1px solid rgba(180,247,36,.36);border-radius:.7rem;background:rgba(180,247,36,.06)}.champion-rank{font:900 1rem var(--fd);text-align:center}.champion-row b{overflow:hidden;text-overflow:ellipsis;font:800 clamp(.9rem,2vw,1.08rem) var(--fd)}.champion-row strong{font:900 1.12rem var(--fd);color:var(--green);white-space:nowrap}.champion-row strong small{font-size:.55rem;letter-spacing:.06em}.leaderboard-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:.82rem}.tie-rule{padding:.65rem .75rem .25rem;color:var(--muted);font-size:.68rem}@media(max-width:980px){.champions{grid-template-columns:1fr}}@media(max-width:580px){.champions{padding:1rem}.champions-prize{grid-template-columns:1fr}.champions-prize span{margin-top:.45rem}.champions-table-head,.champion-row{grid-template-columns:2.3rem minmax(0,1fr) auto}}
*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:radial-gradient(70% 45% at 15% 0,rgba(180,247,36,.12),transparent 65%),radial-gradient(55% 40% at 92% 6%,rgba(240,163,42,.13),transparent 65%),var(--bg);color:var(--ink);font:16px/1.55 var(--fb);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-head{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:0 clamp(1rem,4vw,3rem);border-bottom:1px solid var(--line);background:rgba(5,5,5,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:.65rem;flex:0 0 auto;font:800 1rem var(--fd);letter-spacing:.05em}.brand img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(180,247,36,.28))}.brand b{color:var(--green)}.site-tabs{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;min-width:0}.site-tabs a,.ghost{border:1px solid transparent;border-radius:.55rem;padding:.65rem .8rem;color:var(--muted);background:transparent;font:700 .68rem var(--fd);letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.site-tabs a:hover,.ghost:hover{color:var(--ink);border-color:var(--line);background:rgba(255,255,255,.035)}.site-tabs a.active{color:#111900;border-color:var(--green);background:linear-gradient(#d2ff59,var(--green));box-shadow:0 0 18px -7px rgba(180,247,36,.8)}.ghost{cursor:pointer;border-color:var(--line)}main{max-width:1240px;margin:auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2.5rem) 5rem}.hero{max-width:850px;margin-bottom:clamp(3rem,7vw,6rem)}.eyebrow{font:700 .72rem var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}h1,h2,.slot-name{font-family:var(--fd);text-transform:uppercase}h1{font-size:clamp(3.4rem,10vw,8rem);font-weight:900;font-stretch:125%;font-variation-settings:"wght" 900,"wdth" 125;line-height:.82;margin:.8rem 0 1.7rem;letter-spacing:-.035em}h1 em{font-style:normal;color:var(--green)}.lede{max-width:650px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem)}.rules{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.5rem}.rules span,.provider{font:700 .66rem var(--fd);letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(180,247,36,.3);color:var(--green);border-radius:999px;padding:.42rem .7rem}.board-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.board-head h2{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1}.challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.loading,.empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:1rem;padding:3rem;text-align:center;color:var(--muted)}.challenge{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.015)),var(--surface);border:1px solid var(--line);border-radius:1.1rem;min-width:0}.challenge.open{box-shadow:0 20px 70px -50px rgba(180,247,36,.5)}.art{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#181b17,#090a09);overflow:hidden}.art img{width:100%;height:100%;display:block;object-fit:cover}.art::after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,var(--surface))}.status{position:absolute;top:.8rem;right:.8rem;z-index:2;background:rgba(5,5,5,.82);border:1px solid var(--line);border-radius:999px;padding:.4rem .65rem;font:800 .62rem var(--fd);letter-spacing:.08em;color:var(--muted)}.status.open{color:var(--green);border-color:rgba(180,247,36,.45)}.card-body{padding:1.15rem}.provider{display:inline-flex;padding:.32rem .55rem;font-size:.58rem}.slot-name{font-weight:900;font-size:clamp(1.3rem,2.5vw,1.85rem);line-height:1;margin:.8rem 0 1rem;overflow-wrap:anywhere}.targets{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.targets>div{padding:.8rem}.targets>div+div{border-left:1px solid var(--line)}.targets small,.reward small{display:block;color:var(--muted);font:700 .6rem var(--fd);letter-spacing:.1em;text-transform:uppercase}.targets b{display:block;font:900 1.35rem var(--fd);color:var(--ink);margin-top:.15rem}.reward{display:flex;justify-content:space-between;align-items:center;margin:1rem 0}.reward strong{font:900 1.55rem var(--fd);color:var(--gold)}.primary{width:100%;border:0;border-radius:.65rem;padding:.92rem 1rem;background:linear-gradient(#d2ff59,var(--green));color:#121900;font:800 .78rem var(--fd);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.winner{margin-top:1rem;border:1px solid rgba(240,163,42,.5);border-radius:.75rem;padding:.85rem;background:rgba(240,163,42,.075);display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center}.winner .cup{font-size:1.7rem}.winner small{display:block;color:var(--gold);font:700 .6rem var(--fd);letter-spacing:.12em}.winner b{font:800 1rem var(--fd)}.winner span{display:block;color:var(--muted);font-size:.78rem}.claim-dialog{width:min(540px,calc(100% - 1.5rem));border:1px solid var(--line);border-radius:1rem;background:var(--surface2);color:var(--ink);padding:0;box-shadow:0 28px 90px rgba(0,0,0,.7)}.claim-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}.claim-dialog form{padding:1.5rem;position:relative}.claim-dialog h2{font-size:1.75rem;margin:.45rem 2.2rem .25rem 0}.claim-summary{color:var(--muted);margin-bottom:1.25rem}.dialog-x{position:absolute;right:1rem;top:1rem;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:1.25rem;cursor:pointer}.claim-dialog label{display:block;margin:.85rem 0 .35rem;font:700 .68rem var(--fd);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.claim-dialog input{width:100%;margin-top:.35rem;border:1px solid var(--line);border-radius:.55rem;background:#090a09;color:var(--ink);padding:.78rem .85rem;outline:none}.claim-dialog input:focus{border-color:var(--green)}.fine{font-size:.76rem;color:var(--muted);margin:.85rem 0}.message{min-height:1.4rem;margin-top:.8rem;font-size:.82rem;color:var(--muted)}.message.ok{color:var(--green)}.message.err{color:var(--danger)}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:2rem clamp(1rem,4vw,2.5rem) 3rem;color:var(--muted);font-size:.78rem}footer b{color:var(--ink);font-family:var(--fd)}footer p{max-width:720px;margin-top:.35rem}@media(max-width:980px){.site-head{align-items:stretch;flex-direction:column;padding-top:.7rem}.brand{min-height:46px}.site-tabs{justify-content:flex-start;overflow-x:auto;padding-bottom:.7rem;scrollbar-width:none}.site-tabs::-webkit-scrollbar{display:none}.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.site-tabs{flex-wrap:wrap;overflow:visible;padding-bottom:.75rem;gap:.28rem}.site-tabs a{padding:.52rem .58rem;font-size:.61rem}.challenge-grid{grid-template-columns:1fr}.board-head{align-items:center}.board-head h2{font-size:1.65rem}}
.countdown{margin:1rem 0;border:1px solid rgba(180,247,36,.28);border-radius:.75rem;padding:.72rem .8rem;background:rgba(180,247,36,.045)}.countdown small,.countdown span{display:block;color:var(--muted);font:700 .58rem var(--fd);letter-spacing:.08em;text-transform:uppercase}.countdown b{display:block;margin:.18rem 0;font:900 clamp(1.2rem,2.5vw,1.65rem) var(--fd);font-variant-numeric:tabular-nums;color:var(--green);letter-spacing:.025em}.countdown.ended{border-color:var(--line);background:rgba(255,255,255,.025)}.countdown.ended b{color:var(--muted)}.challenge.ended{opacity:.82}.challenge.ended .art img{filter:saturate(.55) brightness(.78)}
.foot-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.foot-legal-links a{color:var(--muted);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.foot-legal-links a:hover{color:var(--ink)}

/* Header social icons — monochrome, green hover with a gold glow. */
.social{display:flex;align-items:center;gap:.08rem;flex:0 0 auto;margin-left:.5rem;padding-left:.6rem;border-left:1px solid rgba(255,255,255,.12)}
.social a{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.45rem;color:#7d847f;text-decoration:none;transition:color .18s ease,background .18s ease,filter .18s ease}
.social a:hover{color:#b4f724;background:rgba(255,255,255,.05);filter:drop-shadow(0 0 7px rgba(240,163,42,.45))}
.social a:focus-visible{outline:2px solid #b4f724;outline-offset:2px}
.social svg{width:1.05rem;height:1.05rem;display:block;fill:currentColor}
@media(max-width:1040px){.social{margin-left:0;padding-left:0;border-left:0}}
@media(max-width:640px){.social a{width:1.85rem;height:1.85rem}.social svg{width:.98rem;height:.98rem}}

/* ---- Header layout v2 -------------------------------------------------
   One shared max-width container on every page. Three areas: brand left,
   navigation distributed across the centre, social + action on the right.
   Appended last so it supersedes the earlier .site-head/.site-tabs rules. */
.site-head{display:block;min-height:0;padding:0;gap:0}
.head-inner{max-width:1280px;margin:0 auto;min-height:74px;padding:0 clamp(1rem,4vw,3rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,3vw,2.4rem)}
.head-inner>.brand{margin:0}
.site-tabs{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:clamp(.2rem,1.1vw,.9rem);margin-left:0;margin-right:0}
.head-right{display:flex;align-items:center;gap:.55rem;justify-self:end}
.head-right .social{margin-left:0;padding-left:0;border-left:0}
.head-right .kick-pill{position:static;margin-left:.15rem}

@media(max-width:1180px){
  .site-tabs a{padding:.55rem .5rem;font-size:.62rem}
  .head-inner{gap:1rem}
}
/* stack before anything can collide */
@media(max-width:1040px){
  .head-inner{grid-template-columns:1fr auto;grid-template-areas:"brand right" "tabs tabs";row-gap:.45rem;padding-top:.65rem;padding-bottom:.6rem}
  .head-inner>.brand{grid-area:brand}
  .head-right{grid-area:right}
  .site-tabs{grid-area:tabs;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}
  .site-tabs::-webkit-scrollbar{display:none}
  .site-tabs a{flex:0 0 auto}
}
@media(max-width:640px){
  .head-inner{min-height:0}
  .site-tabs a{padding:.5rem .55rem;font-size:.59rem}
  .head-right .kick-pill{display:none}
}

/* "Challenges" alone is wider than a 390px viewport at the full h1 size. */
@media(max-width:430px){
  .challenge-hero h1,main h1{font-size:clamp(2rem,12.5vw,3rem);overflow-wrap:break-word}
}

/* Lockly entry CTA — shown immediately before the active challenge cards. */
.challenge-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;margin:0 0 1.35rem;padding:clamp(1rem,2.5vw,1.35rem);border:1px solid rgba(180,247,36,.4);border-radius:1rem;background:radial-gradient(80% 180% at 0 0,rgba(180,247,36,.13),transparent 70%),linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),var(--surface);box-shadow:0 20px 65px -52px rgba(180,247,36,.9)}
.challenge-entry h3{margin:.3rem 0 .35rem;font:900 clamp(1.35rem,3vw,2rem)/1 var(--fd);letter-spacing:-.02em;text-transform:uppercase}
.challenge-entry-copy>p:last-child{max-width:690px;color:var(--muted)}
.challenge-entry-copy strong{color:var(--green)}
.challenge-entry-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:215px;padding:1rem 1.15rem;border:1px solid var(--green);border-radius:.7rem;background:linear-gradient(#d2ff59,var(--green));color:#121900;font:900 .76rem var(--fd);letter-spacing:.08em;text-align:center;text-transform:uppercase;box-shadow:0 0 25px -10px rgba(180,247,36,.9);transition:filter .18s ease,transform .18s ease}
.challenge-entry-button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.challenge-entry-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.challenge-entry-button span{font-size:1.1rem;line-height:1}
@media(max-width:700px){.challenge-entry{grid-template-columns:1fr}.challenge-entry-button{width:100%;min-width:0}}
