.reward-dialog{width:min(440px,92vw);max-height:92vh;overflow:auto;padding:30px;border:5px solid #d1ae70;border-radius:28px;text-align:center;color:#26383c;background:#fffaf0;box-shadow:0 20px 70px rgba(29,52,49,.4)}.reward-dialog::backdrop{background:rgba(23,57,59,.62);backdrop-filter:blur(4px)}.reward-dialog h2{margin:7px 0;font-size:34px}.reward-peb{width:62px;height:62px;margin:auto;display:grid;place-items:center;border-radius:48% 52% 45% 55%;background:linear-gradient(145deg,#ffe48f,#e9ad43);color:#654b23;border:4px solid #ca8d2d;box-shadow:inset 0 2px 2px #fff5c7,0 3px 0 #9c6c28;font-size:29px;font-weight:1000;transform:rotate(-6deg)}.reward-peb.success{border-radius:50%;background:#79ba83;border-color:#5b9967;color:white;transform:none}.reward-lesson{display:grid;gap:4px;padding:13px 15px;border-radius:15px;background:#eaf6f1;color:#44645e}.reward-lesson span{font-size:13px;line-height:1.4}.reward-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.reward-card{display:grid;gap:3px;padding:13px;border:3px solid;border-radius:18px}.reward-card>span{font-size:25px}.reward-card small{font-size:10px;letter-spacing:.09em;font-weight:1000}.reward-card strong{font-size:31px}.reward-card em{font-size:10px;font-style:normal}.reward-card.spend{background:#fff0d4;border-color:#ecc482}.reward-card.save{background:#e1f1ee;border-color:#8bc4b9}.reward-slider{display:grid;gap:10px;text-align:left;color:#64716e;font-size:12px;font-weight:900}.reward-slider input{width:100%;height:13px;appearance:none;border-radius:99px;background:linear-gradient(90deg,#75b9aa 0 var(--saved-percent),#f0d59c var(--saved-percent) 100%);outline:none}.reward-slider input::-webkit-slider-thumb{appearance:none;width:31px;height:31px;border-radius:50%;background:#fff;border:5px solid #ef768f;box-shadow:0 3px 7px #9b8974;cursor:grab}.reward-check{font-size:12px;color:#63706d}.reward-confirm{width:100%;padding:14px;border:0;border-radius:999px;background:#f6758e;color:white;box-shadow:0 5px 0 #c94e68;font-weight:1000;cursor:pointer}.reward-balances{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.reward-balances div{display:grid;gap:5px;padding:14px;border-radius:16px;background:#eef6f2}.reward-balances small{font-size:9px;color:#687875;font-weight:900}.reward-balances strong{font-size:28px}.reward-actions{display:grid;gap:10px}.reward-actions a,.reward-actions button{padding:13px;border:0;border-radius:999px;text-decoration:none;font-weight:900;cursor:pointer}.reward-actions .primary{background:#f6758e;color:white}.reward-actions button,.reward-actions a:not(.primary){background:#e9efea;color:#536765}
.reward-impact{margin:0 0 14px;padding:11px 13px;border:2px dashed #d6b75f;border-radius:14px;background:#fff5c9;color:#665a38;font-size:16px;font-weight:900;line-height:1.35}

.allocation-question{margin:12px 0 9px;color:#3e504c;font-size:clamp(20px,2.4vw,24px);font-weight:1000;line-height:1.15}.save-choice-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px 0 13px}.save-choice-options button{display:grid;place-items:center;gap:1px;min-height:62px;padding:8px;border:3px solid #c9b58d;border-radius:16px;background:#fffdf7;color:#3e504c;box-shadow:0 4px 0 #a9936f;font-weight:1000;cursor:pointer}.save-choice-options button small{font-size:11px;letter-spacing:.08em}.save-choice-options button strong{font-size:clamp(19px,2.2vw,24px)}.save-choice-options button:hover,.save-choice-options button:focus-visible{outline:3px solid #efc45b;outline-offset:2px;transform:translateY(-2px)}.save-choice-options button[aria-pressed="true"]{border-color:#4f9b83;background:#dff3e7;box-shadow:0 4px 0 #3f806c,0 0 0 4px rgba(79,155,131,.18);color:#285c4e}.reward-confirm:disabled{background:#bbb5a9;box-shadow:none;color:#f8f5ed;cursor:not-allowed}.reward-check{min-height:24px;font-size:17px;font-weight:950}.reward-dialog .learning-reflection{margin-top:10px}.reward-dialog .learning-reflection legend{font-size:21px}.reward-dialog .learning-reflection label{font-size:17px}
@media(max-width:520px){.save-choice-options{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-dialog{padding:22px}.reward-card{padding:9px}.reward-dialog h2{font-size:29px}}

.festival-unlock-banner{margin:16px 0;padding:16px;border-radius:18px;background:#fff0c6;border:1px solid #b99248;color:#4b3c22}
.festival-unlock-banner strong{font-size:1.2rem}.festival-unlock-banner p{margin:8px 0}.festival-unlock-banner a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:#315b40;color:#fff8e5;border-radius:16px;font-weight:750;text-decoration:none}
