.reward-canvas{position:fixed;inset:0;z-index:60;pointer-events:none}.reward-toast-layer{position:fixed;inset:0;z-index:61;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding-top:72px;pointer-events:none}.reward-toast{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--bg-raised);box-shadow:0 10px 28px #00000059;color:var(--text);font-size:14px;font-weight:600;white-space:nowrap;animation:reward-toast-in .52s ease-out both}.reward-toast-xp{color:var(--accent);font-variant-numeric:tabular-nums}.reward-toast-note{color:var(--text-dim);font-size:12px;font-weight:400}.reward-toast-guest{pointer-events:auto;gap:10px}.reward-toast-save{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}.reward-toast-save:hover,.reward-toast-save:focus-visible{text-decoration:underline}.reward-toast.leaving{animation:reward-toast-out .26s ease-in both}@keyframes reward-toast-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:none}}@keyframes reward-toast-out{to{opacity:0;transform:translateY(-8px)}}.reward-scrim{position:fixed;inset:0;z-index:62;display:grid;place-items:center;padding:20px;background:var(--scrim, rgba(6, 8, 12, .66))}.reward-card{width:min(360px,100%);padding:24px 22px 18px;border:1px solid var(--line-strong);border-radius:14px;background:var(--bg-panel);box-shadow:0 24px 60px #00000073;text-align:center;color:var(--text);animation:reward-card-in .24s ease-out both}.reward-card-art{display:grid;place-items:center;margin-bottom:12px;color:var(--text-faint)}.reward-card-eyebrow{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.reward-card h2{margin:0 0 8px;font-size:20px;line-height:1.2}.reward-card p{margin:0 0 16px;color:var(--text-dim);font-size:13px;line-height:1.6}.reward-card button{width:100%;padding:9px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.reward-card button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.reward-card button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reward-card-actions{display:flex;flex-direction:column;gap:8px}.reward-card-signin{padding:4px;color:var(--accent);font-size:12px;font-weight:600;text-decoration:none;text-align:center}.reward-card-signin:hover,.reward-card-signin:focus-visible{text-decoration:underline}@keyframes reward-card-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}.reward-level-ring{color:var(--accent)}.reward-sound{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--line-strong);border-radius:999px;background:none;color:var(--text-faint);font:inherit;font-size:11px;cursor:pointer}.reward-sound:hover{background:var(--bg-hover);color:var(--text)}.reward-sound:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reward-sound[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}@media(prefers-reduced-motion:reduce){.reward-toast,.reward-card,.reward-toast.leaving{animation:none}}:root{--badge-bronze: #c98a58;--badge-silver: #aab4c3;--badge-gold: #e3b43c}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--badge-bronze: #a0602c;--badge-silver: #7c8697;--badge-gold: #b28310}}:root[data-theme=light]{--badge-bronze: #a0602c;--badge-silver: #7c8697;--badge-gold: #b28310}.progress-pop{position:fixed;z-index:63;padding:3px 10px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-panel));box-shadow:0 4px 14px #0000001f;transform:translate(-50%,-50%);color:var(--accent);font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;animation:progress-pop 3s cubic-bezier(.25,.1,.25,1) both}.progress-pop.still{animation-name:progress-pop-still}@keyframes progress-pop{0%{opacity:0;transform:translate(-50%,-20%)}18%{opacity:1;transform:translate(-50%,-70%)}75%{opacity:1;transform:translate(-50%,-110%)}to{opacity:0;transform:translate(-50%,-140%)}}@keyframes progress-pop-still{0%,to{opacity:0}15%,80%{opacity:1}}.progress-burst{position:fixed;left:50%;top:42%;z-index:61;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid var(--accent);border-radius:50%;pointer-events:none;animation:progress-burst .76s ease-out both}@keyframes progress-burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(14)}}.progress-badge-flip{perspective:600px}.progress-badge-flip>svg{animation:progress-flip .62s cubic-bezier(.2,.7,.2,1) both}@keyframes progress-flip{0%{transform:rotateY(-180deg) scale(.7);opacity:0}60%{opacity:1}to{transform:rotateY(0) scale(1)}}.progress-level-art>svg{animation:progress-rise .48s cubic-bezier(.2,.9,.3,1.3) both}@keyframes progress-rise{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.reward-card-note{color:var(--accent)!important;font-weight:600}.reward-card .reward-card-share{background:none;color:var(--accent)}.reward-card .reward-card-share:hover{background:var(--accent-soft);color:var(--accent)}.progress-next{max-width:min(440px,calc(100vw - 32px));padding:6px 12px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--line-strong);color:var(--text-dim);font-size:12px;white-space:normal;text-align:center;animation:reward-toast-in .42s ease-out both}.progress-next.leaving{animation:reward-toast-out .26s ease-in both}.progress-offer{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--bg-raised);color:var(--text);font-size:13px;font-weight:600;pointer-events:auto;box-shadow:0 10px 28px #00000059}.progress-offer-btn{padding:5px 12px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:12px;cursor:pointer}.progress-offer-close{width:26px;height:26px;border:none;border-radius:50%;background:none;color:var(--text-faint);font-size:16px;cursor:pointer}.progress-offer-btn:focus-visible,.progress-offer-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.progress-page{display:grid;gap:18px}.progress-card{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--bg-panel)}.progress-card h2{margin:0 0 12px;font-size:18px}.progress-card-sub{margin:-6px 0 14px;color:var(--text-dim);font-size:13px}.progress-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.progress-hero-title{margin:0;font-size:24px;line-height:1.2}.progress-hero-line{margin:4px 0 10px;color:var(--text-dim);font-size:14px}.progress-bar{position:relative;height:10px;overflow:hidden;border-radius:999px;background:var(--line)}.progress-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--accent);transition:width .6s ease-out}.progress-bar.small{height:6px}.progress-stats{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;color:var(--text-dim);font-size:13px}.progress-stats strong{color:var(--text)}.progress-goal{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:14px;font-weight:600}.progress-quests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.progress-quest{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg-raised)}.progress-quest.done{border-color:var(--accent)}.progress-quest-top{display:flex;justify-content:space-between;gap:8px;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.progress-quest-double{color:var(--accent)}.progress-quest-text{margin:0;font-size:14px;font-weight:600}.progress-quest-count{color:var(--text-dim);font-size:12px}.progress-quest-bonus{margin:12px 0 0;color:var(--text-dim);font-size:13px}.progress-badge-group{margin:18px 0 8px;color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.progress-badge-group:first-of-type{margin-top:0}.progress-tracks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.progress-track{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-raised);color:var(--text-faint)}.progress-track-name{margin:0;color:var(--text);font-size:14px;font-weight:700}.progress-track-line{margin:2px 0 6px;color:var(--text-dim);font-size:12px}.progress-tiers{display:flex;gap:4px;margin-top:6px}.progress-hidden{display:flex;flex-wrap:wrap;gap:10px;color:var(--text-faint)}.progress-hidden-item{display:grid;justify-items:center;gap:4px;width:92px;text-align:center;font-size:11px}.progress-league-table{width:100%;border-collapse:collapse;font-size:14px}.progress-league-table th,.progress-league-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.progress-league-table th{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.progress-league-table td.num,.progress-league-table th.num{text-align:right;font-variant-numeric:tabular-nums}.progress-league-table tr.you td{background:var(--accent-soft);font-weight:700}.progress-league-table tr.podium td:first-child{color:var(--accent);font-weight:800}.progress-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.progress-note{margin:8px 0 0;color:var(--text-dim);font-size:13px;line-height:1.6}@media(max-width:720px){.progress-quests{grid-template-columns:1fr}.progress-hero{grid-template-columns:1fr;justify-items:start}.progress-card{padding:16px}}@media(prefers-reduced-motion:reduce){.progress-burst{display:none}.progress-badge-flip>svg,.progress-level-art>svg,.progress-next,.progress-next.leaving{animation:none}.progress-bar-fill{transition:none}}.progress-pending>*{visibility:hidden}.progress-pending{background-image:linear-gradient(var(--line),var(--line)),linear-gradient(var(--line),var(--line));background-size:min(320px,60%) 14px,min(200px,35%) 14px;background-position:20px 24px,20px 50px;background-repeat:no-repeat}
