:root{--challenge-violet:#a85bff;--challenge-soft:#c8b2df}
body.challenge-booting{background:#080814;min-height:100dvh;overflow:hidden}
.challenge-booting>header,.challenge-booting>footer,.challenge-booting>#notice{display:none}
.challenge-booting main#app{max-width:none;min-height:100dvh;padding:0;display:grid;place-items:center}
.challenge-splash{isolation:isolate;position:relative;width:min(100%,680px);padding:42px 24px 90px;text-align:center;overflow:hidden}
.challenge-splash:before{content:"";position:absolute;z-index:-1;inset:6% 4% 18%;border-radius:50%;background:radial-gradient(ellipse,#6b20b854 0%,#16112977 42%,transparent 70%);filter:blur(26px)}
.challenge-splash-art{position:relative;display:grid;place-items:center;margin:auto;width:180px;height:180px;border-radius:50%;border:1px solid #a85bff5c;box-shadow:0 0 35px #a344f75c,inset 0 0 36px #7132ac4d;animation:challenge-breathe 2.4s ease-in-out infinite}
.challenge-splash-art:before,.challenge-splash-art:after{content:"";position:absolute;inset:-13px;border:2px solid #b884ff3b;border-top-color:#e1afff;border-radius:50%;box-shadow:0 0 18px #a344f733;animation:challenge-spin 1.8s linear infinite}
.challenge-splash-art:after{inset:-27px;border-width:1px;border-color:#8e45dc22;border-bottom-color:#c881ff92;box-shadow:none;animation-duration:3.3s;animation-direction:reverse}
.challenge-splash-art img{width:150px;height:150px;object-fit:cover;object-position:center;border-radius:50%;filter:hue-rotate(235deg) saturate(1.6) contrast(1.18)}
.challenge-splash-label{display:block;color:#bc83fc;letter-spacing:.24em;font-size:12px;font-weight:800;margin:50px 0 8px}
.challenge-splash h1{font-size:clamp(30px,6vw,48px);margin:0;color:#fff;letter-spacing:-.04em}
.challenge-splash p{color:#c6b4db;margin:13px auto 24px;max-width:350px;font-size:14px;line-height:1.5}
.challenge-splash-spinner{width:22px;height:22px;border:2px solid #8d4ac866;border-top-color:#e0adff;border-radius:50%;margin:4px auto 17px;animation:challenge-spin .8s linear infinite}
.challenge-splash-track{width:190px;height:5px;border-radius:8px;background:#33213f;margin:auto;overflow:hidden}
.challenge-splash-track:after{content:"";display:block;width:42%;height:100%;border-radius:8px;background:linear-gradient(90deg,#933fff,#e09eff);box-shadow:0 0 12px #c477ff;animation:challenge-progress 1.6s ease-in-out infinite alternate}
@keyframes challenge-spin{to{transform:rotate(360deg)}}
@keyframes challenge-breathe{50%{transform:scale(1.045);box-shadow:0 0 55px #a344f77f,inset 0 0 42px #7132ac66}}
@keyframes challenge-progress{from{transform:translateX(-110%)}to{transform:translateX(350%)}}
.challenge-splash-actions[hidden]{display:none}
.challenge-splash-actions{margin:22px auto 0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.challenge-splash-actions button,.challenge-splash-actions a{font:inherit;font-size:13px;font-weight:700;color:#f6eaff;background:#2b1740;border:1px solid #ab70df;border-radius:10px;padding:11px 16px;text-decoration:none;cursor:pointer}
.challenge-splash-actions a{background:#171126;border-color:#5d4576}
.challenge-splash-actions button:focus-visible,.challenge-splash-actions a:focus-visible{outline:2px solid #d599ff;outline-offset:3px}
body.challenge-entry{--bg:#080914;--gold:#ba76ff;--soft:#b8aec8;--line:#39304c;background:radial-gradient(circle at 85% 10%,#32114d55,transparent 34%),#080914}
.challenge-entry header{background:#0b0c1bde;border-color:#352842}
.challenge-entry .brand img{filter:hue-rotate(235deg) saturate(1.6)}
.challenge-entry header .outline{background:#1c1328;border-color:#8552b4;color:#ead7ff}
.challenge-entry header nav a[aria-current]{color:#c889ff;border-color:#a85bff}
.challenge-entry .badge{background:#241334;border:1px solid #8953bd;color:#d7a5ff}
.challenge-entry button:not(.outline):not(.text-button):not(.ce-inline),.challenge-entry .button{background:linear-gradient(120deg,#9847ee,#5d27b2);color:#fff;border:1px solid #a86af4;box-shadow:0 4px 20px #a344f736}
.challenge-entry .hero-art img{filter:hue-rotate(235deg) saturate(1.35)}
.challenge-entry .hero,.challenge-entry .state,.challenge-entry .onboarding{position:relative}
.challenge-entry .panel,.challenge-entry .state:has(#challenge-join),.challenge-entry .onboarding>div:first-child{background:linear-gradient(145deg,#171229,#0d0d1c 76%);border:1px solid #48335f;border-radius:18px;box-shadow:inset 0 1px #d68bff18,0 16px 50px #05030a66}
.challenge-entry .prizes,.challenge-entry .ribbon{border-color:#71459d;background:#160e25}
.challenge-entry .prizes strong,.challenge-entry .prize-title strong,.challenge-entry .gold,.challenge-entry .progress{color:#bd80ff}
.challenge-entry input{background:#171427;border-color:#514065;border-radius:10px;padding:14px 15px}
.challenge-entry input:focus{outline:2px solid #a85bff;outline-offset:1px;border-color:#a85bff}
.challenge-entry .state{max-width:820px;margin:24px auto 60px;padding:32px 28px}
.challenge-entry .state:not(:has(form)){background:linear-gradient(145deg,#171229,#0d0d1c);border:1px solid #4a3461;border-radius:18px}
.challenge-entry .state:has(#challenge-join){text-align:left;max-width:870px;padding:32px clamp(20px,4vw,42px)}
.challenge-entry .state:has(#challenge-join)>p{margin:0 0 27px;max-width:650px}
.challenge-entry #challenge-join .panel{margin:22px 0;padding:18px 20px}
.challenge-entry #challenge-join .panel p{margin:8px 0}
.challenge-entry #challenge-join .verification-panel{background:#211831;border:1px solid #73449a;border-radius:12px;padding:16px 20px;max-width:none}
.challenge-entry #challenge-join .check{color:#ded3e9}
.challenge-entry #challenge-join .check input{accent-color:#a85bff}
.challenge-entry .verification-actions .outline,.challenge-entry .onboarding .outline{border-color:#8f62ba;color:#dfbaff;background:#1b1428}
.challenge-entry .onboarding>div:first-child{padding:26px}
.challenge-entry .progress{border-color:#874ab9}
.challenge-entry .credential-row{border-color:#43334f}
.challenge-entry .track i{background:#a85bff}
.ce-auth{max-width:1100px;margin:clamp(10px,4vh,56px) auto 70px;display:grid;grid-template-columns:1.05fr minmax(360px,.85fr);gap:clamp(24px,5vw,75px);align-items:center}
.ce-auth-intro{padding:25px 0}
.ce-eyebrow{display:inline-flex;padding:9px 13px;border-radius:30px;background:#311a4a;border:1px solid #a55cea;color:#cf9dff;font-size:11px;font-weight:800;letter-spacing:.14em}
.ce-auth-intro h1{font-size:clamp(44px,5.5vw,76px);line-height:1.03;max-width:620px;margin:23px 0;color:#f9f5ff;letter-spacing:-.055em}
.ce-auth-intro>p{font-size:17px;max-width:510px;color:#c0b0d0}
.ce-auth-steps{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0 20px}
.ce-auth-steps span{border:1px solid #61407e;background:#1d1530;border-radius:12px;padding:10px 12px;color:#e7d9f5;font-size:12px}
.ce-auth-steps b{color:#c277ff;margin-right:6px}
.ce-auth-note{font-size:12px!important;color:#a895ba!important}
.ce-auth-card{background:linear-gradient(155deg,#211331,#111021 58%,#0e0e1d);border:1px solid #7851a3;border-radius:22px;box-shadow:0 20px 65px #0007,inset 0 1px #dcadff2b;padding:clamp(22px,3vw,38px)}
.ce-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#eedaff;background:linear-gradient(145deg,#7e36d1,#3a175f);font-size:27px;box-shadow:0 0 26px #a453ff74}
.ce-auth-card h2{font-size:28px;margin:22px 0 6px}
.ce-auth-card>p{font-size:13px;margin:0 0 24px}
.ce-inline{background:none!important;border:0!important;box-shadow:none!important;color:#d493ff!important;padding:0!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ce-auth-card label{margin:14px 0;color:#dacde6;font-size:13px;font-weight:600}
.ce-auth-card input{margin-top:7px;width:100%}
.ce-auth-card .ce-submit{margin-top:22px;width:100%;min-height:50px;justify-content:space-between}
#cw-login-status:not(:empty){background:#241c37;border:1px solid #7956a3;color:#ead7ff;padding:11px 13px;border-radius:9px;font-size:13px;overflow-wrap:anywhere}
.ce-auth-card .ce-auth-help{font-size:12px;margin:16px 0 0;color:#a99ab7}
.ce-auth-help a{color:#d9a8ff;text-decoration:underline}
.challenge-landing .challenge-home-header{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(250px,1fr);gap:18px;align-items:center;padding:13px 3.6%;min-height:76px}
.challenge-home-header .brand{margin:0;white-space:nowrap}
.challenge-home-header nav{justify-self:center;align-items:center;gap:5px;padding:5px;border:1px solid #50336f;border-radius:16px;background:#171126;box-shadow:inset 0 1px #c780ff18}
.challenge-home-header nav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:12px 15px;border-radius:11px;color:#cfc1dc;font-size:13px;transition:background .15s,color .15s,box-shadow .15s}
.challenge-home-header nav a:hover,.challenge-home-header nav a[aria-current]{background:#2d1c42;color:#fff;border:0;margin:0;padding:12px 15px}
.challenge-home-header nav .nav-featured,.challenge-home-header nav .nav-featured:hover,.challenge-home-header nav .nav-featured[aria-current]{color:#fff;background:linear-gradient(115deg,#9c4af0,#6328b6);border:1px solid #ba80ff;margin:0;padding:11px 17px;box-shadow:0 0 20px #a244f76b;font-weight:800}
.challenge-home-header nav .nav-featured span{font-size:18px;line-height:0}
.challenge-home-header #preview-label{display:none!important}
.challenge-home-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}
.challenge-home-actions #auth-link{padding:10px 15px;font-size:13px}
.challenge-home-actions .disciply-secondary{padding:11px 15px;color:#dac1ef;border:1px solid #73518d;border-radius:10px;background:#1b132b;font-size:13px;font-weight:700}
.challenge-home-actions .disciply-secondary:hover{color:#fff;background:#39214e}
.challenge-landing .home-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.challenge-landing .hero .home-hero-actions .button{margin:0;font-size:17px;padding:17px 24px}
.home-ranking-cta{display:inline-flex;align-items:center;gap:10px;padding:17px 20px;border:1px solid #8759ac;border-radius:9px;background:#1b142b;color:#e9d0ff;font-weight:700}
.home-ranking-cta:hover{background:#302045;color:#fff}
.home-ranking-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;max-width:550px;margin:13px 0 4px;padding:12px 16px;border:1px solid #70459a;border-radius:12px;background:#211634;color:#d6c2e8;font-size:13px}
.home-ranking-note strong{color:#d994ff}.home-ranking-note>span:last-child{margin-left:auto;color:#d994ff}
.home-difference{scroll-margin-top:24px;display:grid;grid-template-columns:.9fr 1.3fr;gap:32px;align-items:center;margin:30px 0 28px;padding:27px;border:1px solid #6b4291;border-radius:18px;background:linear-gradient(120deg,#1d1231,#100e20 62%,#1b1030);box-shadow:inset 0 1px #d792ff22}
.home-difference-head h2{font-size:clamp(25px,3vw,36px);margin:14px 0 9px}.home-difference-head p{margin:0;font-size:14px}
.home-difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.home-difference-grid>div{border:1px solid #503969;border-radius:13px;background:#130f22;padding:18px}
.difference-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#43216b;color:#e5b6ff;font-size:21px}
.home-difference-grid h3{margin:12px 0 5px}.home-difference-grid p{font-size:12px;line-height:1.55;margin:0 0 13px}.home-difference-grid a{font-size:12px;font-weight:700;color:#d59bff}
.challenge-landing .prizes{margin-top:0}
@media(max-width:1120px){.challenge-landing .challenge-home-header{grid-template-columns:1fr auto}.challenge-home-header nav{grid-column:1/-1;grid-row:2;justify-self:center}.challenge-home-actions{grid-column:2;grid-row:1}}
@media(max-width:800px){.challenge-splash{padding:30px 24px 70px}.challenge-splash-art{width:150px;height:150px}.challenge-splash-art img{width:125px;height:125px}.challenge-splash-label{margin-top:42px}.ce-auth{grid-template-columns:1fr;gap:12px;margin:0 auto 38px}.ce-auth-intro{padding:8px 0}.ce-auth-intro h1{font-size:42px;margin:18px 0 10px}.ce-auth-intro>p{font-size:14px}.ce-auth-steps{margin:18px 0 7px}.ce-auth-steps span{font-size:10px;padding:7px 9px}.ce-auth-note{display:none}.ce-auth-card{padding:22px}.ce-auth-card h2{font-size:24px;margin-top:15px}.challenge-entry .state:has(#challenge-join){padding:24px 18px}.challenge-entry .onboarding>div:first-child{padding:18px}}
@media(max-width:800px){.challenge-landing .challenge-home-header{padding:12px 16px;gap:12px;grid-template-columns:minmax(0,1fr) auto}.challenge-home-header .brand{font-size:24px}.challenge-home-actions{gap:6px}.challenge-home-actions #auth-link,.challenge-home-actions .disciply-secondary{font-size:11px;padding:9px}.challenge-home-header nav{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:4px}.challenge-home-header nav a,.challenge-home-header nav a:hover,.challenge-home-header nav a[aria-current]{font-size:11px;justify-content:center;padding:10px 3px}.challenge-home-header nav .nav-featured,.challenge-home-header nav .nav-featured:hover,.challenge-home-header nav .nav-featured[aria-current]{padding:9px 3px}.challenge-home-header nav .nav-featured span{display:none}.challenge-landing .hero .home-hero-actions .button,.home-ranking-cta{width:100%;justify-content:center}.home-difference{grid-template-columns:1fr;padding:19px;gap:20px}.home-difference-grid{gap:8px}.home-difference-grid>div{padding:13px}.home-difference-grid h3{font-size:15px}.home-difference-grid p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.challenge-splash-art,.challenge-splash-art:before,.challenge-splash-art:after,.challenge-splash-spinner,.challenge-splash-track:after{animation:none}.challenge-splash-track:after{width:100%;transform:none}}
