.earn-page { margin:0; background:#0c0912; color:#f4efff; font-family:"Space Grotesk",system-ui,sans-serif; }
.earn-page a { text-decoration:none; }
.earn-page button,.earn-page select { font:inherit; }
.earn-page [hidden] { display:none!important; }
.earn-page .portal-topbar { display:flex; justify-content:space-between; align-items:center; padding:12px 36px; border-bottom:1px solid #292133; }
.earn-account { color:#c5b9d7; font-size:13px; }
.earn-main { max-width:1520px; margin:0 auto; padding:36px; display:grid; grid-template-columns:minmax(0,1fr); gap:32px; }
.earn-hero { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:48px; border:1px solid #b17bfa50; border-radius:26px; background:radial-gradient(ellipse at 95% 10%,#8b43ff45,transparent 65%),linear-gradient(120deg,#261741,#140e24); overflow:hidden; }
.earn-eyebrow { color:#99ffc2; font:10px/1.6 monospace; letter-spacing:2px; }
.earn-hero h1 { font-size:clamp(32px,3.6vw,54px); line-height:1.15; letter-spacing:-1.7px; font-weight:600; margin:22px 0; max-width:760px; }
.earn-hero h1 em { color:#c291ff; font-style:normal; }
.earn-hero p { font-size:15px; line-height:1.8; max-width:530px; color:#c5b9d8; margin-bottom:28px; }
.earn-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding:13px 20px; border:1px solid #cfb3ff; border-radius:11px; background:#c293ff; color:#190d2d; font-size:13px; font-weight:700; cursor:pointer; }
.earn-primary:hover { background:#d6b4ff; box-shadow:0 0 26px #ae6dff30; }
.earn-coin { flex:0 0 230px; display:grid; justify-items:center; gap:20px; filter:drop-shadow(0 0 30px #aa71ff33); }
.earn-coin img { width:190px; height:190px; }
.earn-coin span { color:#c7afec; font:8px monospace; letter-spacing:2px; }
.hans-invitation { display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center; background:linear-gradient(120deg,#101a35,#090e1f); border:1px solid #6275a54d; border-radius:22px; padding:30px 36px; color:#f2f5fc; }
.hans-invitation:hover { border-color:#94a7d9a0; }
.hans-wordmark { display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; }
.hans-invitation h2 { font-size:26px; letter-spacing:-.7px; margin:18px 0 12px; }
.hans-invitation p { color:#aebbd8; font-size:13px; line-height:1.8; max-width:470px; }
.hans-invitation strong { display:inline-flex; align-items:center; gap:26px; font-size:12px; margin-top:16px; }
.hans-preview { border:1px solid #53618770; border-radius:14px; overflow:hidden; background:radial-gradient(ellipse at 90% 80%,#293663,#0c1125 70%); transform:rotate(-2deg); }
.hans-preview-top { display:flex; justify-content:space-between; padding:12px 18px; border-bottom:1px solid #6f7f9c30; font:8px monospace; letter-spacing:1.5px; color:#9aa8ca; }
.hans-preview-body { display:flex; align-items:center; justify-content:space-between; padding:16px 18px; }
.hans-preview-body b { font-size:clamp(15px,1.5vw,23px); line-height:1.3; }
.hans-preview-body img { width:40%; max-width:150px; height:auto; }
.hans-preview-bubbles { display:flex; gap:10px; margin-top:20px; }
.hans-preview-bubbles span { display:grid; text-align:center; padding:12px 16px; border:1px solid #8c9acc55; border-radius:14px; box-shadow:0 0 18px #7586f425; font-size:15px; }
.hans-preview-bubbles small { font:7px/2 monospace; color:#afb9d5; letter-spacing:2px; }
#iris-bounties { scroll-margin-top:24px; }
.earn-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:14px 0 28px; }
.earn-section-heading h2 { font-size:30px; letter-spacing:-1px; margin:14px 0 8px; }
.earn-section-heading p,.earn-referral p { color:#b6a9c8; line-height:1.7; font-size:13px; }
.earn-total { position:relative; flex:none; text-align:right; padding:14px 18px; border:1px solid #a470e44d; border-radius:18px; background:radial-gradient(ellipse at 100% 0%,#9c55fb2b,transparent 80%),#21152f; transform-origin:center; }
.earn-total>span { display:block; font-size:11px; color:#b6a9c8; margin-bottom:6px; }
.earn-total strong { font-size:25px; color:#99ffc2; }
.earn-total small { font:10px monospace; letter-spacing:1px; }
.earn-total .earn-total-delta { position:absolute; right:14px; top:-20px; margin:0; color:#cdb0ff; font-size:18px; font-weight:700; opacity:0; pointer-events:none; }
.earn-total.is-celebrating { animation:reward-total-pop .75s cubic-bezier(.2,.8,.3,1) both; }
.earn-total.is-celebrating .earn-total-delta { animation:reward-delta-rise 1.5s ease-out both; }
.earn-account-panel { display:flex; flex-wrap:wrap; align-items:center; gap:16px; padding:20px 24px; background:#171122; border:1px solid #58446680; border-radius:14px; margin-bottom:16px; }
.earn-account-panel>div { flex:1 1 300px; }
.earn-account-panel p { margin:4px 0; color:#bfb2cf; font-size:12px; line-height:1.8; }
.earn-account-panel strong { color:#f3edff; font-size:14px; }
.earn-account-panel label { display:grid; gap:6px; font-size:11px; color:#baadcb; min-width:0; max-width:100%; }
.earn-account-panel select { max-width:100%; color:#f2eafa; background:#231930; border:1px solid #765394; padding:10px; border-radius:8px; font-size:12px; }
.earn-wallet { font:12px/1.7 monospace; color:#d9c0ff; overflow-wrap:anywhere; }
.earn-status { color:#c5b8d9; font-size:13px; line-height:1.6; min-height:22px; }
.earn-status:empty { min-height:0; margin:0; }
.bounty-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.bounty-card { display:flex; flex-direction:column; min-width:0; padding:26px; min-height:300px; border:1px solid #ad77ed50; border-radius:22px; background:radial-gradient(ellipse at 85% 0%,#7137ba42,transparent 75%),linear-gradient(145deg,#241737,#130e20); box-shadow:inset 0 1px 0 #dcbbff0a,0 7px 35px #6029980d; }
.bounty-card[data-state="ready"] { border-color:#b78bed99; box-shadow:0 0 28px #9b4cec16; }
.bounty-card[data-state="claimed"] { border-color:#99ffc23f; }
.bounty-card[aria-busy="true"] { border-color:#cc9bff; box-shadow:0 0 32px #a462ff24; }
.bounty-card[data-celebrating] { animation:reward-card-glow 1.5s ease-out; }
.bounty-top { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.bounty-icon { width:42px; height:42px; padding:10px; border:1px solid #ba7aff60; border-radius:12px; color:#99ffc2; background:#9b64e51a; }
.bounty-state { font:9px/1.5 monospace; letter-spacing:1px; color:#b2a0c8; }
.bounty-card[data-state="ready"] .bounty-state,.bounty-card[data-state="claimed"] .bounty-state { color:#99ffc2; }
.bounty-card h3 { font-size:18px; letter-spacing:-.4px; line-height:1.35; margin:20px 0 8px; }
.bounty-card p { color:#b8a8cb; font-size:12px; line-height:1.75; margin:0 0 22px; }
.bounty-reward { color:#e4cdff; font-size:30px; font-weight:600; margin-top:auto; letter-spacing:-1px; }
.bounty-reward small { color:#ba96e6; font:10px monospace; letter-spacing:1.4px; }
.bounty-action { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; padding:12px; border:1px solid #8c62b580; border-radius:10px; background:#aa76ed1c; color:#e1c7ff; font-size:12px; font-weight:600; margin-top:18px; cursor:pointer; text-align:center; }
.bounty-card[data-state="ready"] .bounty-action { background:#c293ff; color:#1b0e2c; border-color:#dcbeff; }
.bounty-action:hover { background:#b780f73a; }
.bounty-action:disabled { opacity:.5; cursor:default; }
.bounty-card[aria-busy="true"] .bounty-action { opacity:1; gap:10px; }
.claim-spinner { width:15px; height:15px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:reward-spin 1s linear infinite; }
.bounty-note { font-size:10px!important; margin:10px 0 0!important; }
.earn-referral { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; border:1px solid #845caf5f; border-radius:18px; background:#21162f; }
.earn-referral h2 { font-size:20px; margin:0; }
.earn-footnote { color:#a296b3; font-size:11px; line-height:1.9; max-width:960px; margin:24px 0 4px; }
.earn-page a:focus-visible,.earn-page button:focus-visible,.earn-page select:focus-visible { outline:2px solid #99ffc2; outline-offset:4px; }
.reward-bubble { min-height:0; overflow:visible; position:fixed; z-index:1100; right:28px; bottom:28px; display:flex; flex-direction:row; text-align:left; align-items:center; gap:18px; width:min(440px,calc(100vw - 32px)); box-sizing:border-box; padding:24px 44px 24px 24px; border:1px solid #cc9bff9c; border-radius:26px; background:radial-gradient(ellipse at 10% 0%,#7441b8c9,transparent 80%),linear-gradient(130deg,#2e194b,#1d112e); box-shadow:0 16px 60px #090414a6,0 0 35px #a766ff33,inset 0 1px 0 #e3c4ff26; animation:reward-bubble-enter .4s cubic-bezier(.2,.8,.3,1) both; }
.reward-bubble-copy { min-width:0; }
.reward-bubble-copy strong { display:block; color:#f5eaff; font-size:18px; line-height:1.4; letter-spacing:-.4px; }
.reward-bubble-copy p { margin:7px 0 0; color:#d1bbec; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.reward-bubble-close { position:absolute; right:7px; top:7px; display:grid; place-items:center; border:0; border-radius:50%; width:32px; height:32px; color:#dac5f5; background:transparent; cursor:pointer; font-size:24px!important; }
.reward-bubble-close:hover { background:#e2bdff1a; }
.reward-orb { position:relative; flex:0 0 60px; width:60px; height:60px; display:grid; place-items:center; border:1px solid #e8cfff85; border-radius:50%; background:radial-gradient(circle at 30% 25%,#d3a5ff,#8950d6 55%,#52248c); box-shadow:inset 0 1px 8px #f2dcff66,0 0 24px #be85ff50; }
.reward-orb>img { width:30px; height:30px; }
.reward-orb::after { content:""; position:absolute; inset:-7px; border:1px solid #c28aff45; border-top-color:#e5caff; border-radius:50%; }
.reward-bubble[data-state="sending"] .reward-orb::after { animation:reward-spin 1.5s linear infinite; }
.reward-check { display:none; width:29px; height:29px; fill:none; stroke:#1a3628; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.reward-bubble[data-state="success"] .reward-orb { background:radial-gradient(circle at 30% 25%,#d6ffe5,#99ffc2 65%,#68d697); border-color:#c6ffdb; box-shadow:0 0 28px #99ffc24a; animation:reward-orb-pop .65s cubic-bezier(.2,.8,.3,1); }
.reward-bubble[data-state="success"] .reward-orb>img { display:none; }
.reward-bubble[data-state="success"] .reward-check { display:block; }
.reward-bubble[data-state="success"] .reward-bubble-copy strong { color:#a9ffcd; }
.reward-bubble[data-state="error"] { border-color:#e8afca80; }
.reward-bubble[data-state="error"] .reward-orb { opacity:.65; }
.reward-spark { position:absolute; width:5px; height:5px; background:#c1ffda; border-radius:50%; opacity:0; pointer-events:none; }
.reward-spark-one { --spark-x:-28px; --spark-y:-33px; }
.reward-spark-two { --spark-x:36px; --spark-y:-26px; }
.reward-spark-three { --spark-x:25px; --spark-y:33px; }
.reward-bubble[data-state="success"] .reward-spark { animation:reward-spark .8s ease-out both; }
@keyframes reward-spin { to { transform:rotate(360deg); } }
@keyframes reward-bubble-enter { from { opacity:0; transform:translateY(16px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes reward-orb-pop { 0% { transform:scale(.8); } 45% { transform:scale(1.13); } 100% { transform:scale(1); } }
@keyframes reward-total-pop { 0%,100% { transform:scale(1); } 40% { transform:scale(1.07); border-color:#c897ff; box-shadow:0 0 32px #b17bfa55; } }
@keyframes reward-delta-rise { 0% { opacity:0; transform:translateY(10px); } 25%,65% { opacity:1; } 100% { opacity:0; transform:translateY(-20px); } }
@keyframes reward-card-glow { 25% { border-color:#b3ffd1; box-shadow:0 0 38px #b477ff42,inset 0 0 30px #b477ff15; } }
@keyframes reward-spark { 20% { opacity:1; } 100% { opacity:0; transform:translate(var(--spark-x),var(--spark-y)) scale(.3); } }
@media(max-width:1100px){.earn-coin{flex-basis:180px}.earn-coin img{width:150px;height:150px}.bounty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.earn-hero{padding:36px}.hans-invitation{gap:22px;padding:28px}}
@media(max-width:780px){.earn-main{padding:20px;gap:24px}.earn-page .portal-topbar{padding:8px 20px}.earn-coin{display:none}.earn-hero{padding:30px}.hans-invitation{grid-template-columns:1fr}.hans-preview{max-width:500px;width:100%;transform:none}.earn-section-heading{align-items:flex-start}.earn-section-heading h2{font-size:26px}.earn-referral{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.earn-main{padding:14px}.earn-hero{padding:24px}.earn-hero h1{font-size:34px}.hans-invitation{padding:22px}.bounty-grid{grid-template-columns:1fr;gap:14px}.bounty-card{min-height:280px}.earn-section-heading{flex-direction:column}.earn-total{text-align:left}.earn-account-panel{padding:18px}.earn-referral{padding:22px}.earn-page .hans-powered{flex:auto}.earn-page .portal-topbar{gap:8px}.earn-eyebrow{font-size:9px}}
@media(max-width:600px){.reward-bubble{right:16px;bottom:max(16px,env(safe-area-inset-bottom));gap:14px;padding:22px 38px 22px 18px}.reward-orb{flex-basis:48px;width:48px;height:48px}.reward-bubble-copy strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.reward-bubble,.reward-orb,.reward-orb::after,.reward-spark,.claim-spinner,.earn-total.is-celebrating,.earn-total.is-celebrating .earn-total-delta,.bounty-card[data-celebrating]{animation:none!important}.earn-total.is-celebrating{border-color:#c897ff;box-shadow:0 0 24px #b17bfa33}.earn-total.is-celebrating .earn-total-delta{opacity:1}}

.bounty-reward{display:flex;align-items:center;gap:10px}.bounty-token-logo{display:block;width:48px;height:48px;flex:none;filter:drop-shadow(0 0 10px #9bbdff45)}
