.challenge-celebration{position:absolute;inset:0;z-index:120000;display:flex;align-items:center;justify-content:center;padding:12px;pointer-events:none;cursor:default}
.award-window{--award-accent:#7a124d;position:relative;z-index:1;width:min(458px,100%);max-height:100%;overflow:auto;pointer-events:auto;touch-action:pan-y;border:3px outset #f7f4e4;background:#c0c0c0;color:#181818;box-shadow:7px 8px 0 #0006;font:12px Tahoma,Arial,sans-serif;animation:award-arrive .25s ease-out}
.award-window[data-award-theme=blue]{--award-accent:#123f87}.award-window[data-award-theme=gold]{--award-accent:#81520a}
.award-titlebar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:3px 4px 3px 7px;background:linear-gradient(90deg,#000080,#1684b1);color:white;font-size:11px;text-align:left}
.award-close{display:grid;place-items:center;flex-shrink:0;width:22px;height:21px;padding:0;background:#c0c0c0;color:#111;border:2px outset #eee;font:bold 16px Arial;line-height:1}
.award-content{padding:12px 18px 10px;text-align:center;background:repeating-linear-gradient(135deg,#fff8d4 0 7px,#fffbe4 7px 14px)}
.award-ribbon{display:inline-block;padding:3px 8px;color:#fff;background:var(--award-accent);font:bold 9px Tahoma,Arial,sans-serif;letter-spacing:1.5px}
.award-emblem{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;margin:4px 0 1px}
.award-star{display:inline-grid;place-items:center;width:41px;height:41px;color:#fff4a0;background:linear-gradient(135deg,#eec75c,#a57417);border:2px outset #ffec8d;border-radius:50%;font-size:28px;text-shadow:1px 1px #684516;box-shadow:2px 2px #0002}
.award-seal{border:2px dotted var(--award-accent);padding:5px 8px;color:var(--award-accent);font:bold 18px 'Courier New',monospace;transform:rotate(-4deg)}
.award-content h2{margin:3px 0 7px;color:var(--award-accent);font:bold clamp(18px,2vw,25px)/1.08 'Arial Black',Tahoma,Arial,sans-serif;overflow-wrap:anywhere;text-shadow:1px 1px #fff}
.award-content p{margin:7px 0;font:12px/1.45 Tahoma,Arial,sans-serif}.award-content .award-goal{margin:8px 0 0;color:#615d4a;font-size:10px}
.award-content .award-receipt{background:#e5f5d1;border:1px solid #719154;padding:6px;font:11px 'Courier New',monospace}.award-receipt[hidden]{display:none}
.award-actions{display:flex;align-items:stretch;justify-content:center;gap:7px;margin:10px 0 8px;flex-wrap:wrap}
.award-actions button{min-height:33px;max-width:100%;padding:7px 10px;border:2px outset #f7f7f7;background:#c0c0c0;color:#181818;font:11px Tahoma,Arial,sans-serif;cursor:pointer}
.award-actions .award-claim{background:#fff06f;border-color:#fff9bc;color:#381952;font-weight:bold;box-shadow:0 0 0 1px #6e5931}
.award-actions button:hover{filter:brightness(1.08)}.award-actions button:active,.award-close:active{border-style:inset}.award-window button:focus-visible{outline:2px dotted #151515;outline-offset:-5px}
.award-fine-print{display:block;color:#787258;font:9px/1.4 Tahoma,Arial,sans-serif}.award-claimed .award-star{background:#4c803d;border-color:#aad594}
.award-confetti{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}.award-confetti i{position:absolute;top:-15px;width:7px;height:11px;animation:award-confetti-fall 4s ease-in both}
@keyframes award-arrive{from{transform:translateY(12px) scale(.96);opacity:0}to{transform:none;opacity:1}}
@keyframes award-confetti-fall{0%{transform:translate(0,-10px) rotate(0);opacity:0}8%{opacity:1}85%{opacity:1}100%{transform:translate(var(--drift),var(--fall)) rotate(var(--spin));opacity:0}}
@media(max-width:600px){.challenge-celebration{padding:8px}.award-content{padding:9px 10px}.award-ribbon{font-size:8px;letter-spacing:1px}.award-content h2{font-size:20px}.award-content p{font-size:11px}.award-actions{gap:5px}.award-actions button{font-size:10px}.award-seal{font-size:15px}}
@media(prefers-reduced-motion:reduce){.award-window{animation:none}.award-confetti{display:none}}
