/* Keep the scene open; account progress lives below the artwork. */
:root { --muted:#c0b9ca; }
body { font-family:'Segoe UI Variable','Segoe UI',Arial,sans-serif; font-size:16px; }
.season { max-width:1680px; }
.topbar,.embedded .topbar { min-height:78px; padding:5px 4%; gap:24px; }
.brand { flex-shrink:0; }
.brand-logo { display:block; width:224px; height:66px; object-fit:contain; }
.brand small { display:none; }
.season-date,.embedded .season-date { font-size:13px; letter-spacing:0; }
.tools { gap:16px; }
.tools select { max-width:115px; padding:8px 10px; font-size:14px; }
.hero,.embedded .hero { min-height:460px; padding:40px 5%; display:flex; align-items:center; }
.hero-copy,.embedded .hero-copy { width:48%; max-width:580px; }
.hero h1,.embedded .hero h1 { font-family:'Bahnschrift','Segoe UI Variable Display','Segoe UI',Arial,sans-serif; font-size:clamp(40px,5.5vw,78px); font-weight:800; line-height:1; letter-spacing:-.045em; margin:0 0 24px; }
.hero h1 span { display:block; }
.hero h1 span + span { color:#ffba79; }
.hero-description,.embedded .hero-description { max-width:440px; font-size:16px; line-height:1.6; color:#ded5e3; }
.hero-art,.embedded .hero-art { background-position:center 52%; }
.hero-shade { background:linear-gradient(90deg,#090810dc,#09081070 43%,transparent 66%),linear-gradient(0deg,#0c0b12,transparent 24%); }
.journey,.embedded .journey { margin:0 5%; padding:22px 0; grid-template-columns:1fr 2fr; gap:40px; }
body:not(.embedded) .journey { display:none; }
.score { gap:14px; }
.ember-symbol { font-size:44px; }
.micro { font-size:11px; letter-spacing:.7px; }
.score strong { font-size:34px; font-weight:650; }
.daily-head { font-size:13px; }
.meter { height:5px; }
.daily > .muted { font-size:12px; margin-top:7px; }
.hero-next[hidden] { display:none; }
.hero-actions { margin-top:28px; gap:24px; flex-wrap:wrap; }
.primary { min-height:48px; padding:13px 22px; font-size:14px; border-radius:7px; }
.text-link { font-size:13px; padding:7px 0; }
.hero-next { margin-top:10px; color:#dbc6b2; font-size:12px; line-height:1.6; }
.notice { font-size:13px; margin:10px 4%; line-height:1.7; }
.notice:empty { display:none; }
.collection,.embedded .collection { padding:20px 4% 32px; }
.section-heading { align-items:center; gap:20px; margin-bottom:18px; }
.section-heading h2,.embedded .section-heading h2,.how h2 { font-family:'Segoe UI Variable Display','Segoe UI',Arial,sans-serif; font-size:28px; line-height:1.2; font-weight:700; letter-spacing:-1px; margin:0; }
.section-heading > p { font-size:13px; line-height:1.6; max-width:330px; }
.reward-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.reward.settled,.hero-copy.settled { animation:none!important; }
.reward { padding:14px; border-radius:13px; background:radial-gradient(ellipse at 50% 28%,#33213c70,transparent 70%),linear-gradient(150deg,#1d1726,#100e18); }
.reward[data-reward-art='keeper'] { border-color:#9e77d37a; background:linear-gradient(150deg,#1d1726,#100e18); }
.reward[data-reward-art='keeper'] .reward-art:before { display:none; }
.reward[data-reward-art='guardian'] { border-color:#c7905673; background:radial-gradient(ellipse at 50% 28%,#87422350,transparent 70%),linear-gradient(150deg,#281c21,#100e18); }
.reward-top { font-size:10px; }
.reward-top strong { font-size:11px; }
.reward-art { height:128px; margin:4px 0; }
.reward-art > img { height:90px; width:90px; }
.reward-art .hw-relic,.reward-art .hw-profile { --hw-size:128px; width:128px; height:128px; }
.whisper-art { font-size:25px; }
.reward h3 { font-size:15px; min-height:45px; line-height:1.45; }
.reward-type { font-size:11px; }
.reward-cost { font-size:15px; gap:6px; margin-top:12px; }
.reward-cost small { font-size:11px; }
.reward .reward-action { display:flex; align-items:center; gap:10px; min-height:48px; padding:9px 12px; margin-top:16px; border:1px solid #705b7d; border-radius:10px; background:linear-gradient(145deg,#392c44,#291f34); color:#f3e9fa; box-shadow:inset 0 1px 0 #ffffff0b,0 3px 9px #0002; font-size:14px; font-weight:650; text-align:start; transition:background .18s,border-color .18s,box-shadow .18s; }
.reward-action-label { flex:1; min-width:0; overflow-wrap:anywhere; line-height:1.35; }
.reward-action-icon { flex:0 0 26px; width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:#be97db18; color:#dcc2f0; }
.reward-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.reward-action .reward-action-arrow { flex:0 0 16px; width:16px; height:16px; color:#c0a8d0; transition:transform .18s; }
.reward-action .action-check,.reward-action .action-gift { display:none; }
.reward .reward-action:hover:not(:disabled) { background:linear-gradient(145deg,#4b3859,#35283f); border-color:#b998cf; box-shadow:inset 0 1px 0 #ffffff14,0 4px 14px #0003; }
.reward-action:hover:not(:disabled) .reward-action-arrow { transform:translateX(2px); }
.reward .reward-action:focus-visible { outline:2px solid #ffc88e; outline-offset:3px; }
.reward .reward-action:active:not(:disabled) { box-shadow:inset 0 2px 5px #0004; }
.reward .reward-action[data-state='claimed'] { background:linear-gradient(145deg,#233a33,#1b2c28); border-color:#506f5d; color:#d5efd7; }
.reward-action[data-state='claimed'] .reward-action-icon { border-radius:50%; background:#9cdaa024; color:#b5e5b7; }
.reward-action[data-state='claimed'] .reward-action-arrow { color:#9cbaa7; }
.reward .reward-action[data-state='claimed']:hover:not(:disabled) { background:linear-gradient(145deg,#304c3f,#253b32); border-color:#88b592; }
.reward-action[data-state='claimed'] .action-eye,.reward-action[data-state='claim'] .action-eye { display:none; }
.reward-action[data-state='claimed'] .action-check,.reward-action[data-state='claim'] .action-gift { display:block; }
.reward .reward-action[data-state='claim'] { background:linear-gradient(120deg,#ffd096,#eea05c); color:#301b0f; border-color:#ffdaaa; }
.reward-action[data-state='claim'] .reward-action-icon { background:#69381118; color:#713d1d; }
.reward-action[data-state='claim'] .reward-action-arrow { color:#713d1d; }
.reward .reward-action[data-state='claim']:hover:not(:disabled) { background:linear-gradient(120deg,#ffdeb5,#ffb875); border-color:#fff0d9; }
.reward .reward-action:disabled { opacity:.55; cursor:wait; }
.how { margin:0 4%; grid-template-columns:1fr 1.2fr; padding:32px 0 42px; gap:60px; }
.eyebrow { font-size:11px; letter-spacing:2px; line-height:1.6; }
.how h2 { margin-top:10px; }
.how-intro p { max-width:430px; font-size:15px; line-height:1.8; }
.steps article { padding-bottom:22px; margin-bottom:22px; gap:22px; }
.steps article > span { font-size:14px; }
.steps h3 { font-size:17px; line-height:1.5; }
.steps p { font-size:14px; line-height:1.8; }
footer,.embedded footer { font-size:11px; padding:22px 4%; }
dialog { width:min(480px,calc(100vw - 32px)); padding:32px; }
dialog .eyebrow { font-size:11px; }
dialog h2 { font-family:'Segoe UI',Arial,sans-serif; font-weight:700; font-size:28px; }
dialog p { font-size:14px; }
.large-art { height:238px; }
.large-art .hw-relic,.large-art .hw-profile { --hw-size:224px; width:224px; height:224px; }
.large-art .hw-avatar { font-size:52px; }
@media(max-width:1100px) {
 .hero,.embedded .hero { min-height:420px; }
 .hero-actions { gap:12px; }
 .reward-grid { gap:10px; }
 .reward { padding:11px; }
 .reward h3 { font-size:14px; }
 .reward-art .hw-relic,.reward-art .hw-profile { --hw-size:112px; width:112px; height:112px; }
 .reward-art { height:112px; }
 .whisper-art { font-size:22px; }
}
@media(max-width:900px) {
 .hero,.embedded .hero { padding:30px 4%; }
 .hero-copy,.embedded .hero-copy { width:52%; }
 .hero h1,.embedded .hero h1 { font-size:44px; }
 .hero-description,.embedded .hero-description { font-size:14px; }
 .journey,.embedded .journey { grid-template-columns:1fr 2fr; }
 .reward-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .reward h3 { min-height:42px; }
 .section-heading { gap:18px; }
 .section-heading h2,.embedded .section-heading h2 { font-size:25px; }
}
@media(max-width:650px) {
 .reward .reward-action { padding:9px 10px; gap:8px; font-size:13px; }
 .reward-action .reward-action-arrow { display:none; }
 .topbar,.embedded .topbar { min-height:65px; padding:5px 4%; gap:10px; }
 .brand-logo { width:150px; height:52px; }
 .season-date { display:none; }
 .tools { gap:8px; }
 .tools select { max-width:90px; font-size:12px; }
 .hero-copy,.embedded .hero-copy { width:100%; max-width:none; }
 .hero h1,.embedded .hero h1 { font-size:42px; margin-bottom:16px; }
 .hero-description,.embedded .hero-description { max-width:300px; font-size:14px; }
 .hero,.embedded .hero { min-height:600px; padding:270px 6% 28px; align-items:flex-end; }
 .hero-art,.embedded .hero-art { background-size:auto 400px; background-position:76% top; }
 .journey,.embedded .journey { gap:15px; grid-template-columns:.8fr 1.2fr; }
 .score strong { font-size:26px; }
 .micro { font-size:10px; }
 .daily-head { font-size:11px; }
 .hero-actions { gap:12px; }
 .primary { font-size:13px; padding:10px 13px; }
 .text-link { font-size:12px; }
 .collection,.embedded .collection { padding:18px 4% 28px; }
 .section-heading { display:block; margin-bottom:15px; }
 .section-heading > p { display:none; }
 .section-heading h2,.embedded .section-heading h2 { font-size:24px; }
 .reward-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .reward { padding:13px; }
 .reward:last-child { grid-column:auto; display:block; }
 .reward:last-child .reward-art { height:128px; }
 .reward:last-child h3 { padding-top:0; }
 .reward-art { height:128px; }
 .reward-art .hw-relic,.reward-art .hw-profile { --hw-size:128px; width:128px; height:128px; }
 .how { grid-template-columns:1fr; gap:26px; }
 .hero-shade { background:linear-gradient(0deg,#0c0b12 15%,#0c0b12e8 35%,transparent 72%); }
}
@media(max-width:360px) {
 .brand-logo { width:122px; }
 .hero h1,.embedded .hero h1 { font-size:30px; }
 .reward { padding:10px; }
 .reward-art .hw-relic,.reward-art .hw-profile { --hw-size:108px; width:108px; height:108px; }
}
