:root{
  --aqua:#51e2f5;--mint:#9df9ef;--ice:#edf7f6;--pink:#ffa8b6;--mauve:#a28089;
  --ink:#111827;--muted:#667085;--line:#e6eeee;--soft:#f8ffff;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}.bg-soft{background:linear-gradient(180deg,#fbffff,#f6fefe)}
.wave-bg{position:fixed;inset:auto -10% 0 -10%;height:45vh;background:radial-gradient(circle at 20% 30%,rgba(81,226,245,.18),transparent 35%),radial-gradient(circle at 80% 70%,rgba(255,168,182,.18),transparent 35%);z-index:-1;filter:blur(20px)}
.navbar{backdrop-filter:blur(15px)}.brand-mark{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--aqua),var(--mint));font-weight:900}.brand-name{font-weight:800}.hero{min-height:78vh;display:flex;align-items:center}.hero-title{font-size:clamp(3rem,7vw,7rem);font-weight:900;line-height:.92;letter-spacing:-.07em}.wave-text{font-family:'Playfair Display',serif;font-style:italic;background:linear-gradient(90deg,#111,var(--mauve),#111);background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:waveText 6s ease-in-out infinite}@keyframes waveText{0%,100%{background-position:0%}50%{background-position:100%}}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;color:var(--mauve)}.lead{font-size:1.18rem}.glass-card,.task-card,.step-card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:32px;box-shadow:0 24px 60px rgba(17,24,39,.07);backdrop-filter:blur(16px)}.portal-preview{animation:float 7s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}.avatar{width:56px;height:56px;border-radius:20px;background:linear-gradient(135deg,var(--pink),var(--aqua));display:grid;place-items:center;font-weight:900}.avatar.lg{width:74px;height:74px;border-radius:26px}.metric,.metric-card{background:var(--ice);border-radius:24px;padding:22px;text-align:center}.metric span,.metric-card span{display:block;font-size:1.8rem;font-weight:900}.metric small,.metric-card small{color:var(--muted)}.card-lite{background:#fff;border:1px solid var(--line);border-radius:24px}.section-head{margin-bottom:2rem}.section-head h2{font-size:clamp(2rem,4vw,4rem);font-weight:900;letter-spacing:-.05em}.step-card{padding:28px;height:100%;transition:.25s}.step-card:hover,.task-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(17,24,39,.1)}.step-card b{font-size:2rem;color:var(--aqua)}.task-card{padding:24px;height:100%;transition:.25s}.pill{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--ice);font-size:.75rem;font-weight:800;color:#356}.points{font-size:2rem;font-weight:900}.search-input{min-width:260px}.filter-input{min-width:220px}.emg-card{border-radius:30px;padding:26px;color:#fff;background:linear-gradient(135deg,#111827,#a28089 90%);min-height:190px;box-shadow:0 25px 50px rgba(0,0,0,.15)}.emg-card h5{font-size:1.8rem;margin-top:34px}.card-id{font-family:monospace;letter-spacing:.1em}.submission-list .item,.leader-item,.level-item,.good-card,.log-item{border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px;background:#fff}.leader-item{display:flex;justify-content:space-between;align-items:center}.rank-badge{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--ice);font-weight:900}.good-card{height:100%}.log-box{max-height:360px;overflow:auto}.btn-dark{background:#111827;border-color:#111827}.btn-outline-dark:hover{background:#111827}.modal-content{box-shadow:0 30px 80px rgba(17,24,39,.18)}
@media(max-width:768px){.hero{min-height:auto}.search-input,.filter-input{width:100%}.hero-title{letter-spacing:-.04em}}


/* --- Subtle white-first portal overrides --- */
:root{--aqua:#dff7fa;--mint:#edfdf8;--ice:#fbfefe;--pink:#fff0f3;--mauve:#8c7a80;--ink:#182124;--muted:#6c777a;--line:#edf1f1;--soft:#fbfefe}
body{background:#fff;color:var(--ink)}.bg-soft{background:linear-gradient(180deg,#fff,#fbfefe)}.wave-bg{background:radial-gradient(circle at 20% 30%,rgba(223,247,250,.72),transparent 35%),radial-gradient(circle at 80% 70%,rgba(255,240,243,.7),transparent 35%)}
.brand-mark{background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(24,33,36,.06)}.wave-text{background:linear-gradient(90deg,#182124,#8c7a80,#dff7fa,#182124);background-size:240%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:waveText 6s ease-in-out infinite}
.glass-card,.task-card,.step-card,.submission-list .item,.leader-item,.level-item,.good-card,.log-item{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 18px 48px rgba(24,33,36,.055)}.avatar{background:linear-gradient(135deg,#fff0f3,#dff7fa);border:1px solid var(--line)}.metric,.metric-card,.pill{background:#fbfefe}.step-card b{color:#8c7a80}.emg-card{background:linear-gradient(135deg,#182124,#536267 70%,#8c7a80)}.btn-dark{background:#182124;border-color:#182124}.progress-bar{background:#182124!important}
.reward-float{animation:portalBounce 5.5s ease-in-out infinite}@keyframes portalBounce{50%{transform:translateY(-10px)}}
