.points-hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:clamp(1.5rem,4vw,3rem);border:1px solid #d9bb7860;border-radius:24px;background:radial-gradient(ellipse at top right,#d8bb7830,transparent 70%),#191d17;margin:2rem 0}.points-kicker{display:block;font-size:.7rem;letter-spacing:.22em;color:#d9bb78}.points-total{display:block;font:500 clamp(4.5rem,15vw,7rem)/1.1 Georgia,serif;color:#f0e8d5;font-variant-numeric:tabular-nums}.points-level{color:#e4c785;font-size:1.15rem}.points-level-detail p{margin:.5rem 0}.points-seal{display:block;font:600 2.5rem Georgia,serif;color:#d9bb78;margin-bottom:1rem}.points-hero progress{display:block;width:100%;height:8px;accent-color:#d9bb78;border:0;border-radius:8px;margin-top:1rem}.points-card{background:#191d17;border:1px solid #ffffff18;border-radius:18px;padding:1.5rem;min-width:0}.points-card h2,.points-card h3{margin:.5rem 0 .7rem}.points-card p{line-height:1.65;color:#bcc1b5}.points-card .button{margin-top:1rem}.points-section{margin:2.5rem 0}.points-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.points-section-heading h2{margin:0}.points-section>p{color:#bcc1b5;line-height:1.6}.points-tasks,.points-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.points-task{display:flex;flex-direction:column;align-items:start}.points-task p{flex:1;margin-top:0}.points-value{font-size:1.1rem;color:#e4c785}.points-done{display:inline-block;color:#d9dcb3;padding:.8rem 0}.points-task.is-complete{border-color:#d9bb7860}.points-badge>span{display:block;font-size:2rem;color:#777c70}.points-badge strong{font-size:.8rem;color:#9a9e92}.points-badge.is-earned>span,.points-badge.is-earned strong{color:#e4c785}.points-history{padding:0;list-style:none}.points-history li{display:grid;grid-template-columns:6.2rem 1fr auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #ffffff12;font-size:.88rem}.points-history time{color:#bcc1b5}.points-history strong{color:#e4c785}.points-rules{font-size:.83rem;max-width:70ch;line-height:1.7}.points-card summary{cursor:pointer;font-weight:600}.points-start{border-color:#d9bb7860}.points-card button:focus-visible,.points-card summary:focus-visible{outline:2px solid #e4c785;outline-offset:5px}@media(max-width:700px){.points-tasks{grid-template-columns:1fr}.points-badges{grid-template-columns:1fr}.points-hero{gap:1rem}.points-hero .points-level-detail{font-size:.85rem}.points-history li{grid-template-columns:5.4rem 1fr auto;gap:.6rem}.points-card{padding:1.3rem}}@media(prefers-reduced-motion:reduce){.points-card *{transition:none!important}}

.points-hero>div{min-width:0}.points-total{overflow-wrap:anywhere}.points-hero progress::-webkit-progress-bar{background:#ffffff20;border-radius:8px}.points-hero progress::-webkit-progress-value{background:#d9bb78;border-radius:8px}.points-hero progress::-moz-progress-bar{background:#d9bb78;border-radius:8px}@media(max-width:700px){.points-total{font-size:clamp(2.6rem,12vw,4.5rem)}}
.points-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.2rem}.points-reward{position:relative;display:flex;flex-direction:column;align-items:start;overflow:hidden}.points-reward>p{flex:1}.points-reward.is-earned{border-color:#d9bb7880;background:linear-gradient(145deg,#d9bb7814,transparent 70%),#191d17}.points-reward-status{display:block;margin:.7rem 0 .3rem;text-transform:uppercase;letter-spacing:.13em;font-size:.65rem;color:#b9bdb1}.points-reward.is-earned .points-reward-status{color:#e4c785}.points-reward progress{width:100%;height:7px;accent-color:#d9bb78}.points-reward .points-remaining{font-size:.85rem;flex:none}.points-wallpaper{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;border:1px solid #d9bb7840;border-radius:10px}.points-community{width:100%}.points-community summary{padding:.8rem 0;line-height:1.5}.points-letter{padding:1.25rem;border-radius:12px;background:linear-gradient(90deg,#0a0b0bf0,#0a0b0bcc),url('/assets/artist-editorial-2026-sharp.webp') center/cover}.points-letter p{font:400 1.05rem/1.8 Georgia,serif;color:#f0e8d5;white-space:pre-line;margin:0}.points-reward .button{white-space:normal;text-align:center;max-width:100%}@media(max-width:1000px){.points-rewards{grid-template-columns:1fr}.points-wallpaper{max-width:640px}.points-letter{min-height:180px;display:flex;align-items:center}.points-letter p{max-width:54ch}}@media(prefers-reduced-motion:no-preference){.points-reward.is-earned{animation:points-reveal .35s ease-out}@keyframes points-reveal{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}}

.points-journey{margin-top:18px;border:1px solid #d7ba8433;border-radius:14px;padding:0 18px}.points-journey>summary{padding:18px 0;cursor:pointer;color:#d7ba84;font-weight:600;min-height:48px}.points-journey>.points-rewards{padding-bottom:18px}.points-rewards{align-items:start}.points-wallpaper{aspect-ratio:3/2;object-fit:cover}
.points-task{position:relative;overflow:hidden;padding-top:3.8rem}.points-task-symbol{position:absolute;right:1.4rem;top:1.1rem;font:400 2.4rem/1 Georgia,serif;color:#d8bd8370}.points-music-task{background:radial-gradient(ellipse at top right,#d4b47720,transparent 70%),#191d17;border-color:#d7ba844f}.points-listen-progress{width:100%;margin:1rem 0 .25rem}.points-listen-progress>span{display:block;color:#e4c785;font-variant-numeric:tabular-nums;font-size:.85rem}.points-listen-progress progress{display:block;width:100%;height:6px;margin:10px 0;accent-color:#d9bb78}.points-listen-progress small{display:block;color:#aeb5a4;line-height:1.6;min-height:2.6em}.points-task .button{width:100%}.points-hero{box-shadow:0 24px 65px #00000020}.points-seal{font-style:italic;border:1px solid #d7ba8440;border-radius:50%;width:76px;height:76px;display:grid;place-items:center;background:#d7ba8408}@media(prefers-reduced-motion:no-preference){.points-task{transition:border-color .2s,transform .2s}.points-task:hover{border-color:#d7ba8480;transform:translateY(-3px)}}
.points-reward .points-download-status{flex:none;min-height:1.6em;font-size:.88rem;line-height:1.6;margin:.7rem 0 0;color:#e4c785;overflow-wrap:anywhere}.points-reward a.button[aria-busy="true"]{opacity:.7;cursor:wait}.points-card a.button:focus-visible{outline:2px solid #e4c785;outline-offset:5px}
